diff --git a/VERSION b/VERSION index 033a2cd7f1f..d08a73e054c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.241 \ No newline at end of file +1.11.242 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedConnector.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedConnector.h index 9c844646917..591a38909b8 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedConnector.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedConnector.h @@ -549,6 +549,61 @@ namespace Model */ inline DescribedConnector& WithSftpConfig(SftpConnectorConfig&& value) { SetSftpConfig(std::move(value)); return *this;} + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline const Aws::Vector& GetServiceManagedEgressIpAddresses() const{ return m_serviceManagedEgressIpAddresses; } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline bool ServiceManagedEgressIpAddressesHasBeenSet() const { return m_serviceManagedEgressIpAddressesHasBeenSet; } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline void SetServiceManagedEgressIpAddresses(const Aws::Vector& value) { m_serviceManagedEgressIpAddressesHasBeenSet = true; m_serviceManagedEgressIpAddresses = value; } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline void SetServiceManagedEgressIpAddresses(Aws::Vector&& value) { m_serviceManagedEgressIpAddressesHasBeenSet = true; m_serviceManagedEgressIpAddresses = std::move(value); } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline DescribedConnector& WithServiceManagedEgressIpAddresses(const Aws::Vector& value) { SetServiceManagedEgressIpAddresses(value); return *this;} + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline DescribedConnector& WithServiceManagedEgressIpAddresses(Aws::Vector&& value) { SetServiceManagedEgressIpAddresses(std::move(value)); return *this;} + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline DescribedConnector& AddServiceManagedEgressIpAddresses(const Aws::String& value) { m_serviceManagedEgressIpAddressesHasBeenSet = true; m_serviceManagedEgressIpAddresses.push_back(value); return *this; } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline DescribedConnector& AddServiceManagedEgressIpAddresses(Aws::String&& value) { m_serviceManagedEgressIpAddressesHasBeenSet = true; m_serviceManagedEgressIpAddresses.push_back(std::move(value)); return *this; } + + /** + *

The list of egress IP addresses of this connector. These IP addresses are + * assigned automatically when you create the connector.

+ */ + inline DescribedConnector& AddServiceManagedEgressIpAddresses(const char* value) { m_serviceManagedEgressIpAddressesHasBeenSet = true; m_serviceManagedEgressIpAddresses.push_back(value); return *this; } + private: Aws::String m_arn; @@ -574,6 +629,9 @@ namespace Model SftpConnectorConfig m_sftpConfig; bool m_sftpConfigHasBeenSet = false; + + Aws::Vector m_serviceManagedEgressIpAddresses; + bool m_serviceManagedEgressIpAddressesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedServer.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedServer.h index e25df4d9538..af7bd692525 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedServer.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedServer.h @@ -1575,6 +1575,88 @@ namespace Model */ inline DescribedServer& WithS3StorageOptions(S3StorageOptions&& value) { SetS3StorageOptions(std::move(value)); return *this;} + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline const Aws::Vector& GetAs2ServiceManagedEgressIpAddresses() const{ return m_as2ServiceManagedEgressIpAddresses; } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline bool As2ServiceManagedEgressIpAddressesHasBeenSet() const { return m_as2ServiceManagedEgressIpAddressesHasBeenSet; } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline void SetAs2ServiceManagedEgressIpAddresses(const Aws::Vector& value) { m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; m_as2ServiceManagedEgressIpAddresses = value; } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline void SetAs2ServiceManagedEgressIpAddresses(Aws::Vector&& value) { m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; m_as2ServiceManagedEgressIpAddresses = std::move(value); } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline DescribedServer& WithAs2ServiceManagedEgressIpAddresses(const Aws::Vector& value) { SetAs2ServiceManagedEgressIpAddresses(value); return *this;} + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline DescribedServer& WithAs2ServiceManagedEgressIpAddresses(Aws::Vector&& value) { SetAs2ServiceManagedEgressIpAddresses(std::move(value)); return *this;} + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline DescribedServer& AddAs2ServiceManagedEgressIpAddresses(const Aws::String& value) { m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; m_as2ServiceManagedEgressIpAddresses.push_back(value); return *this; } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline DescribedServer& AddAs2ServiceManagedEgressIpAddresses(Aws::String&& value) { m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; m_as2ServiceManagedEgressIpAddresses.push_back(std::move(value)); return *this; } + + /** + *

The list of egress IP addresses of this server. These IP addresses are only + * relevant for servers that use the AS2 protocol. They are used for sending + * asynchronous MDNs.

These IP addresses are assigned automatically when you + * create an AS2 server. Additionally, if you update an existing server and add the + * AS2 protocol, static IP addresses are assigned as well.

+ */ + inline DescribedServer& AddAs2ServiceManagedEgressIpAddresses(const char* value) { m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; m_as2ServiceManagedEgressIpAddresses.push_back(value); return *this; } + private: Aws::String m_arn; @@ -1639,6 +1721,9 @@ namespace Model S3StorageOptions m_s3StorageOptions; bool m_s3StorageOptionsHasBeenSet = false; + + Aws::Vector m_as2ServiceManagedEgressIpAddresses; + bool m_as2ServiceManagedEgressIpAddressesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityProviderDetails.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityProviderDetails.h index 72a5abfb0dd..ced50055b01 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityProviderDetails.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/IdentityProviderDetails.h @@ -139,50 +139,50 @@ namespace Model /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline const Aws::String& GetDirectoryId() const{ return m_directoryId; } /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline bool DirectoryIdHasBeenSet() const { return m_directoryIdHasBeenSet; } /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline void SetDirectoryId(const Aws::String& value) { m_directoryIdHasBeenSet = true; m_directoryId = value; } /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline void SetDirectoryId(Aws::String&& value) { m_directoryIdHasBeenSet = true; m_directoryId = std::move(value); } /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline void SetDirectoryId(const char* value) { m_directoryIdHasBeenSet = true; m_directoryId.assign(value); } /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline IdentityProviderDetails& WithDirectoryId(const Aws::String& value) { SetDirectoryId(value); return *this;} /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline IdentityProviderDetails& WithDirectoryId(Aws::String&& value) { SetDirectoryId(std::move(value)); return *this;} /** - *

The identifier of the Directory Service directory that you want to stop - * sharing.

+ *

The identifier of the Directory Service directory that you want to use as + * your identity provider.

*/ inline IdentityProviderDetails& WithDirectoryId(const char* value) { SetDirectoryId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedConnector.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedConnector.cpp index eee09812af3..f43b1fd6c35 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedConnector.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedConnector.cpp @@ -26,7 +26,8 @@ DescribedConnector::DescribedConnector() : m_accessRoleHasBeenSet(false), m_loggingRoleHasBeenSet(false), m_tagsHasBeenSet(false), - m_sftpConfigHasBeenSet(false) + m_sftpConfigHasBeenSet(false), + m_serviceManagedEgressIpAddressesHasBeenSet(false) { } @@ -38,7 +39,8 @@ DescribedConnector::DescribedConnector(JsonView jsonValue) : m_accessRoleHasBeenSet(false), m_loggingRoleHasBeenSet(false), m_tagsHasBeenSet(false), - m_sftpConfigHasBeenSet(false) + m_sftpConfigHasBeenSet(false), + m_serviceManagedEgressIpAddressesHasBeenSet(false) { *this = jsonValue; } @@ -104,6 +106,16 @@ DescribedConnector& DescribedConnector::operator =(JsonView jsonValue) m_sftpConfigHasBeenSet = true; } + if(jsonValue.ValueExists("ServiceManagedEgressIpAddresses")) + { + Aws::Utils::Array serviceManagedEgressIpAddressesJsonList = jsonValue.GetArray("ServiceManagedEgressIpAddresses"); + for(unsigned serviceManagedEgressIpAddressesIndex = 0; serviceManagedEgressIpAddressesIndex < serviceManagedEgressIpAddressesJsonList.GetLength(); ++serviceManagedEgressIpAddressesIndex) + { + m_serviceManagedEgressIpAddresses.push_back(serviceManagedEgressIpAddressesJsonList[serviceManagedEgressIpAddressesIndex].AsString()); + } + m_serviceManagedEgressIpAddressesHasBeenSet = true; + } + return *this; } @@ -164,6 +176,17 @@ JsonValue DescribedConnector::Jsonize() const } + if(m_serviceManagedEgressIpAddressesHasBeenSet) + { + Aws::Utils::Array serviceManagedEgressIpAddressesJsonList(m_serviceManagedEgressIpAddresses.size()); + for(unsigned serviceManagedEgressIpAddressesIndex = 0; serviceManagedEgressIpAddressesIndex < serviceManagedEgressIpAddressesJsonList.GetLength(); ++serviceManagedEgressIpAddressesIndex) + { + serviceManagedEgressIpAddressesJsonList[serviceManagedEgressIpAddressesIndex].AsString(m_serviceManagedEgressIpAddresses[serviceManagedEgressIpAddressesIndex]); + } + payload.WithArray("ServiceManagedEgressIpAddresses", std::move(serviceManagedEgressIpAddressesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedServer.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedServer.cpp index c195c0c7528..52ebdcdb77a 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedServer.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedServer.cpp @@ -44,7 +44,8 @@ DescribedServer::DescribedServer() : m_userCountHasBeenSet(false), m_workflowDetailsHasBeenSet(false), m_structuredLogDestinationsHasBeenSet(false), - m_s3StorageOptionsHasBeenSet(false) + m_s3StorageOptionsHasBeenSet(false), + m_as2ServiceManagedEgressIpAddressesHasBeenSet(false) { } @@ -74,7 +75,8 @@ DescribedServer::DescribedServer(JsonView jsonValue) : m_userCountHasBeenSet(false), m_workflowDetailsHasBeenSet(false), m_structuredLogDestinationsHasBeenSet(false), - m_s3StorageOptionsHasBeenSet(false) + m_s3StorageOptionsHasBeenSet(false), + m_as2ServiceManagedEgressIpAddressesHasBeenSet(false) { *this = jsonValue; } @@ -237,6 +239,16 @@ DescribedServer& DescribedServer::operator =(JsonView jsonValue) m_s3StorageOptionsHasBeenSet = true; } + if(jsonValue.ValueExists("As2ServiceManagedEgressIpAddresses")) + { + Aws::Utils::Array as2ServiceManagedEgressIpAddressesJsonList = jsonValue.GetArray("As2ServiceManagedEgressIpAddresses"); + for(unsigned as2ServiceManagedEgressIpAddressesIndex = 0; as2ServiceManagedEgressIpAddressesIndex < as2ServiceManagedEgressIpAddressesJsonList.GetLength(); ++as2ServiceManagedEgressIpAddressesIndex) + { + m_as2ServiceManagedEgressIpAddresses.push_back(as2ServiceManagedEgressIpAddressesJsonList[as2ServiceManagedEgressIpAddressesIndex].AsString()); + } + m_as2ServiceManagedEgressIpAddressesHasBeenSet = true; + } + return *this; } @@ -381,6 +393,17 @@ JsonValue DescribedServer::Jsonize() const } + if(m_as2ServiceManagedEgressIpAddressesHasBeenSet) + { + Aws::Utils::Array as2ServiceManagedEgressIpAddressesJsonList(m_as2ServiceManagedEgressIpAddresses.size()); + for(unsigned as2ServiceManagedEgressIpAddressesIndex = 0; as2ServiceManagedEgressIpAddressesIndex < as2ServiceManagedEgressIpAddressesJsonList.GetLength(); ++as2ServiceManagedEgressIpAddressesIndex) + { + as2ServiceManagedEgressIpAddressesJsonList[as2ServiceManagedEgressIpAddressesIndex].AsString(m_as2ServiceManagedEgressIpAddresses[as2ServiceManagedEgressIpAddressesIndex]); + } + payload.WithArray("As2ServiceManagedEgressIpAddresses", std::move(as2ServiceManagedEgressIpAddressesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/EvaluationNote.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/EvaluationNote.h index 6676b1261c4..554f850e835 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/EvaluationNote.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/EvaluationNote.h @@ -40,41 +40,73 @@ namespace Model /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline EvaluationNote& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline EvaluationNote& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The note for an item (section or question) in a contact evaluation.

+ *

Even though a note in an evaluation can have up to 3072 chars, there + * is also a limit on the total number of chars for all the notes in the evaluation + * combined. Assuming there are N questions in the evaluation being submitted, then + * the max char limit for all notes combined is N x 1024.

*/ inline EvaluationNote& WithValue(const char* value) { SetValue(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetCurrentMetricDataRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetCurrentMetricDataRequest.h index fd3b6c2f2f2..04c9e29457e 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetCurrentMetricDataRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetCurrentMetricDataRequest.h @@ -98,10 +98,12 @@ namespace Model *

The filters to apply to returned metrics. You can filter up to the following * limits:

  • Queues: 100

  • Routing profiles: 100

    *
  • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

    - *

Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline const Filters& GetFilters() const{ return m_filters; } @@ -110,10 +112,12 @@ namespace Model *

    The filters to apply to returned metrics. You can filter up to the following * limits:

    • Queues: 100

    • Routing profiles: 100

      *
    • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

      - *

    Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

    Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } @@ -122,10 +126,12 @@ namespace Model *

    The filters to apply to returned metrics. You can filter up to the following * limits:

    • Queues: 100

    • Routing profiles: 100

      *
    • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

      - *

    Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

    Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline void SetFilters(const Filters& value) { m_filtersHasBeenSet = true; m_filters = value; } @@ -134,10 +140,12 @@ namespace Model *

    The filters to apply to returned metrics. You can filter up to the following * limits:

    • Queues: 100

    • Routing profiles: 100

      *
    • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

      - *

    Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

    Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline void SetFilters(Filters&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } @@ -146,10 +154,12 @@ namespace Model *

    The filters to apply to returned metrics. You can filter up to the following * limits:

    • Queues: 100

    • Routing profiles: 100

      *
    • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

      - *

    Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

    Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline GetCurrentMetricDataRequest& WithFilters(const Filters& value) { SetFilters(value); return *this;} @@ -158,10 +168,12 @@ namespace Model *

    The filters to apply to returned metrics. You can filter up to the following * limits:

    • Queues: 100

    • Routing profiles: 100

      *
    • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

      - *

    Metric data is retrieved only for the resources associated with - * the queues or routing profiles, and by any channels included in the filter. (You - * cannot filter by both queue AND routing profile.) You can include both resource - * IDs and resource ARNs in the same request.

    Currently tagging is only + *

  • RoutingStepExpressions: 50

  • Metric data is + * retrieved only for the resources associated with the queues or routing profiles, + * and by any channels included in the filter. (You cannot filter by both queue AND + * routing profile.) You can include both resource IDs and resource ARNs in the + * same request.

    When using RoutingStepExpression, you need to + * pass exactly one QueueId.

    Currently tagging is only * supported on the resources that are passed in the filter.

    */ inline GetCurrentMetricDataRequest& WithFilters(Filters&& value) { SetFilters(std::move(value)); return *this;} @@ -177,7 +189,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline const Aws::Vector& GetGroupings() const{ return m_groupings; } @@ -191,7 +205,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline bool GroupingsHasBeenSet() const { return m_groupingsHasBeenSet; } @@ -205,7 +221,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline void SetGroupings(const Aws::Vector& value) { m_groupingsHasBeenSet = true; m_groupings = value; } @@ -219,7 +237,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline void SetGroupings(Aws::Vector&& value) { m_groupingsHasBeenSet = true; m_groupings = std::move(value); } @@ -233,7 +253,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline GetCurrentMetricDataRequest& WithGroupings(const Aws::Vector& value) { SetGroupings(value); return *this;} @@ -247,7 +269,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline GetCurrentMetricDataRequest& WithGroupings(Aws::Vector&& value) { SetGroupings(std::move(value)); return *this;} @@ -261,7 +285,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline GetCurrentMetricDataRequest& AddGroupings(const Grouping& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(value); return *this; } @@ -275,7 +301,9 @@ namespace Model * filter. In addition, a routing profile filter is required for metrics * CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and * OLDEST_CONTACT_AGE.

  • If no Grouping is - * included in the request, a summary of metrics is returned.

  • + * included in the request, a summary of metrics is returned.

  • + *

    When using the RoutingStepExpression filter, group by + * ROUTING_STEP_EXPRESSION is required.

  • */ inline GetCurrentMetricDataRequest& AddGroupings(Grouping&& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(std::move(value)); return *this; } @@ -320,8 +348,13 @@ namespace Model * you do not use groupings, Unit says SECONDS but the Value is returned in * MILLISECONDS. For example, if you get a response like this:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report:

    { * "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 - * }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    Name in - * real-time metrics report: }

    The actual OLDEST_CONTACT_AGE is 24 seconds.

    When the + * filter RoutingStepExpression is used, this metric is still + * calculated from enqueue time. For example, if a contact that has been queued + * under <Expression 1> for 10 seconds has expired and + * <Expression 2> becomes active, then + * OLDEST_CONTACT_AGE for this queue will be counted starting from 10, + * not 0.

    Name in real-time metrics report: Oldest *

    SLOTS_ACTIVE

    Unit: COUNT

    Name in real-time * metrics report: The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -218,7 +220,9 @@ namespace Model *

    The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -228,7 +232,9 @@ namespace Model *

    The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -238,7 +244,9 @@ namespace Model *

    The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -248,7 +256,9 @@ namespace Model *

    The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -258,7 +268,9 @@ namespace Model *

    The queues, up to 100, or channels, to use to filter the metrics returned. * Metric data is retrieved only for the resources associated with the queues or * channels included in the filter. You can include both queue IDs and queue ARNs - * in the same request. VOICE, CHAT, and TASK channels are supported.

    + * in the same request. VOICE, CHAT, and TASK channels are supported.

    + *

    RoutingStepExpression is not a valid filter for GetMetricData and we + * recommend switching to GetMetricDataV2 for more up-to-date features.

    *

    To filter by Queues, enter the queue ID/ARN, not the name of the * queue.

    */ @@ -270,7 +282,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline const Aws::Vector& GetGroupings() const{ return m_groupings; } @@ -279,7 +292,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline bool GroupingsHasBeenSet() const { return m_groupingsHasBeenSet; } @@ -288,7 +302,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline void SetGroupings(const Aws::Vector& value) { m_groupingsHasBeenSet = true; m_groupings = value; } @@ -297,7 +312,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline void SetGroupings(Aws::Vector&& value) { m_groupingsHasBeenSet = true; m_groupings = std::move(value); } @@ -306,7 +322,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline GetMetricDataRequest& WithGroupings(const Aws::Vector& value) { SetGroupings(value); return *this;} @@ -315,7 +332,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline GetMetricDataRequest& WithGroupings(Aws::Vector&& value) { SetGroupings(std::move(value)); return *this;} @@ -324,7 +342,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline GetMetricDataRequest& AddGroupings(const Grouping& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(value); return *this; } @@ -333,7 +352,8 @@ namespace Model * grouped by queue, the metrics returned are grouped by queue. The values returned * apply to the metrics for each queue rather than aggregated for all queues.

    *

    If no grouping is specified, a summary of metrics for all queues is - * returned.

    + * returned.

    RoutingStepExpression is not a valid filter for GetMetricData + * and we recommend switching to GetMetricDataV2 for more up-to-date features.

    */ inline GetMetricDataRequest& AddGroupings(Grouping&& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h index 7a2b63a5656..0a5b532ac47 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/GetMetricDataV2Request.h @@ -375,9 +375,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -388,20 +388,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline const Aws::Vector& GetFilters() const{ return m_filters; } @@ -409,9 +410,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -422,20 +423,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } @@ -443,9 +445,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -456,20 +458,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } @@ -477,9 +480,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -490,20 +493,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } @@ -511,9 +515,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -524,20 +528,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline GetMetricDataV2Request& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} @@ -545,9 +550,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -558,20 +563,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline GetMetricDataV2Request& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} @@ -579,9 +585,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -592,20 +598,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline GetMetricDataV2Request& AddFilters(const FilterV2& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } @@ -613,9 +620,9 @@ namespace Model *

    The filters to apply to returned metrics. You can filter on the following * resources:

    • Queues

    • Routing profiles

    • *
    • Agents

    • Channels

    • User hierarchy - * groups

    • Feature

    At least one filter must be - * passed from queues, routing profiles, agents, or user hierarchy groups.

    - *

    To filter by phone number, see

  • Feature

  • Routing step expression

    + *
  • At least one filter must be passed from queues, routing profiles, + * agents, or user hierarchy groups.

    To filter by phone number, see Create * a historical metrics report in the Amazon Connect Administrator's * Guide.

    Note the following limits:

    • Filter @@ -626,20 +633,21 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | - * contact/segmentAttributes/connect:Subtype

    • - * Filter values: A maximum of 100 filter values are supported in a single - * request. VOICE, CHAT, and TASK are valid filterValue for the - * CHANNEL filter key. They do not count towards limitation of 100 filter values. - * For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and - * 15 routing profiles for a total of 100 filter values, along with 3 channel - * filters.

      contact_lens_conversational_analytics is a valid - * filterValue for the FEATURE filter key. It is available only to - * contacts analyzed by Contact Lens conversational analytics.

      - * connect:Chat, connect:SMS, - * connect:Telephony, and connect:WebRTC are valid - * filterValue examples (not exhaustive) for the - * contact/segmentAttributes/connect:Subtype filter key.

    • - *
    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

  • Filter values: A + * maximum of 100 filter values are supported in a single request. VOICE, CHAT, and + * TASK are valid filterValue for the CHANNEL filter key. They do not + * count towards limitation of 100 filter values. For example, a GetMetricDataV2 + * request can filter by 50 queues, 35 agents, and 15 routing profiles for a total + * of 100 filter values, along with 3 channel filters.

    + * contact_lens_conversational_analytics is a valid filterValue for + * the FEATURE filter key. It is available only to contacts analyzed + * by Contact Lens conversational analytics.

    connect:Chat, + * connect:SMS, connect:Telephony, and + * connect:WebRTC are valid filterValue examples (not + * exhaustive) for the contact/segmentAttributes/connect:Subtype + * filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a + * filter value up to 3000 length.

  • */ inline GetMetricDataV2Request& AddFilters(FilterV2&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } @@ -655,7 +663,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline const Aws::Vector& GetGroupings() const{ return m_groupings; } @@ -670,7 +679,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline bool GroupingsHasBeenSet() const { return m_groupingsHasBeenSet; } @@ -685,7 +695,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline void SetGroupings(const Aws::Vector& value) { m_groupingsHasBeenSet = true; m_groupings = value; } @@ -700,7 +711,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline void SetGroupings(Aws::Vector&& value) { m_groupingsHasBeenSet = true; m_groupings = std::move(value); } @@ -715,7 +727,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline GetMetricDataV2Request& WithGroupings(const Aws::Vector& value) { SetGroupings(value); return *this;} @@ -730,7 +743,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline GetMetricDataV2Request& WithGroupings(Aws::Vector&& value) { SetGroupings(std::move(value)); return *this;} @@ -745,7 +759,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline GetMetricDataV2Request& AddGroupings(const Aws::String& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(value); return *this; } @@ -760,7 +775,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline GetMetricDataV2Request& AddGroupings(Aws::String&& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(std::move(value)); return *this; } @@ -775,7 +791,8 @@ namespace Model * | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | * AGENT_HIERARCHY_LEVEL_FIVE, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype | + * ROUTING_STEP_EXPRESSION

    */ inline GetMetricDataV2Request& AddGroupings(const char* value) { m_groupingsHasBeenSet = true; m_groupings.push_back(value); return *this; } @@ -846,10 +863,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -898,16 +915,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -943,6 +960,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -964,7 +985,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -1080,10 +1103,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -1132,16 +1155,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -1177,6 +1200,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -1198,7 +1225,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -1314,10 +1343,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -1366,16 +1395,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -1411,6 +1440,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -1432,7 +1465,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -1548,10 +1583,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -1600,16 +1635,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -1645,6 +1680,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -1666,7 +1705,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -1782,10 +1823,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -1834,16 +1875,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -1879,6 +1920,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -1900,7 +1945,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -2016,10 +2063,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -2068,16 +2115,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -2113,6 +2160,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -2134,7 +2185,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -2250,10 +2303,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -2302,16 +2355,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -2347,6 +2400,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -2368,7 +2425,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only @@ -2484,10 +2543,10 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    AVG_HANDLE_TIME

    Unit: Seconds

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    Feature is a valid - * filter but not a valid grouping.

    AVG_HOLD_TIME
    - *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, Routing - * Profile, Agent, Agent Hierarchy, Feature, + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    + *
    AVG_HOLD_TIME

    Unit: Seconds

    Valid groupings and filters: + * Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, * contact/segmentAttributes/connect:Subtype

    Feature is a valid * filter but not a valid grouping.

    *
    AVG_HOLD_TIME_ALL_CONTACTS

    Unit: Seconds

    Valid groupings @@ -2536,16 +2595,16 @@ namespace Model * Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

    *
    CONTACTS_ABANDONED

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    CONTACTS_CREATED
    - *

    Unit: Count

    Valid metric filter key: + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *
    CONTACTS_CREATED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD

    Valid groupings and filters: Queue, * Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

    *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HANDLED

    Unit: Count

    Valid metric filter key: * INITIATION_METHOD, DISCONNECT_REASON

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * Feature, contact/segmentAttributes/connect:Subtype

    Feature is a - * valid filter but not a valid grouping.

    + * Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + *

    Feature is a valid filter but not a valid grouping.

    *
    CONTACTS_HOLD_ABANDONS

    Unit: Count

    Valid groupings and * filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    @@ -2581,6 +2640,10 @@ namespace Model *

    Unit: Seconds

    Valid groupings and filters: Queue, Channel, * Routing Profile, Agent, Agent Hierarchy, * contact/segmentAttributes/connect:Subtype

    + *
    PERCENT_CONTACTS_STEP_EXPIRED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    + *
    PERCENT_CONTACTS_STEP_JOINED

    Unit: Percent

    Valid + * groupings and filters: Queue, RoutingStepExpression

    *
    PERCENT_NON_TALK_TIME

    This metric is available only for * contacts analyzed by Contact Lens conversational analytics.

    Unit: * Percentage

    Valid groupings and filters: Queue, Channel, Routing Profile, @@ -2602,7 +2665,9 @@ namespace Model * Channel, Routing Profile

    Threshold: For ThresholdValue, * enter any whole number from 1 to 604800 (inclusive), in seconds. For * Comparison, you must enter LT (for "Less than").

    - *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid + *

    STEP_CONTACTS_QUEUED

    Unit: Count

    Valid groupings + * and filters: Queue, RoutingStepExpression

    + *
    SUM_AFTER_CONTACT_WORK_TIME

    Unit: Seconds

    Valid * groupings and filters: Queue, Channel, Routing Profile, Agent, Agent * Hierarchy

    SUM_CONNECTING_TIME_AGENT

    Unit: Seconds

    *

    Valid metric filter key: INITIATION_METHOD. This metric only diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/InstanceAttributeType.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/InstanceAttributeType.h index 317e3038d03..c5e51a91208 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/InstanceAttributeType.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/InstanceAttributeType.h @@ -25,7 +25,8 @@ namespace Model EARLY_MEDIA, MULTI_PARTY_CONFERENCE, HIGH_VOLUME_OUTBOUND, - ENHANCED_CONTACT_MONITORING + ENHANCED_CONTACT_MONITORING, + ENHANCED_CHAT_MONITORING }; namespace InstanceAttributeTypeMapper diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MonitorContactRequest.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MonitorContactRequest.h index acad5ba37a1..26324e7468e 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MonitorContactRequest.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/MonitorContactRequest.h @@ -168,49 +168,57 @@ namespace Model /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline const Aws::Vector& GetAllowedMonitorCapabilities() const{ return m_allowedMonitorCapabilities; } /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline bool AllowedMonitorCapabilitiesHasBeenSet() const { return m_allowedMonitorCapabilitiesHasBeenSet; } /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline void SetAllowedMonitorCapabilities(const Aws::Vector& value) { m_allowedMonitorCapabilitiesHasBeenSet = true; m_allowedMonitorCapabilities = value; } /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline void SetAllowedMonitorCapabilities(Aws::Vector&& value) { m_allowedMonitorCapabilitiesHasBeenSet = true; m_allowedMonitorCapabilities = std::move(value); } /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline MonitorContactRequest& WithAllowedMonitorCapabilities(const Aws::Vector& value) { SetAllowedMonitorCapabilities(value); return *this;} /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline MonitorContactRequest& WithAllowedMonitorCapabilities(Aws::Vector&& value) { SetAllowedMonitorCapabilities(std::move(value)); return *this;} /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline MonitorContactRequest& AddAllowedMonitorCapabilities(const MonitorCapability& value) { m_allowedMonitorCapabilitiesHasBeenSet = true; m_allowedMonitorCapabilities.push_back(value); return *this; } /** *

    Specify which monitoring actions the user is allowed to take. For example, - * whether the user is allowed to escalate from silent monitoring to barge.

    + * whether the user is allowed to escalate from silent monitoring to barge. + * AllowedMonitorCapabilities is required if barge is enabled.

    */ inline MonitorContactRequest& AddAllowedMonitorCapabilities(MonitorCapability&& value) { m_allowedMonitorCapabilitiesHasBeenSet = true; m_allowedMonitorCapabilities.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ParticipantRole.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ParticipantRole.h index ee5be648a9e..4fdfaf66511 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ParticipantRole.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/ParticipantRole.h @@ -19,7 +19,8 @@ namespace Model AGENT, CUSTOMER, SYSTEM, - CUSTOM_BOT + CUSTOM_BOT, + SUPERVISOR }; namespace ParticipantRoleMapper diff --git a/generated/src/aws-cpp-sdk-connect/source/model/InstanceAttributeType.cpp b/generated/src/aws-cpp-sdk-connect/source/model/InstanceAttributeType.cpp index f96990a48e0..1c5e4fde068 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/InstanceAttributeType.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/InstanceAttributeType.cpp @@ -30,6 +30,7 @@ namespace Aws static const int MULTI_PARTY_CONFERENCE_HASH = HashingUtils::HashString("MULTI_PARTY_CONFERENCE"); static const int HIGH_VOLUME_OUTBOUND_HASH = HashingUtils::HashString("HIGH_VOLUME_OUTBOUND"); static const int ENHANCED_CONTACT_MONITORING_HASH = HashingUtils::HashString("ENHANCED_CONTACT_MONITORING"); + static const int ENHANCED_CHAT_MONITORING_HASH = HashingUtils::HashString("ENHANCED_CHAT_MONITORING"); InstanceAttributeType GetInstanceAttributeTypeForName(const Aws::String& name) @@ -75,6 +76,10 @@ namespace Aws { return InstanceAttributeType::ENHANCED_CONTACT_MONITORING; } + else if (hashCode == ENHANCED_CHAT_MONITORING_HASH) + { + return InstanceAttributeType::ENHANCED_CHAT_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -111,6 +116,8 @@ namespace Aws return "HIGH_VOLUME_OUTBOUND"; case InstanceAttributeType::ENHANCED_CONTACT_MONITORING: return "ENHANCED_CONTACT_MONITORING"; + case InstanceAttributeType::ENHANCED_CHAT_MONITORING: + return "ENHANCED_CHAT_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connect/source/model/ParticipantRole.cpp b/generated/src/aws-cpp-sdk-connect/source/model/ParticipantRole.cpp index a610af0deeb..e4e2532b94e 100644 --- a/generated/src/aws-cpp-sdk-connect/source/model/ParticipantRole.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/model/ParticipantRole.cpp @@ -24,6 +24,7 @@ namespace Aws static const int CUSTOMER_HASH = HashingUtils::HashString("CUSTOMER"); static const int SYSTEM_HASH = HashingUtils::HashString("SYSTEM"); static const int CUSTOM_BOT_HASH = HashingUtils::HashString("CUSTOM_BOT"); + static const int SUPERVISOR_HASH = HashingUtils::HashString("SUPERVISOR"); ParticipantRole GetParticipantRoleForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return ParticipantRole::CUSTOM_BOT; } + else if (hashCode == SUPERVISOR_HASH) + { + return ParticipantRole::SUPERVISOR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "SYSTEM"; case ParticipantRole::CUSTOM_BOT: return "CUSTOM_BOT"; + case ParticipantRole::SUPERVISOR: + return "SUPERVISOR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ParticipantRole.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ParticipantRole.h index 96e02907d75..ff6d018eb7d 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ParticipantRole.h +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ParticipantRole.h @@ -19,7 +19,8 @@ namespace Model AGENT, CUSTOMER, SYSTEM, - CUSTOM_BOT + CUSTOM_BOT, + SUPERVISOR }; namespace ParticipantRoleMapper diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ResourceType.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ResourceType.h index 4652c6c37ba..01b017d9306 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ResourceType.h +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/model/ResourceType.h @@ -22,7 +22,8 @@ namespace Model PARTICIPANT, HIERARCHY_LEVEL, HIERARCHY_GROUP, - USER + USER, + PHONE_NUMBER }; namespace ResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointRules.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointRules.cpp index d3899b60368..0e2b5ff7238 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointRules.cpp @@ -51,118 +51,118 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','a','r','t','i','c','i','p','a','n', +'t','.','c','o','n','n','e','c','t','-','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','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','a','r','t', -'i','c','i','p','a','n','t','.','c','o','n','n','e','c','t','-','f','i','p','s','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', -'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', -'a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d', -',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P', -'S','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'"','a','w','s','-','u','s','-','g','o','v','"',',','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','p','a','r','t','i','c','i','p','a','n','t','.','c','o','n','n','e','c','t','.','{','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',':','/','/','p','a','r','t','i','c','i','p','a','n','t', -'.','c','o','n','n','e','c','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', -'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'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',':','/','/','p','a','r','t', 'i','c','i','p','a','n','t','.','c','o','n','n','e','c','t','.','{','R','e','g','i','o','n','}','.', -'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c', -'k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ', -'i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', -'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a', -'l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','a','r','t','i', -'c','i','p','a','n','t','.','c','o','n','n','e','c','t','.','{','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', +'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',':','/','/','p','a','r','t','i','c','i','p','a','n','t','.','c','o','n','n','e', +'c','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l', +'e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','a','r','t','i','c','i','p','a','n', +'t','.','c','o','n','n','e','c','t','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u', +'a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h', +'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', +'p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','a','r','t','i','c','i','p', +'a','n','t','.','c','o','n','n','e','c','t','.','{','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' diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/model/ParticipantRole.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/model/ParticipantRole.cpp index 9d63e528876..03b4f7a85dc 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/source/model/ParticipantRole.cpp +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/model/ParticipantRole.cpp @@ -24,6 +24,7 @@ namespace Aws static const int CUSTOMER_HASH = HashingUtils::HashString("CUSTOMER"); static const int SYSTEM_HASH = HashingUtils::HashString("SYSTEM"); static const int CUSTOM_BOT_HASH = HashingUtils::HashString("CUSTOM_BOT"); + static const int SUPERVISOR_HASH = HashingUtils::HashString("SUPERVISOR"); ParticipantRole GetParticipantRoleForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return ParticipantRole::CUSTOM_BOT; } + else if (hashCode == SUPERVISOR_HASH) + { + return ParticipantRole::SUPERVISOR; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "SYSTEM"; case ParticipantRole::CUSTOM_BOT: return "CUSTOM_BOT"; + case ParticipantRole::SUPERVISOR: + return "SUPERVISOR"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/model/ResourceType.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/model/ResourceType.cpp index 4c39c39ceb0..9eb30627ac2 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/source/model/ResourceType.cpp +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/model/ResourceType.cpp @@ -27,6 +27,7 @@ namespace Aws static const int HIERARCHY_LEVEL_HASH = HashingUtils::HashString("HIERARCHY_LEVEL"); static const int HIERARCHY_GROUP_HASH = HashingUtils::HashString("HIERARCHY_GROUP"); static const int USER_HASH = HashingUtils::HashString("USER"); + static const int PHONE_NUMBER_HASH = HashingUtils::HashString("PHONE_NUMBER"); ResourceType GetResourceTypeForName(const Aws::String& name) @@ -60,6 +61,10 @@ namespace Aws { return ResourceType::USER; } + else if (hashCode == PHONE_NUMBER_HASH) + { + return ResourceType::PHONE_NUMBER; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +95,8 @@ namespace Aws return "HIERARCHY_GROUP"; case ResourceType::USER: return "USER"; + case ResourceType::PHONE_NUMBER: + return "PHONE_NUMBER"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetMapGlyphsRequest.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetMapGlyphsRequest.h index 14932140947..bf75c192aa9 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetMapGlyphsRequest.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetMapGlyphsRequest.h @@ -53,7 +53,8 @@ namespace Model * Roboto Condensed Light Italic

  • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

  • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

  • Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -102,7 +103,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -151,7 +153,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -200,7 +203,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -249,7 +253,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -298,7 +303,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -347,7 +353,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO @@ -396,7 +403,8 @@ namespace Model * Roboto Condensed Light Italic

    • VectorEsriStreets * – Arial Regular | Arial Italic | Arial * Bold

    • VectorEsriNavigation – Arial Regular - * | Arial Italic | Arial Bold

    Valid + * | Arial Italic | Arial Bold | Arial Unicode MS + * Bold | Arial Unicode MS Regular

    Valid * font stacks for HERE * Technologies styles:

    • VectorHereContrast – Fira GO diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetPlaceRequest.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetPlaceRequest.h index 0b4e8d4b316..636248bf7c8 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetPlaceRequest.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/GetPlaceRequest.h @@ -274,42 +274,210 @@ namespace Model /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline const Aws::String& GetPlaceId() const{ return m_placeId; } /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline GetPlaceRequest& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline GetPlaceRequest& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} /** - *

      The identifier of the place to find.

      + *

      The identifier of the place to find.

      While you can use PlaceID in + * subsequent requests, PlaceID is not intended to be a permanent identifier and + * the ID can change between consecutive API calls. Please see the following + * PlaceID behaviour for each data provider:

      • Esri: Place IDs will + * change every quarter at a minimum. The typical time period for these changes + * would be March, June, September, and December. Place IDs might also change + * between the typical quarterly change but that will be much less frequent.

        + *
      • HERE: We recommend that you cache data for no longer than a week + * to keep your data data fresh. You can assume that less than 1% ID shifts will + * release over release which is approximately 1 - 2 times per week.

      • + *

        Grab: Place IDs can expire or become invalid in the following situations.

        + *
        • Data operations: The POI may be removed from Grab POI database by + * Grab Map Ops based on the ground-truth, such as being closed in the real world, + * being detected as a duplicate POI, or having incorrect information. Grab will + * synchronize data to the Waypoint environment on weekly basis.

        • + *

          Interpolated POI: Interpolated POI is a temporary POI generated in real time + * when serving a request, and it will be marked as derived in the + * place.result_type field in the response. The information of + * interpolated POIs will be retained for at least 30 days, which means that within + * 30 days, you are able to obtain POI details by Place ID from Place Details API. + * After 30 days, the interpolated POIs(both Place ID and details) may expire and + * inaccessible from the Places Details API.

      */ inline GetPlaceRequest& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfiguration.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfiguration.h index 375c3804df7..317e2229d69 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfiguration.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfiguration.h @@ -42,81 +42,108 @@ namespace Model /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline const Aws::Vector& GetCustomLayers() const{ return m_customLayers; } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline bool CustomLayersHasBeenSet() const { return m_customLayersHasBeenSet; } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline void SetCustomLayers(const Aws::Vector& value) { m_customLayersHasBeenSet = true; m_customLayers = value; } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline void SetCustomLayers(Aws::Vector&& value) { m_customLayersHasBeenSet = true; m_customLayers = std::move(value); } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline MapConfiguration& WithCustomLayers(const Aws::Vector& value) { SetCustomLayers(value); return *this;} /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline MapConfiguration& WithCustomLayers(Aws::Vector&& value) { SetCustomLayers(std::move(value)); return *this;} /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline MapConfiguration& AddCustomLayers(const Aws::String& value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(value); return *this; } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline MapConfiguration& AddCustomLayers(Aws::String&& value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(std::move(value)); return *this; } /** *

      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

      */ inline MapConfiguration& AddCustomLayers(const char* value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(value); return *this; } @@ -214,40 +241,33 @@ namespace Model *

      Specifies the map style selected from an available data provider.

      *

      Valid Esri - * map styles:

      Valid HERE - * Technologies map styles:

      Valid GrabMaps * map styles:

      • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -292,40 +321,33 @@ namespace Model *

        Specifies the map style selected from an available data provider.

        *

        Valid Esri - * map styles:

        Valid HERE - * Technologies map styles:

        Valid GrabMaps * map styles:

        • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -370,40 +401,33 @@ namespace Model *

          Specifies the map style selected from an available data provider.

          *

          Valid Esri - * map styles:

          Valid HERE - * Technologies map styles:

          Valid GrabMaps * map styles:

          • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -448,40 +481,33 @@ namespace Model *

            Specifies the map style selected from an available data provider.

            *

            Valid Esri - * map styles:

            Valid HERE - * Technologies map styles:

            Valid GrabMaps * map styles:

            • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -526,40 +561,33 @@ namespace Model *

              Specifies the map style selected from an available data provider.

              *

              Valid Esri - * map styles:

              Valid HERE - * Technologies map styles:

              Valid GrabMaps * map styles:

              • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -604,40 +641,33 @@ namespace Model *

                Specifies the map style selected from an available data provider.

                *

                Valid Esri - * map styles:

                Valid HERE - * Technologies map styles:

                Valid GrabMaps * map styles:

                • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -682,40 +721,33 @@ namespace Model *

                  Specifies the map style selected from an available data provider.

                  *

                  Valid Esri - * map styles:

                  Valid HERE - * Technologies map styles:

                  Valid GrabMaps * map styles:

                  • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use @@ -760,40 +801,33 @@ namespace Model *

                    Specifies the map style selected from an available data provider.

                    *

                    Valid Esri - * map styles:

                    Valid HERE - * Technologies map styles:

                    Valid GrabMaps * map styles:

                    • VectorGrabStandardLight – The * Grab Standard Light map style provides a basemap with detailed land use diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfigurationUpdate.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfigurationUpdate.h index 3c396301735..5b6a480e378 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfigurationUpdate.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/MapConfigurationUpdate.h @@ -41,81 +41,108 @@ namespace Model /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline const Aws::Vector& GetCustomLayers() const{ return m_customLayers; } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline bool CustomLayersHasBeenSet() const { return m_customLayersHasBeenSet; } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline void SetCustomLayers(const Aws::Vector& value) { m_customLayersHasBeenSet = true; m_customLayers = value; } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline void SetCustomLayers(Aws::Vector&& value) { m_customLayersHasBeenSet = true; m_customLayers = std::move(value); } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline MapConfigurationUpdate& WithCustomLayers(const Aws::Vector& value) { SetCustomLayers(value); return *this;} /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline MapConfigurationUpdate& WithCustomLayers(Aws::Vector&& value) { SetCustomLayers(std::move(value)); return *this;} /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline MapConfigurationUpdate& AddCustomLayers(const Aws::String& value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(value); return *this; } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline MapConfigurationUpdate& AddCustomLayers(Aws::String&& value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(std::move(value)); return *this; } /** *

                      Specifies the custom layers for the style. Leave unset to not enable any * custom layer, or, for styles that support custom layers, you can enable - * layer(s), such as POI layer for the VectorEsriNavigation style. Default is - * unset.

                      Not all map resources or styles support custom - * layers. See Custom Layers for more information.

                      + * layer(s), such as POI layer for the VectorEsriNavigation style. + * Default is unset.

                      Currenlty only + * VectorEsriNavigation supports CustomLayers. For more information, + * see Custom + * Layers.

                      */ inline MapConfigurationUpdate& AddCustomLayers(const char* value) { m_customLayersHasBeenSet = true; m_customLayers.push_back(value); return *this; } diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/Place.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/Place.h index 6ac2daaeee9..9efffe0c9e2 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/Place.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/Place.h @@ -573,74 +573,98 @@ namespace Model /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline const Aws::String& GetSubMunicipality() const{ return m_subMunicipality; } /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline bool SubMunicipalityHasBeenSet() const { return m_subMunicipalityHasBeenSet; } /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline void SetSubMunicipality(const Aws::String& value) { m_subMunicipalityHasBeenSet = true; m_subMunicipality = value; } /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline void SetSubMunicipality(Aws::String&& value) { m_subMunicipalityHasBeenSet = true; m_subMunicipality = std::move(value); } /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline void SetSubMunicipality(const char* value) { m_subMunicipalityHasBeenSet = true; m_subMunicipality.assign(value); } /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline Place& WithSubMunicipality(const Aws::String& value) { SetSubMunicipality(value); return *this;} /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline Place& WithSubMunicipality(Aws::String&& value) { SetSubMunicipality(std::move(value)); return *this;} /** - *

                      An area that's part of a larger municipality. For example, Blissville - * is a submunicipality in the Queen County in New York.

                      This - * property supported by Esri and OpenData. The Esri property is - * district, and the OpenData property is borough.

                      - * + *

                      An area that's part of a larger municipality. For example, + * Blissville is a submunicipality in the Queen County in New + * York.

                      This property is only returned for a place index that uses + * Esri as a data provider. The property is represented as a + * district.

                      For more information about data providers, + * see Amazon + * Location Service data providers.

                      */ inline Place& WithSubMunicipality(const char* value) { SetSubMunicipality(value); return *this;} @@ -789,121 +813,129 @@ namespace Model /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline const Aws::String& GetUnitNumber() const{ return m_unitNumber; } /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline bool UnitNumberHasBeenSet() const { return m_unitNumberHasBeenSet; } /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline void SetUnitNumber(const Aws::String& value) { m_unitNumberHasBeenSet = true; m_unitNumber = value; } /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline void SetUnitNumber(Aws::String&& value) { m_unitNumberHasBeenSet = true; m_unitNumber = std::move(value); } /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline void SetUnitNumber(const char* value) { m_unitNumberHasBeenSet = true; m_unitNumber.assign(value); } /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline Place& WithUnitNumber(const Aws::String& value) { SetUnitNumber(value); return *this;} /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline Place& WithUnitNumber(Aws::String&& value) { SetUnitNumber(std::move(value)); return *this;} /** *

                      For addresses with multiple units, the unit identifier. Can include numbers * and letters, for example 3B or Unit 123.

                      - *

                      Returned only for a place index that uses Esri or Grab as a data provider. Is - * not returned for SearchPlaceIndexForPosition.

                      + *

                      This property is returned only for a place index that uses Esri or Grab as a + * data provider. It is not returned for + * SearchPlaceIndexForPosition.

                      */ inline Place& WithUnitNumber(const char* value) { SetUnitNumber(value); return *this;} /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline const Aws::String& GetUnitType() const{ return m_unitType; } /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline bool UnitTypeHasBeenSet() const { return m_unitTypeHasBeenSet; } /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline void SetUnitType(const Aws::String& value) { m_unitTypeHasBeenSet = true; m_unitType = value; } /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline void SetUnitType(Aws::String&& value) { m_unitTypeHasBeenSet = true; m_unitType = std::move(value); } /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline void SetUnitType(const char* value) { m_unitTypeHasBeenSet = true; m_unitType.assign(value); } /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline Place& WithUnitType(const Aws::String& value) { SetUnitType(value); return *this;} /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline Place& WithUnitType(Aws::String&& value) { SetUnitType(std::move(value)); return *this;} /** *

                      For addresses with a UnitNumber, the type of unit. For example, - * Apartment.

                      Returned only for a place index that uses - * Esri as a data provider.

                      + * Apartment.

                      This property is returned only for a place + * index that uses Esri as a data provider.

                      */ inline Place& WithUnitType(const char* value) { SetUnitType(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/model/SearchForSuggestionsResult.h b/generated/src/aws-cpp-sdk-location/include/aws/location/model/SearchForSuggestionsResult.h index c13a74ebb43..46f6bfa075d 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/model/SearchForSuggestionsResult.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/model/SearchForSuggestionsResult.h @@ -129,7 +129,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline const Aws::String& GetPlaceId() const{ return m_placeId; } @@ -141,7 +162,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } @@ -153,7 +195,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } @@ -165,7 +228,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } @@ -177,7 +261,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } @@ -189,7 +294,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline SearchForSuggestionsResult& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} @@ -201,7 +327,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline SearchForSuggestionsResult& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} @@ -213,7 +360,28 @@ namespace Model * SearchPlaceIndexForSuggestions that generated the Place ID.

                      *

                      For SearchPlaceIndexForSuggestions operations, the * PlaceId is returned by place indexes that use Esri, Grab, or HERE - * as data providers.

                      + * as data providers.

                      While you can use PlaceID in subsequent + * requests, PlaceID is not intended to be a permanent identifier and the ID can + * change between consecutive API calls. Please see the following PlaceID behaviour + * for each data provider:

                      • Esri: Place IDs will change every + * quarter at a minimum. The typical time period for these changes would be March, + * June, September, and December. Place IDs might also change between the typical + * quarterly change but that will be much less frequent.

                      • HERE: We + * recommend that you cache data for no longer than a week to keep your data data + * fresh. You can assume that less than 1% ID shifts will release over release + * which is approximately 1 - 2 times per week.

                      • Grab: Place IDs + * can expire or become invalid in the following situations.

                        • Data + * operations: The POI may be removed from Grab POI database by Grab Map Ops based + * on the ground-truth, such as being closed in the real world, being detected as a + * duplicate POI, or having incorrect information. Grab will synchronize data to + * the Waypoint environment on weekly basis.

                        • Interpolated POI: + * Interpolated POI is a temporary POI generated in real time when serving a + * request, and it will be marked as derived in the place.result_type + * field in the response. The information of interpolated POIs will be retained for + * at least 30 days, which means that within 30 days, you are able to obtain POI + * details by Place ID from Place Details API. After 30 days, the interpolated + * POIs(both Place ID and details) may expire and inaccessible from the Places + * Details API.

                      */ inline SearchForSuggestionsResult& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/model/CreateWebLoginTokenResult.h b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/model/CreateWebLoginTokenResult.h index 91372f50bc9..b4f0cb92b76 100644 --- a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/model/CreateWebLoginTokenResult.h +++ b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/model/CreateWebLoginTokenResult.h @@ -32,6 +32,99 @@ namespace Model AWS_MWAA_API CreateWebLoginTokenResult& operator=(const Aws::AmazonWebServiceResult& result); + /** + *

                      The user name of the Apache Airflow identity creating the web login + * token.

                      + */ + inline const Aws::String& GetAirflowIdentity() const{ return m_airflowIdentity; } + + /** + *

                      The user name of the Apache Airflow identity creating the web login + * token.

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

                      The user name of the Apache Airflow identity creating the web login + * token.

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

                      The user name of the Apache Airflow identity creating the web login + * token.

                      + */ + inline void SetAirflowIdentity(const char* value) { m_airflowIdentity.assign(value); } + + /** + *

                      The user name of the Apache Airflow identity creating the web login + * token.

                      + */ + inline CreateWebLoginTokenResult& WithAirflowIdentity(const Aws::String& value) { SetAirflowIdentity(value); return *this;} + + /** + *

                      The user name of the Apache Airflow identity creating the web login + * token.

                      + */ + inline CreateWebLoginTokenResult& WithAirflowIdentity(Aws::String&& value) { SetAirflowIdentity(std::move(value)); return *this;} + + /** + *

                      The user name of the Apache Airflow identity creating the web login + * token.

                      + */ + inline CreateWebLoginTokenResult& WithAirflowIdentity(const char* value) { SetAirflowIdentity(value); return *this;} + + + /** + *

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

                      + */ + inline const Aws::String& GetIamIdentity() const{ return m_iamIdentity; } + + /** + *

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

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

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

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

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

                      + */ + inline void SetIamIdentity(const char* value) { m_iamIdentity.assign(value); } + + /** + *

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

                      + */ + inline CreateWebLoginTokenResult& WithIamIdentity(const Aws::String& value) { SetIamIdentity(value); return *this;} + + /** + *

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

                      + */ + inline CreateWebLoginTokenResult& WithIamIdentity(Aws::String&& value) { SetIamIdentity(std::move(value)); return *this;} + + /** + *

                      The name of the IAM identity creating the web login token. This might be an + * IAM user, or an assumed or federated identity. For example, + * assumed-role/Admin/your-name.

                      + */ + inline CreateWebLoginTokenResult& WithIamIdentity(const char* value) { SetIamIdentity(value); return *this;} + + /** *

                      The Airflow web server hostname for the environment.

                      */ @@ -127,6 +220,10 @@ namespace Model private: + Aws::String m_airflowIdentity; + + Aws::String m_iamIdentity; + Aws::String m_webServerHostname; Aws::String m_webToken; diff --git a/generated/src/aws-cpp-sdk-mwaa/source/model/CreateWebLoginTokenResult.cpp b/generated/src/aws-cpp-sdk-mwaa/source/model/CreateWebLoginTokenResult.cpp index 145f102dbaf..be3f66bfa2e 100644 --- a/generated/src/aws-cpp-sdk-mwaa/source/model/CreateWebLoginTokenResult.cpp +++ b/generated/src/aws-cpp-sdk-mwaa/source/model/CreateWebLoginTokenResult.cpp @@ -29,6 +29,18 @@ CreateWebLoginTokenResult::CreateWebLoginTokenResult(const Aws::AmazonWebService CreateWebLoginTokenResult& CreateWebLoginTokenResult::operator =(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AirflowIdentity")) + { + m_airflowIdentity = jsonValue.GetString("AirflowIdentity"); + + } + + if(jsonValue.ValueExists("IamIdentity")) + { + m_iamIdentity = jsonValue.GetString("IamIdentity"); + + } + if(jsonValue.ValueExists("WebServerHostname")) { m_webServerHostname = jsonValue.GetString("WebServerHostname"); diff --git a/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointRules.cpp b/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointRules.cpp index cb90c3f43bd..bda9a7dcdf2 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3Control { -const size_t S3ControlEndpointRules::RulesBlobStrLen = 21316; -const size_t S3ControlEndpointRules::RulesBlobSize = 21317; +const size_t S3ControlEndpointRules::RulesBlobStrLen = 24020; +const size_t S3ControlEndpointRules::RulesBlobSize = 24021; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -176,35 +176,40 @@ static constexpr RulesBlobT RulesBlob = {{ '"','O','u','t','p','o','s','t','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t', 'a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`', '.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','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','"',':','"', -'R','e','g','i','o','n','"','}',',','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','"',':','[','{','"','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',':',' ','O','u','t','p','o','s','t','s',' ','d','o',' ','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','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'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','"',':','"','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','o','u','t','p','o','s','t','s','-','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', +'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','"','}',']', +'}',',','{','"','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','"',':','[', +'{','"','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','"',':','"','R','e','g','i','o','n','"','}',',', +'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','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', +'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','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','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o', +'u','t','p','o','s','t','s','-','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','"',':','{','"', 'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', 'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', @@ -212,145 +217,452 @@ static constexpr RulesBlobT RulesBlob = {{ '3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', 'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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', +'{','"','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','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'-','o','u','t','p','o','s','t','s','-','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','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o', +'s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','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',':','/','/','s','3','-','o', +'u','t','p','o','s','t','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','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t', +'p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'R','e','g','i','o','n','}','"','}',']','}',',','"','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',':','/','/','s','3','-','o','u','t','p','o','s','t','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', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','I','n','v','a', +'l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o', +'t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','"','}',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e', +'A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','a','s','s','i','g','n','"',':','"', +'a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', +'c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e', +'"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','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','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A', +'r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p', +'o','s','t','s','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','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','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f', +'a','l','s','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','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','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','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','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','A','r','n','R','e','g','i','o','n','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','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','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r', +'n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"', +']','}',']','}',']',',','"','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',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ', +'A','R','N',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i', +'o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n', +'t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U', +'s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o', +'n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P', +'o','i','n','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s', +'s','i','g','n','"',':','"','a','r','n','P','a','r','t','i','t','i','o','n','"','}',']',',','"','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','"',':','"','a','r','n','P','a','r','t','i','t','i','o','n','"','}',',','"','n', +'a','m','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','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',', +'"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','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','"',':','"','a', +'c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I', +'d','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i', +'d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','a','c','c','o','u', +'n','t','I','d','"',']','}',',','f','a','l','s','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','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','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','"','}',',','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','a','c','c','o', +'u','n','t','I','d','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','t','h','e',' ','a','c','c','o','u','n','t','I','d',' ','s', +'p','e','c','i','f','i','e','d',' ','i','n',' ','t','h','e',' ','A','R','N',' ','(','`','{','a','c', +'c','e','s','s','P','o','i','n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`',')', +' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','t','h','e',' ','p','a','r','a','m', +'e','t','e','r',' ','(','`','{','A','c','c','o','u','n','t','I','d','}','`',')','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"', +'}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']',',','"','a','s','s','i','g', +'n','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c', +'e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','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','"',':','[','{','"','r','e','f','"',':','"','o', +'u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c','c','e','s','s','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',']','}',',','{','"','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',':','/','/','s','3','-', +'o','u','t','p','o','s','t','s','-','f','i','p','s','.','{','a','c','c','e','s','s','P','o','i','n', +'t','A','r','n','#','r','e','g','i','o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o', +'n','#','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','a','c','c','e','s','s','P', +'o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':', +'[','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','a','c','c','o','u','n','t', +'I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-','i','d','"',':', +'[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t','p','o','s','t','s','-','f','i','p', +'s','.','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i','o','n','}', +'.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s', +'t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','a','c','c', +'e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u','n','t','-', +'i','d','"',':','[','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-', +'i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','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','n','d','p','o','i','n', 't','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t', -'p','o','s','t','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','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','"',':', -'"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w', -'a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"', +'p','o','s','t','s','.','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g', +'i','o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', +'R','e','g','i','o','n','"',':','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#', +'r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x', +'-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','a','c','c','e','s', +'s','P','o','i','n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"','x', +'-','a','m','z','-','o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u','t','p','o', +'s','t','I','d','}','"',']','}','}',',','"','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','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', +'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', +'n','"',':','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-', +'a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','a','c','c','e','s','s','P','o','i','n', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-', +'o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}', +'"',']','}','}',',','"','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',':','/','/','s','3','-','o','u','t','p', +'o','s','t','s','.','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i', +'o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t', +'p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u', +'n','t','-','i','d','"',':','[','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#', +'a','c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o', +'s','t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',', +'"','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','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u', +'t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',', +' ','f','o','u','n','d',' ','`','{','o','u','t','p','o','s','t','T','y','p','e','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e','c', +'t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e','"', ',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','s','s', -'P','o','i','n','t','N','a','m','e','"','}',']','}',',','{','"','f','n','"',':','"','a','w','s','.', -'p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','a','s','s','i', -'g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'"','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',' ','A','R','N',':',' ','E','x','p', +'e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u', +'r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ', +'c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d', +' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','m','i','s','s','i','n','g',' ','a','c','c', +'o','u','n','t',' ','I','D','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', +'r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','a','c','c','e','s','s','P','o', +'i','n','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ', +'D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t', +' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i', +'t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a', +'m','e','}','`',' ','b','u','t',' ','A','R','N',' ','h','a','s',' ','`','{','a','r','n','P','a','r', +'t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','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',' ','A','R','N',':',' ','T','h','e',' ','o','u','t', +'p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i','n', +' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',',',' ', +'f','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t', +'p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','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',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i', +'f','i','e','d','"',',','"','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','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"',':', +'"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', +'t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',','"', +'a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','a','r','n','T','y','p','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','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','s', -'o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r', -'n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','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', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', +']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[', +'1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','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','"',':','"','o','u','t','p','o','s','t', +'I','d','"','}',',','f','a','l','s','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','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',',','{','"','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}', +',','{','"','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','A','r','n','R','e','g','i','o', +'n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','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','"',':','"','a','c','c','e','s','s','P', -'o','i','n','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3', -'-','o','u','t','p','o','s','t','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','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',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t','s',' ','d','o',' ','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','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P', -'o','i','n','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"', -']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','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','"',':','"','o','u','t','p','o','s','t','I','d','"', -'}',',','f','a','l','s','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','"',':','"','U','s','e','A','r','n','R','e','g','i', -'o','n','"','}',']','}',',','{','"','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','A','r', -'n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}', +'"',']','}',']','}',']',',','"','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',':',' ','r','e','g','i','o','n',' ','f','r','o','m', +' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`', +' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e', +'g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r', +'n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n', +'P','a','r','t','i','t','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','"',':','[','{','"','f','n','"',':','"','g', 'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a', -'c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']', -'}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','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',':',' ', -'r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','a','c','c','e','s','s','P', -'o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t', -' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e', -'g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i', -'s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','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','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', +'r','n','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"', 'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e', -'g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','P','a','r', -'t','i','t','i','o','n','"','}',']',',','"','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','"',':','"','a','r','n','P','a', -'r','t','i','t','i','o','n','"','}',',','"','n','a','m','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','"','}',',','"','n','a','m','e','"', -']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', -'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s', -'s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r', -'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','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','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r','n', -'"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','"','"',']','}',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t', -'A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','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','"','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','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','"','}',',','"','{','a','c','c','e','s','s','P', -'o','i','n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']','}',']','}',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','t','h','e', -' ','a','c','c','o','u','n','t','I','d',' ','s','p','e','c','i','f','i','e','d',' ','i','n',' ','t', -'h','e',' ','A','R','N',' ','(','`','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#', -'a','c','c','o','u','n','t','I','d','}','`',')',' ','d','o','e','s',' ','n','o','t',' ','m','a','t', -'c','h',' ','t','h','e',' ','p','a','r','a','m','e','t','e','r',' ','(','`','{','A','c','c','o','u', -'n','t','I','d','}','`',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t', -'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c', -'e','s','s','P','o','i','n','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d', -'[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T','y', -'p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','A','r', -'n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s', -'i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n', +'a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', +'u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', '"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',', -'"','a','c','c','e','s','s','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','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', -'3','-','o','u','t','p','o','s','t','s','-','f','i','p','s','.','{','a','c','c','e','s','s','P','o', -'i','n','t','A','r','n','#','r','e','g','i','o','n','}','.','{','a','r','n','P','a','r','t','i','t', -'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n', -'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"', -'x','-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','a','c','c','e', -'s','s','P','o','i','n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c', +'c','o','u','n','t','I','d','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', +'u','n','t','I','d','"',']','}',',','f','a','l','s','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','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','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','"','}',',','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', +'d','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','A','R','N',':',' ','t','h','e',' ','a','c','c','o','u','n','t','I','d',' ','s','p','e','c','i', +'f','i','e','d',' ','i','n',' ','t','h','e',' ','A','R','N',' ','(','`','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','`',')',' ','d','o','e','s',' ','n','o','t', +' ','m','a','t','c','h',' ','t','h','e',' ','p','a','r','a','m','e','t','e','r',' ','(','`','{','A', +'c','c','o','u','n','t','I','d','}','`',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[', +'2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T','y','p', +'e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', +'e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n','"',':','"', +'b','u','c','k','e','t','N','a','m','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','"',':','[','{','"','r','e','f','"',':','"', +'o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','b','u','c','k','e','t','"',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t','p', +'o','s','t','s','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', +'o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','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', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a', +'c','c','o','u','n','t','-','i','d','"',':','[','"','{','b','u','c','k','e','t','A','r','n','#','a', +'c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s', +'t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','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','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t','p','o','s', +'t','s','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o', +'s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':', +'[','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']', +',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u', +'t','p','o','s','t','I','d','}','"',']','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','a','r','n','P','a','r','t','i', +'t','i','o','n','#','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','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t', +'s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':','[','"', +'{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"', 'x','-','a','m','z','-','o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u','t','p', 'o','s','t','I','d','}','"',']','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', 'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', @@ -365,420 +677,253 @@ static constexpr RulesBlobT RulesBlob = {{ 'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', '"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', 's','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z', -'-','a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','a','c','c','e','s','s','P','o','i', -'n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z', -'-','o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d', -'}','"',']','}','}',',','"','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',':','/','/','s','3','-','o','u','t', -'p','o','s','t','s','.','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g', -'i','o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', -'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', -'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', -'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u', -'t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','a','c','c','e','s','s','P','o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','"','}', +'o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}', ']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o', -'u','n','t','-','i','d','"',':','[','"','{','a','c','c','e','s','s','P','o','i','n','t','A','r','n', +'u','n','t','-','i','d','"',':','[','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o', +'u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-','i', +'d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"','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',':','/','/','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u','c', +'k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','a','r','n','P','a','r','t','i','t', +'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z', +'-','a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','b','u','c','k','e','t','A','r','n', '#','a','c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p', 'o','s','t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}', ',','"','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','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o', -'u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`', -',',' ','f','o','u','n','d',' ','`','{','o','u','t','p','o','s','t','T','y','p','e','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e', -'c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x', -'p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o', -'u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', +'E','x','p','e','c','t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ', +'`','b','u','c','k','e','t','`',',',' ','f','o','u','n','d',' ','`','{','o','u','t','p','o','s','t', +'T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','e','x','p','e','c','t','e','d',' ','a',' ','b','u','c','k','e','t',' ','n','a','m', +'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E', +'x','p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s', +'o','u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l', +'y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a', +'n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r', +'n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','m','i','s','s','i','n','g',' ','a','c','c','o','u','n', +'t',' ','I','D','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y', -' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', -'d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i', -'n','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','m','i','s','s','i','n','g',' ','a','c', -'c','o','u','n','t',' ','I','D','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','a','c','c','e','s','s','P', -'o','i','n','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d', -' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n', -'t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t', -'i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n', -'a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','h','a','s',' ','`','{','a','r','n','P','a', -'r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g', +'i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r', +'e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e', +')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n', +'f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t', +' ','A','R','N',' ','h','a','s',' ','`','{','a','r','n','P','a','r','t','i','t','i','o','n','#','n', +'a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', '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',' ','A','R','N',':',' ','T','h','e',' ','o','u', -'t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i', -'n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',',', -' ','f','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"',',','"','t', +'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',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ', +'m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-', +'Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',',',' ','f','o','u','n','d',':',' ','`', +'{','o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ', +'w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','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',' ','A','R','N',':',' ', +'N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','t', 'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u', -'t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','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',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c', -'i','f','i','e','d','"',',','"','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','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"', -':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', -'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']',',', -'"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','a','r','n','T','y','p','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','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e', -'"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','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','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',':',' ','O','u','t','p','o','s','t',' ','b','u','c','k', -'e','t','s',' ','d','o',' ','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','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a', -'s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','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','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a', -'l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'e','e','"','}',',','{','"','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', +'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','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','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','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', +'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','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','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}', -']','}',',','{','"','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','A','r','n','R','e','g', -'i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','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','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e','g','i','o', -'n','}','"',']','}',']','}',']',',','"','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',':',' ','r','e','g','i','o','n',' ','f','r', -'o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', -'}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ', -'r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e', -'A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"', -'}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"',':','"','a', -'r','n','P','a','r','t','i','t','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','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','a','r','n','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','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','"','}',',', -'"','n','a','m','e','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', -'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t', -'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','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','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'a','c','c','o','u','n','t','I','d','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c', -'c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','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','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','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','"','}',',','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', -'t','I','d','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','A','R','N',':',' ','t','h','e',' ','a','c','c','o','u','n','t','I','d',' ','s','p','e', -'c','i','f','i','e','d',' ','i','n',' ','t','h','e',' ','A','R','N',' ','(','`','{','b','u','c','k', -'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`',')',' ','d','o','e','s',' ','n', -'o','t',' ','m','a','t','c','h',' ','t','h','e',' ','p','a','r','a','m','e','t','e','r',' ','(','`', -'{','A','c','c','o','u','n','t','I','d','}','`',')','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I', -'d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T', -'y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n','"', -':','"','b','u','c','k','e','t','N','a','m','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','"',':','[','{','"','r','e','f','"', -':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','b','u','c','k','e','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','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','-','o','u','t','p','o','s','t','s','-','f','i','p', -'s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','a','r','n', -'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n', +'t','I','d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u', +'i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r','u','e',']','}',',','{','"', +'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',' ','i','s',' ','r','e','q','u','i','r','e','d',' ','b','u','t',' ', +'n','o','t',' ','s','e','t','"',',','"','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','"',':','"','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','"', +':','"','A','c','c','o','u','n','t','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n', +'t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','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','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','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','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s', +'A','c','c','o','u','n','t','I','d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r','u', +'e',']','}',',','{','"','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','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', '[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', ':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', -'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', -'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'"','x','-','a','m','z','-','a','c','c','o','u','n','t','-','i','d','"',':','[','"','{','b','u','c', -'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','"',']',',','"','x','-','a','m', -'z','-','o','u','t','p','o','s','t','-','i','d','"',':','[','"','{','o','u','t','p','o','s','t','I', -'d','}','"',']','}','}',',','"','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','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', -'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', -'u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c','o','u','n','t','-', -'i','d','"',':','[','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-','i','d','"',':','[', -'"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"','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',':','/','/','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','.','{','a','r','n','P','a','r','t','i','t','i','o','n','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','"','x','-','a','m','z','-','a','c','c', -'o','u','n','t','-','i','d','"',':','[','"','{','b','u','c','k','e','t','A','r','n','#','a','c','c', -'o','u','n','t','I','d','}','"',']',',','"','x','-','a','m','z','-','o','u','t','p','o','s','t','-', -'i','d','"',':','[','"','{','o','u','t','p','o','s','t','I','d','}','"',']','}','}',',','"','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','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e', -'c','t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ','`','b','u','c', -'k','e','t','`',',',' ','f','o','u','n','d',' ','`','{','o','u','t','p','o','s','t','T','y','p','e', -'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', -'e','x','p','e','c','t','e','d',' ','a',' ','b','u','c','k','e','t',' ','n','a','m','e','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c', -'t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r','c', -'e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', -'h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o', -'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', -'-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c', -'c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','m','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ','I','D', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ', -'i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u', -'r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N', -' ','h','a','s',' ','`','{','a','r','n','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}', -'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','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', -' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t', -' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0', -'-','9',' ','a','n','d',' ','`','-','`','.',',',' ','f','o','u','n','d',':',' ','`','{','o','u','t', -'p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', -' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ', -'n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -',','"','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',' ','A','R','N',':',' ','N','o',' ','A', -'R','N',' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','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','"',':','"','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','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','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','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', -'e',']','}',',','{','"','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','-','c','n','"', -']','}',']',',','"','e','r','r','o','r','"',':','"','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','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s', -'A','c','c','o','u','n','t','I','d','"','}',',','t','r','u','e',']','}',',','{','"','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',' ','i','s',' ','r','e','q','u','i','r','e','d',' ','b','u','t',' ','n','o','t',' ', -'s','e','t','"',',','"','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','"',':','"','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','"',':','"','A','c', -'c','o','u','n','t','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i','n', -' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','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','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', -'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','u','r','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','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','{','u','r','l','#','s','c','h','e','m','e', +'}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p', +'a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','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','"',':','"', +'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',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o', 'u','n','t','I','d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', 'q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r','u','e',']','}',',', '{','"','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','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e', -'}',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h', -'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','A','c', +'c','o','u','n','t','I','d','}','.','s','3','-','c','o','n','t','r','o','l','-','f','i','p','s','.', +'d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','c','o','n','t','r','o','l','-','f','i', +'p','s','.','d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', +'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','"',':','"','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','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e', +'s','A','c','c','o','u','n','t','I','d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r', +'u','e',']','}',',','{','"','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','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','{','A','c','c','o','u','n','t','I','d','}','.','s','3','-','c','o','n','t','r','o','l','-', +'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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', 'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', 'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', 'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', '"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','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','"',':','"','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',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I', -'d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r', -'e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r','u','e',']','}',',','{','"','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', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','A','c','c','o','u','n', -'t','I','d','}','.','s','3','-','c','o','n','t','r','o','l','-','f','i','p','s','.','d','u','a','l', -'s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', -'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','c','o','n','t','r','o','l','-','f','i','p','s','.','d', -'u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"', -'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','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','c','o','n','t','r','o','l','-','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','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','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','"','}',',','f','a','l','s','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',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c', -'o','u','n','t','I','d','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',',','t','r','u','e',']','}', -',','{','"','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','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','A', -'c','c','o','u','n','t','I','d','}','.','s','3','-','c','o','n','t','r','o','l','-','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', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','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','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','s','3','-','c','o','n','t','r','o','l','-','f','i','p','s','.','{','R','e','g','i', +'o','u','n','t','I','d','"','}',',','t','r','u','e',']','}',',','{','"','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','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.', +'s','3','-','c','o','n','t','r','o','l','.','d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','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','"',':','"','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', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s', +'3','-','c','o','n','t','r','o','l','.','d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u', 't','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', @@ -791,83 +936,46 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', '}',',','f','a','l','s','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',']','}',',','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t', -'I','d','"','}',',','t','r','u','e',']','}',',','{','"','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','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','s','3','-','c', -'o','n','t','r','o','l','.','d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','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','"',':','"','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','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','c','o', -'n','t','r','o','l','.','d','u','a','l','s','t','a','c','k','.','{','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','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','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','"',':','"','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','"','}',',','f','a', -'l','s','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','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','q', -'u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"', -'}',',','t','r','u','e',']','}',',','{','"','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','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','s','3','-','c','o','n','t', -'r','o','l','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','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','"','}',',','f','a','l','s','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','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','c','o','n','t','r','o','l','.','{','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','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', -'"','}',']','}',',','"','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','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i', -'o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a', -'m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','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','"',':','"','R','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s','e','t','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','q','u','i','r','e','s','A','c','c','o','u','n','t','I','d','"','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','q','u','i','r','e','s','A','c','c','o','u','n', +'t','I','d','"','}',',','t','r','u','e',']','}',',','{','"','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','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','A','c','c','o','u','n','t','I','d','}','.','s','3','-', +'c','o','n','t','r','o','l','.','{','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','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','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','"',':','"','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','"','}',',','f','a','l','s','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','"','}', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', +'l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','c','o','n','t','r','o','l','.','{','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','"',':','{', +'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', +'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', +'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', +'i','o','n','}','"','}',']','}',',','"','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','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ', +'r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N', +'S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','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','"',':','"','R','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s','e', +'t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' }}; const char* S3ControlEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-supplychain/CMakeLists.txt b/generated/src/aws-cpp-sdk-supplychain/CMakeLists.txt new file mode 100644 index 00000000000..ddb98b50966 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-supplychain "C++ SDK for the AWS supplychain service" aws-cpp-sdk-core) + +file(GLOB AWS_SUPPLYCHAIN_HEADERS + "include/aws/supplychain/*.h" +) + +file(GLOB AWS_SUPPLYCHAIN_MODEL_HEADERS + "include/aws/supplychain/model/*.h" +) + +file(GLOB AWS_SUPPLYCHAIN_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_SUPPLYCHAIN_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB SUPPLYCHAIN_UNIFIED_HEADERS + ${AWS_SUPPLYCHAIN_HEADERS} + ${AWS_SUPPLYCHAIN_MODEL_HEADERS} +) + +file(GLOB SUPPLYCHAIN_UNITY_SRC + ${AWS_SUPPLYCHAIN_SOURCE} + ${AWS_SUPPLYCHAIN_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("SUPPLYCHAIN" SUPPLYCHAIN_UNITY_SRC) +endif() + +file(GLOB SUPPLYCHAIN_SRC + ${SUPPLYCHAIN_UNIFIED_HEADERS} + ${SUPPLYCHAIN_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\supplychain" FILES ${AWS_SUPPLYCHAIN_HEADERS}) + source_group("Header Files\\aws\\supplychain\\model" FILES ${AWS_SUPPLYCHAIN_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_SUPPLYCHAIN_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_SUPPLYCHAIN_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(SUPPLYCHAIN_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${SUPPLYCHAIN_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_SUPPLYCHAIN_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_SUPPLYCHAIN_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/supplychain) +install (FILES ${AWS_SUPPLYCHAIN_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/supplychain/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h new file mode 100644 index 00000000000..2cf35edf19a --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h @@ -0,0 +1,156 @@ +/** + * 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 SupplyChain +{ + /** + *

                      AWS Supply Chain is a cloud-based application that works with your + * enterprise resource planning (ERP) and supply chain management systems. Using + * AWS Supply Chain, you can connect and extract your inventory, supply, and demand + * related data from existing ERP or supply chain systems into a single data model. + *

                      The AWS Supply Chain API supports configuration data import for Supply + * Planning.

                      All AWS Supply chain API operations are Amazon-authenticated + * and certificate-signed. They not only require the use of the AWS SDK, but also + * allow for the exclusive use of AWS Identity and Access Management users and + * roles to help facilitate access, trust, and permission policies.

                      + */ + class AWS_SUPPLYCHAIN_API SupplyChainClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef SupplyChainClientConfiguration ClientConfigurationType; + typedef SupplyChainEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SupplyChainClient(const Aws::SupplyChain::SupplyChainClientConfiguration& clientConfiguration = Aws::SupplyChain::SupplyChainClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SupplyChainClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::SupplyChain::SupplyChainClientConfiguration& clientConfiguration = Aws::SupplyChain::SupplyChainClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + SupplyChainClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::SupplyChain::SupplyChainClientConfiguration& clientConfiguration = Aws::SupplyChain::SupplyChainClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SupplyChainClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + SupplyChainClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + SupplyChainClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~SupplyChainClient(); + + /** + *

                      CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of + * Materials (BOM) entity. For information on the product_bom entity, see the AWS + * Supply Chain User Guide.

                      The CSV file must be located in an Amazon S3 + * location accessible to AWS Supply Chain. It is recommended to use the same + * Amazon S3 bucket created during your AWS Supply Chain instance + * creation.

                      See Also:

                      AWS + * API Reference

                      + */ + virtual Model::CreateBillOfMaterialsImportJobOutcome CreateBillOfMaterialsImportJob(const Model::CreateBillOfMaterialsImportJobRequest& request) const; + + /** + * A Callable wrapper for CreateBillOfMaterialsImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateBillOfMaterialsImportJobOutcomeCallable CreateBillOfMaterialsImportJobCallable(const CreateBillOfMaterialsImportJobRequestT& request) const + { + return SubmitCallable(&SupplyChainClient::CreateBillOfMaterialsImportJob, request); + } + + /** + * An Async wrapper for CreateBillOfMaterialsImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateBillOfMaterialsImportJobAsync(const CreateBillOfMaterialsImportJobRequestT& request, const CreateBillOfMaterialsImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SupplyChainClient::CreateBillOfMaterialsImportJob, request, handler, context); + } + + /** + *

                      Get status and details of a BillOfMaterialsImportJob.

                      See + * Also:

                      AWS + * API Reference

                      + */ + virtual Model::GetBillOfMaterialsImportJobOutcome GetBillOfMaterialsImportJob(const Model::GetBillOfMaterialsImportJobRequest& request) const; + + /** + * A Callable wrapper for GetBillOfMaterialsImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetBillOfMaterialsImportJobOutcomeCallable GetBillOfMaterialsImportJobCallable(const GetBillOfMaterialsImportJobRequestT& request) const + { + return SubmitCallable(&SupplyChainClient::GetBillOfMaterialsImportJob, request); + } + + /** + * An Async wrapper for GetBillOfMaterialsImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetBillOfMaterialsImportJobAsync(const GetBillOfMaterialsImportJobRequestT& request, const GetBillOfMaterialsImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SupplyChainClient::GetBillOfMaterialsImportJob, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const SupplyChainClientConfiguration& clientConfiguration); + + SupplyChainClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h new file mode 100644 index 00000000000..18c774426ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace SupplyChain +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using SupplyChainClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using SupplyChainClientConfiguration = Aws::Client::GenericClientConfiguration; +using SupplyChainBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the SupplyChain Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using SupplyChainEndpointProviderBase = + EndpointProviderBase; + +using SupplyChainDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_SUPPLYCHAIN_API SupplyChainEndpointProvider : public SupplyChainDefaultEpProviderBase +{ +public: + using SupplyChainResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + SupplyChainEndpointProvider() + : SupplyChainDefaultEpProviderBase(Aws::SupplyChain::SupplyChainEndpointRules::GetRulesBlob(), Aws::SupplyChain::SupplyChainEndpointRules::RulesBlobSize) + {} + + ~SupplyChainEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointRules.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointRules.h new file mode 100644 index 00000000000..7f33575aa31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SupplyChain +{ +class SupplyChainEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrorMarshaller.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrorMarshaller.h new file mode 100644 index 00000000000..645629d5ad6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_SUPPLYCHAIN_API SupplyChainErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrors.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrors.h new file mode 100644 index 00000000000..f831322b3ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace SupplyChain +{ +enum class SupplyChainErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_SUPPLYCHAIN_API SupplyChainError : public Aws::Client::AWSError +{ +public: + SupplyChainError() {} + SupplyChainError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + SupplyChainError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + SupplyChainError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + SupplyChainError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace SupplyChainErrorMapper +{ + AWS_SUPPLYCHAIN_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainRequest.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainRequest.h new file mode 100644 index 00000000000..0af9cf22d1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainRequest.h @@ -0,0 +1,46 @@ +/** + * 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 SupplyChain +{ + class AWS_SUPPLYCHAIN_API SupplyChainRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~SupplyChainRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2024-01-01")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h new file mode 100644 index 00000000000..b3da226e919 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in SupplyChainClient header */ +#include +#include +/* End of service model headers required in SupplyChainClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace SupplyChain + { + using SupplyChainClientConfiguration = Aws::Client::GenericClientConfiguration; + using SupplyChainEndpointProviderBase = Aws::SupplyChain::Endpoint::SupplyChainEndpointProviderBase; + using SupplyChainEndpointProvider = Aws::SupplyChain::Endpoint::SupplyChainEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in SupplyChainClient header */ + class CreateBillOfMaterialsImportJobRequest; + class GetBillOfMaterialsImportJobRequest; + /* End of service model forward declarations required in SupplyChainClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateBillOfMaterialsImportJobOutcome; + typedef Aws::Utils::Outcome GetBillOfMaterialsImportJobOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateBillOfMaterialsImportJobOutcomeCallable; + typedef std::future GetBillOfMaterialsImportJobOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class SupplyChainClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateBillOfMaterialsImportJobResponseReceivedHandler; + typedef std::function&) > GetBillOfMaterialsImportJobResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChain_EXPORTS.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChain_EXPORTS.h new file mode 100644 index 00000000000..82f253e76f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChain_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_SUPPLYCHAIN_EXPORTS + #define AWS_SUPPLYCHAIN_API __declspec(dllexport) + #else + #define AWS_SUPPLYCHAIN_API __declspec(dllimport) + #endif /* AWS_SUPPLYCHAIN_EXPORTS */ + #define AWS_SUPPLYCHAIN_EXTERN + #else + #define AWS_SUPPLYCHAIN_API + #define AWS_SUPPLYCHAIN_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_SUPPLYCHAIN_API + #define AWS_SUPPLYCHAIN_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/BillOfMaterialsImportJob.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/BillOfMaterialsImportJob.h new file mode 100644 index 00000000000..00090261201 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/BillOfMaterialsImportJob.h @@ -0,0 +1,263 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SupplyChain +{ +namespace Model +{ + + /** + *

                      The BillOfMaterialsImportJob details.

                      See Also:

                      AWS + * API Reference

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

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline const Aws::String& GetInstanceId() const{ return m_instanceId; } + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline BillOfMaterialsImportJob& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline BillOfMaterialsImportJob& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} + + /** + *

                      The BillOfMaterialsImportJob instanceId.

                      + */ + inline BillOfMaterialsImportJob& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} + + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline BillOfMaterialsImportJob& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline BillOfMaterialsImportJob& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + + /** + *

                      The BillOfMaterialsImportJob jobId.

                      + */ + inline BillOfMaterialsImportJob& WithJobId(const char* value) { SetJobId(value); return *this;} + + + /** + *

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

                      + */ + inline BillOfMaterialsImportJob& WithStatus(ConfigurationJobStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline const Aws::String& GetS3uri() const{ return m_s3uri; } + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline bool S3uriHasBeenSet() const { return m_s3uriHasBeenSet; } + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline void SetS3uri(const Aws::String& value) { m_s3uriHasBeenSet = true; m_s3uri = value; } + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline void SetS3uri(Aws::String&& value) { m_s3uriHasBeenSet = true; m_s3uri = std::move(value); } + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline void SetS3uri(const char* value) { m_s3uriHasBeenSet = true; m_s3uri.assign(value); } + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline BillOfMaterialsImportJob& WithS3uri(const Aws::String& value) { SetS3uri(value); return *this;} + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline BillOfMaterialsImportJob& WithS3uri(Aws::String&& value) { SetS3uri(std::move(value)); return *this;} + + /** + *

                      The S3 URI from which the CSV is read.

                      + */ + inline BillOfMaterialsImportJob& WithS3uri(const char* value) { SetS3uri(value); return *this;} + + + /** + *

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

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

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be + * a message.

                      + */ + inline BillOfMaterialsImportJob& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + + ConfigurationJobStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_s3uri; + bool m_s3uriHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/ConfigurationJobStatus.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/ConfigurationJobStatus.h new file mode 100644 index 00000000000..4a7e990a4ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/ConfigurationJobStatus.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SupplyChain +{ +namespace Model +{ + enum class ConfigurationJobStatus + { + NOT_SET, + NEW_, + FAILED, + IN_PROGRESS, + QUEUED, + SUCCESS + }; + +namespace ConfigurationJobStatusMapper +{ +AWS_SUPPLYCHAIN_API ConfigurationJobStatus GetConfigurationJobStatusForName(const Aws::String& name); + +AWS_SUPPLYCHAIN_API Aws::String GetNameForConfigurationJobStatus(ConfigurationJobStatus value); +} // namespace ConfigurationJobStatusMapper +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobRequest.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobRequest.h new file mode 100644 index 00000000000..0555354750a --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobRequest.h @@ -0,0 +1,184 @@ +/** + * 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 SupplyChain +{ +namespace Model +{ + + /** + *

                      The request parameters for CreateBillOfMaterialsImportJob.

                      See + * Also:

                      AWS + * API Reference

                      + */ + class CreateBillOfMaterialsImportJobRequest : public SupplyChainRequest + { + public: + AWS_SUPPLYCHAIN_API CreateBillOfMaterialsImportJobRequest(); + + // 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 "CreateBillOfMaterialsImportJob"; } + + AWS_SUPPLYCHAIN_API Aws::String SerializePayload() const override; + + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline const Aws::String& GetInstanceId() const{ return m_instanceId; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} + + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline const Aws::String& GetS3uri() const{ return m_s3uri; } + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline bool S3uriHasBeenSet() const { return m_s3uriHasBeenSet; } + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline void SetS3uri(const Aws::String& value) { m_s3uriHasBeenSet = true; m_s3uri = value; } + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline void SetS3uri(Aws::String&& value) { m_s3uriHasBeenSet = true; m_s3uri = std::move(value); } + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline void SetS3uri(const char* value) { m_s3uriHasBeenSet = true; m_s3uri.assign(value); } + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithS3uri(const Aws::String& value) { SetS3uri(value); return *this;} + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithS3uri(Aws::String&& value) { SetS3uri(std::move(value)); return *this;} + + /** + *

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions + * for AWS Supply Chain to read the file.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithS3uri(const char* value) { SetS3uri(value); return *this;} + + + /** + *

                      An idempotency token.

                      + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

                      An idempotency token.

                      + */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

                      An idempotency token.

                      + */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

                      An idempotency token.

                      + */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

                      An idempotency token.

                      + */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

                      An idempotency token.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

                      An idempotency token.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

                      An idempotency token.

                      + */ + inline CreateBillOfMaterialsImportJobRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + + Aws::String m_s3uri; + bool m_s3uriHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobResult.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobResult.h new file mode 100644 index 00000000000..d52c9b38f83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/CreateBillOfMaterialsImportJobResult.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SupplyChain +{ +namespace Model +{ + /** + *

                      The response parameters of CreateBillOfMaterialsImportJob.

                      See + * Also:

                      AWS + * API Reference

                      + */ + class CreateBillOfMaterialsImportJobResult + { + public: + AWS_SUPPLYCHAIN_API CreateBillOfMaterialsImportJobResult(); + AWS_SUPPLYCHAIN_API CreateBillOfMaterialsImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_SUPPLYCHAIN_API CreateBillOfMaterialsImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                      The new BillOfMaterialsImportJob identifier.

                      + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + + /** + *

                      The new BillOfMaterialsImportJob identifier.

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

                      The new BillOfMaterialsImportJob identifier.

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

                      The new BillOfMaterialsImportJob identifier.

                      + */ + inline void SetJobId(const char* value) { m_jobId.assign(value); } + + /** + *

                      The new BillOfMaterialsImportJob identifier.

                      + */ + inline CreateBillOfMaterialsImportJobResult& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + + /** + *

                      The new BillOfMaterialsImportJob identifier.

                      + */ + inline CreateBillOfMaterialsImportJobResult& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + + /** + *

                      The new BillOfMaterialsImportJob identifier.

                      + */ + inline CreateBillOfMaterialsImportJobResult& WithJobId(const char* value) { SetJobId(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 CreateBillOfMaterialsImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateBillOfMaterialsImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateBillOfMaterialsImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_jobId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobRequest.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobRequest.h new file mode 100644 index 00000000000..b20f001e22e --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobRequest.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SupplyChain +{ +namespace Model +{ + + /** + *

                      The request parameters for GetBillOfMaterialsImportJob.

                      See + * Also:

                      AWS + * API Reference

                      + */ + class GetBillOfMaterialsImportJobRequest : public SupplyChainRequest + { + public: + AWS_SUPPLYCHAIN_API GetBillOfMaterialsImportJobRequest(); + + // 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 "GetBillOfMaterialsImportJob"; } + + AWS_SUPPLYCHAIN_API Aws::String SerializePayload() const override; + + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline const Aws::String& GetInstanceId() const{ return m_instanceId; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} + + /** + *

                      The AWS Supply Chain instance identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} + + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + + /** + *

                      The BillOfMaterialsImportJob identifier.

                      + */ + inline GetBillOfMaterialsImportJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobResult.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobResult.h new file mode 100644 index 00000000000..da7cc289d8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/model/GetBillOfMaterialsImportJobResult.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SupplyChain +{ +namespace Model +{ + /** + *

                      The response parameters for GetBillOfMaterialsImportJob.

                      See + * Also:

                      AWS + * API Reference

                      + */ + class GetBillOfMaterialsImportJobResult + { + public: + AWS_SUPPLYCHAIN_API GetBillOfMaterialsImportJobResult(); + AWS_SUPPLYCHAIN_API GetBillOfMaterialsImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_SUPPLYCHAIN_API GetBillOfMaterialsImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                      The BillOfMaterialsImportJob.

                      + */ + inline const BillOfMaterialsImportJob& GetJob() const{ return m_job; } + + /** + *

                      The BillOfMaterialsImportJob.

                      + */ + inline void SetJob(const BillOfMaterialsImportJob& value) { m_job = value; } + + /** + *

                      The BillOfMaterialsImportJob.

                      + */ + inline void SetJob(BillOfMaterialsImportJob&& value) { m_job = std::move(value); } + + /** + *

                      The BillOfMaterialsImportJob.

                      + */ + inline GetBillOfMaterialsImportJobResult& WithJob(const BillOfMaterialsImportJob& value) { SetJob(value); return *this;} + + /** + *

                      The BillOfMaterialsImportJob.

                      + */ + inline GetBillOfMaterialsImportJobResult& WithJob(BillOfMaterialsImportJob&& value) { SetJob(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 GetBillOfMaterialsImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetBillOfMaterialsImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetBillOfMaterialsImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + BillOfMaterialsImportJob m_job; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp new file mode 100644 index 00000000000..0ecee5b428b --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::SupplyChain; +using namespace Aws::SupplyChain::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* SupplyChainClient::SERVICE_NAME = "scn"; +const char* SupplyChainClient::ALLOCATION_TAG = "SupplyChainClient"; + +SupplyChainClient::SupplyChainClient(const SupplyChain::SupplyChainClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +SupplyChainClient::SupplyChainClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const SupplyChain::SupplyChainClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +SupplyChainClient::SupplyChainClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const SupplyChain::SupplyChainClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + SupplyChainClient::SupplyChainClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SupplyChainClient::SupplyChainClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +SupplyChainClient::SupplyChainClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +SupplyChainClient::~SupplyChainClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& SupplyChainClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void SupplyChainClient::init(const SupplyChain::SupplyChainClientConfiguration& config) +{ + AWSClient::SetServiceClientName("SupplyChain"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void SupplyChainClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateBillOfMaterialsImportJobOutcome SupplyChainClient::CreateBillOfMaterialsImportJob(const CreateBillOfMaterialsImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(CreateBillOfMaterialsImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateBillOfMaterialsImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.InstanceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateBillOfMaterialsImportJob", "Required field: InstanceId, is not set"); + return CreateBillOfMaterialsImportJobOutcome(Aws::Client::AWSError(SupplyChainErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [InstanceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateBillOfMaterialsImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateBillOfMaterialsImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateBillOfMaterialsImportJob", + {{ 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( + [&]()-> CreateBillOfMaterialsImportJobOutcome { + 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, CreateBillOfMaterialsImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/api/configuration/instances/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetInstanceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bill-of-materials-import-jobs"); + return CreateBillOfMaterialsImportJobOutcome(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()}}); +} + +GetBillOfMaterialsImportJobOutcome SupplyChainClient::GetBillOfMaterialsImportJob(const GetBillOfMaterialsImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(GetBillOfMaterialsImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetBillOfMaterialsImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.InstanceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBillOfMaterialsImportJob", "Required field: InstanceId, is not set"); + return GetBillOfMaterialsImportJobOutcome(Aws::Client::AWSError(SupplyChainErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [InstanceId]", false)); + } + if (!request.JobIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetBillOfMaterialsImportJob", "Required field: JobId, is not set"); + return GetBillOfMaterialsImportJobOutcome(Aws::Client::AWSError(SupplyChainErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetBillOfMaterialsImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetBillOfMaterialsImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetBillOfMaterialsImportJob", + {{ 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( + [&]()-> GetBillOfMaterialsImportJobOutcome { + 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, GetBillOfMaterialsImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/api/configuration/instances/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetInstanceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bill-of-materials-import-jobs/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetJobId()); + return GetBillOfMaterialsImportJobOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp new file mode 100644 index 00000000000..f5696ec43f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace SupplyChain +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointRules.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointRules.cpp new file mode 100644 index 00000000000..81566c1b9a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointRules.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace SupplyChain +{ +const size_t SupplyChainEndpointRules::RulesBlobStrLen = 3712; +const size_t SupplyChainEndpointRules::RulesBlobSize = 3713; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','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',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', +'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', +'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', +' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', +'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', +'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', +'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', +'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', +'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', +'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', +'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', +'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', +'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', +' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', +'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','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','"', +':','"','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','"',':','[',']', +',','"','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','"','}',']',',','"','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','"',':','"','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',':','/','/','s','c','n','-','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','"','}',']',',','"','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',':','/','/','s','c','n','-','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',':','/','/','s','c','n', +'.','{','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',':','/','/', +'s','c','n','.','{','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* SupplyChainEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrorMarshaller.cpp new file mode 100644 index 00000000000..47133e4bd8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::SupplyChain; + +AWSError SupplyChainErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = SupplyChainErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrors.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrors.cpp new file mode 100644 index 00000000000..267405268fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainErrors.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::SupplyChain; + +namespace Aws +{ +namespace SupplyChain +{ +namespace SupplyChainErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(SupplyChainErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(SupplyChainErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(SupplyChainErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace SupplyChainErrorMapper +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainRequest.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainRequest.cpp new file mode 100644 index 00000000000..f16944e1dad --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace SupplyChain +{ +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/model/BillOfMaterialsImportJob.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/BillOfMaterialsImportJob.cpp new file mode 100644 index 00000000000..3995aaf485d --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/BillOfMaterialsImportJob.cpp @@ -0,0 +1,120 @@ +/** + * 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 SupplyChain +{ +namespace Model +{ + +BillOfMaterialsImportJob::BillOfMaterialsImportJob() : + m_instanceIdHasBeenSet(false), + m_jobIdHasBeenSet(false), + m_status(ConfigurationJobStatus::NOT_SET), + m_statusHasBeenSet(false), + m_s3uriHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +BillOfMaterialsImportJob::BillOfMaterialsImportJob(JsonView jsonValue) : + m_instanceIdHasBeenSet(false), + m_jobIdHasBeenSet(false), + m_status(ConfigurationJobStatus::NOT_SET), + m_statusHasBeenSet(false), + m_s3uriHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = jsonValue; +} + +BillOfMaterialsImportJob& BillOfMaterialsImportJob::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("instanceId")) + { + m_instanceId = jsonValue.GetString("instanceId"); + + m_instanceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("jobId")) + { + m_jobId = jsonValue.GetString("jobId"); + + m_jobIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ConfigurationJobStatusMapper::GetConfigurationJobStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("s3uri")) + { + m_s3uri = jsonValue.GetString("s3uri"); + + m_s3uriHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue BillOfMaterialsImportJob::Jsonize() const +{ + JsonValue payload; + + if(m_instanceIdHasBeenSet) + { + payload.WithString("instanceId", m_instanceId); + + } + + if(m_jobIdHasBeenSet) + { + payload.WithString("jobId", m_jobId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ConfigurationJobStatusMapper::GetNameForConfigurationJobStatus(m_status)); + } + + if(m_s3uriHasBeenSet) + { + payload.WithString("s3uri", m_s3uri); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/model/ConfigurationJobStatus.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/ConfigurationJobStatus.cpp new file mode 100644 index 00000000000..ea6b3c0b555 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/ConfigurationJobStatus.cpp @@ -0,0 +1,93 @@ +/** + * 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 SupplyChain + { + namespace Model + { + namespace ConfigurationJobStatusMapper + { + + static const int NEW__HASH = HashingUtils::HashString("NEW"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int QUEUED_HASH = HashingUtils::HashString("QUEUED"); + static const int SUCCESS_HASH = HashingUtils::HashString("SUCCESS"); + + + ConfigurationJobStatus GetConfigurationJobStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NEW__HASH) + { + return ConfigurationJobStatus::NEW_; + } + else if (hashCode == FAILED_HASH) + { + return ConfigurationJobStatus::FAILED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return ConfigurationJobStatus::IN_PROGRESS; + } + else if (hashCode == QUEUED_HASH) + { + return ConfigurationJobStatus::QUEUED; + } + else if (hashCode == SUCCESS_HASH) + { + return ConfigurationJobStatus::SUCCESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConfigurationJobStatus::NOT_SET; + } + + Aws::String GetNameForConfigurationJobStatus(ConfigurationJobStatus enumValue) + { + switch(enumValue) + { + case ConfigurationJobStatus::NOT_SET: + return {}; + case ConfigurationJobStatus::NEW_: + return "NEW"; + case ConfigurationJobStatus::FAILED: + return "FAILED"; + case ConfigurationJobStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ConfigurationJobStatus::QUEUED: + return "QUEUED"; + case ConfigurationJobStatus::SUCCESS: + return "SUCCESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConfigurationJobStatusMapper + } // namespace Model + } // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobRequest.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobRequest.cpp new file mode 100644 index 00000000000..1fb10eadbd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SupplyChain::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateBillOfMaterialsImportJobRequest::CreateBillOfMaterialsImportJobRequest() : + m_instanceIdHasBeenSet(false), + m_s3uriHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String CreateBillOfMaterialsImportJobRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_s3uriHasBeenSet) + { + payload.WithString("s3uri", m_s3uri); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobResult.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobResult.cpp new file mode 100644 index 00000000000..6de90226d24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/CreateBillOfMaterialsImportJobResult.cpp @@ -0,0 +1,48 @@ +/** + * 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::SupplyChain::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateBillOfMaterialsImportJobResult::CreateBillOfMaterialsImportJobResult() +{ +} + +CreateBillOfMaterialsImportJobResult::CreateBillOfMaterialsImportJobResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateBillOfMaterialsImportJobResult& CreateBillOfMaterialsImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("jobId")) + { + m_jobId = jsonValue.GetString("jobId"); + + } + + + 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-supplychain/source/model/GetBillOfMaterialsImportJobRequest.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/GetBillOfMaterialsImportJobRequest.cpp new file mode 100644 index 00000000000..ce16d937d27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/GetBillOfMaterialsImportJobRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SupplyChain::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetBillOfMaterialsImportJobRequest::GetBillOfMaterialsImportJobRequest() : + m_instanceIdHasBeenSet(false), + m_jobIdHasBeenSet(false) +{ +} + +Aws::String GetBillOfMaterialsImportJobRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-supplychain/source/model/GetBillOfMaterialsImportJobResult.cpp b/generated/src/aws-cpp-sdk-supplychain/source/model/GetBillOfMaterialsImportJobResult.cpp new file mode 100644 index 00000000000..6062b884548 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/model/GetBillOfMaterialsImportJobResult.cpp @@ -0,0 +1,48 @@ +/** + * 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::SupplyChain::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetBillOfMaterialsImportJobResult::GetBillOfMaterialsImportJobResult() +{ +} + +GetBillOfMaterialsImportJobResult::GetBillOfMaterialsImportJobResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetBillOfMaterialsImportJobResult& GetBillOfMaterialsImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("job")) + { + m_job = jsonValue.GetObject("job"); + + } + + + 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/tests/s3control-gen-tests/S3ControlEndpointProviderTests.cpp b/generated/tests/s3control-gen-tests/S3ControlEndpointProviderTests.cpp index 3cec86fd1f2..5ddac147899 100644 --- a/generated/tests/s3control-gen-tests/S3ControlEndpointProviderTests.cpp +++ b/generated/tests/s3control-gen-tests/S3ControlEndpointProviderTests.cpp @@ -244,25 +244,34 @@ static const Aws::Vector TEST_CASES = {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 19*/ - {"outpost access points do not support dualstack@us-west-2", // documentation + {"outpost access points support dualstack@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost Access Points do not support dual-stack"} // expect + {{/*epUrl*/"https://s3-outposts.us-west-2.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 20*/ - {"outpost access points do not support dualstack@cn-north-1", // documentation - {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), - EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {"outpost access points support dualstack@af-south-1", // documentation + {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), + EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "af-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost Access Points do not support dual-stack"} // expect + {{/*epUrl*/"https://s3-outposts.af-south-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 21*/ - {"outpost access points do not support dualstack@af-south-1", // documentation - {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), - EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "af-south-1"), EpParam("UseDualStack", true)}, // params + {"outpost access points support fips + dualstack@af-south-1", // documentation + {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), + EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Region", "af-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost Access Points do not support dual-stack"} // expect + {{/*epUrl*/"https://s3-outposts-fips.af-south-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 22*/ {"invalid ARN: must be include outpost ID@us-west-2", // documentation @@ -388,6 +397,16 @@ static const Aws::Vector TEST_CASES = {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 36*/ + {"ListRegionalBucket + OutpostId + fips + dualstack@us-east-2", // documentation + {EpParam("RequiresAccountId", true), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Region", "us-east-2"), + EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://s3-outposts-fips.us-east-2.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 37*/ {"CreateBucket + OutpostId endpoint url@us-east-2", // documentation {EpParam("RequiresAccountId", false), EpParam("OutpostId", "123"), EpParam("UseFIPS", true), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "blah"), EpParam("Region", "us-east-2"), EpParam("UseDualStack", false)}, // params @@ -397,19 +416,12 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 37*/ + /*TEST CASE 38*/ {"dualstack cannot be used with outposts when an endpoint URL is set@us-west-2.", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), - EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost Access Points do not support dual-stack"} // expect - }, - /*TEST CASE 38*/ - {"Dual-stack cannot be used with outposts@us-west-2", // documentation - {EpParam("RequiresAccountId", false), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "bucketname"), - EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params + EpParam("UseFIPS", false), EpParam("Endpoint", "https://s3-outposts.us-west-2.api.aws"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outposts do not support dual-stack"} // expect + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: DualStack and custom endpoint are not supported"} // expect }, /*TEST CASE 39*/ {"vanilla bucket arn requires account id@us-west-2", // documentation @@ -462,11 +474,14 @@ static const Aws::Vector TEST_CASES = {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 44*/ - {"Outposts do not support dualstack@us-west-2", // documentation - {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), - EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params + {"bucket ARN in aws partition with fips + dualstack@us-east-2", // documentation + {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), + EpParam("Region", "us-east-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost buckets do not support dual-stack"} // expect + {{/*epUrl*/"https://s3-outposts-fips.us-east-2.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 45*/ {"vanilla bucket arn requires account id@cn-north-1", // documentation @@ -519,11 +534,14 @@ static const Aws::Vector TEST_CASES = {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 50*/ - {"Outposts do not support dualstack@us-west-2", // documentation + {"Outposts support dualstack @us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost buckets do not support dual-stack"} // expect + {{/*epUrl*/"https://s3-outposts.us-west-2.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 51*/ {"vanilla bucket arn requires account id@af-south-1", // documentation @@ -576,41 +594,34 @@ static const Aws::Vector TEST_CASES = {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, /*TEST CASE 56*/ - {"Outposts do not support dualstack@us-west-2", // documentation - {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), - EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost buckets do not support dual-stack"} // expect - }, - /*TEST CASE 57*/ {"Invalid ARN: missing outpost id and bucket@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The Outpost Id was not set"} // expect }, - /*TEST CASE 58*/ + /*TEST CASE 57*/ {"Invalid ARN: missing bucket@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a 4-component resource"} // expect }, - /*TEST CASE 59*/ + /*TEST CASE 58*/ {"Invalid ARN: missing outpost and bucket ids@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:bucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a 4-component resource"} // expect }, - /*TEST CASE 60*/ + /*TEST CASE 59*/ {"Invalid ARN: missing bucket id@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: expected a bucket name"} // expect }, - /*TEST CASE 61*/ + /*TEST CASE 60*/ {"account id inserted into hostname@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("AccountId", "1234567890"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -619,7 +630,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 62*/ + /*TEST CASE 61*/ {"account id prefix with dualstack@us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("AccountId", "1234567890"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -628,7 +639,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 63*/ + /*TEST CASE 62*/ {"account id prefix with fips@us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("AccountId", "1234567890"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -637,7 +648,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 64*/ + /*TEST CASE 63*/ {"custom account id prefix with fips@us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -646,7 +657,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 65*/ + /*TEST CASE 64*/ {"standard url @ us-east-1", // documentation {EpParam("Region", "us-east-1")}, // params {}, // tags @@ -655,7 +666,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 66*/ + /*TEST CASE 65*/ {"fips url @ us-east-1", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params {}, // tags @@ -664,7 +675,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 67*/ + /*TEST CASE 66*/ {"dualstack url @ us-east-1", // documentation {EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -673,7 +684,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 68*/ + /*TEST CASE 67*/ {"fips,dualstack url @ us-east-1", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -682,7 +693,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 69*/ + /*TEST CASE 68*/ {"standard url @ cn-north-1", // documentation {EpParam("Region", "cn-north-1")}, // params {}, // tags @@ -691,13 +702,13 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 70*/ + /*TEST CASE 69*/ {"fips @ cn-north-1", // documentation {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 71*/ + /*TEST CASE 70*/ {"custom account id prefix @us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -706,13 +717,13 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 72*/ + /*TEST CASE 71*/ {"invalid account id prefix @us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("AccountId", "/?invalid¬-host*label"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 73*/ + /*TEST CASE 72*/ {"custom account id prefix with fips@us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -721,7 +732,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 74*/ + /*TEST CASE 73*/ {"custom account id prefix with dualstack,fips@us-east-1", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -730,7 +741,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 75*/ + /*TEST CASE 74*/ {"custom account id with custom endpoint", // documentation {EpParam("RequiresAccountId", true), EpParam("AccountId", "123456789012"), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags @@ -739,25 +750,25 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 76*/ + /*TEST CASE 75*/ {"RequiresAccountId with AccountId unset", // documentation {EpParam("RequiresAccountId", true), EpParam("Region", "us-east-1")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId is required but not set"} // expect }, - /*TEST CASE 77*/ + /*TEST CASE 76*/ {"RequiresAccountId with AccountId unset and custom endpoint", // documentation {EpParam("RequiresAccountId", true), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId is required but not set"} // expect }, - /*TEST CASE 78*/ + /*TEST CASE 77*/ {"RequiresAccountId with invalid AccountId and custom endpoint", // documentation {EpParam("RequiresAccountId", true), EpParam("AccountId", "/?invalid¬-host*label"), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 79*/ + /*TEST CASE 78*/ {"account id with custom endpoint, fips", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", true), EpParam("AccountId", "123456789012"), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags @@ -766,7 +777,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 80*/ + /*TEST CASE 79*/ {"custom endpoint, fips", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags @@ -775,7 +786,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 81*/ + /*TEST CASE 80*/ {"custom endpoint, fips", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params {}, // tags @@ -784,58 +795,58 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 82*/ + /*TEST CASE 81*/ {"custom endpoint, DualStack", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: DualStack and custom endpoint are not supported"} // expect }, - /*TEST CASE 83*/ + /*TEST CASE 82*/ {"region not set", // documentation {}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Region must be set"} // expect }, - /*TEST CASE 84*/ + /*TEST CASE 83*/ {"invalid partition", // documentation {EpParam("Region", "invalid-region 42")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 85*/ + /*TEST CASE 84*/ {"ListRegionalBuckets + OutpostId without accountId set.", // documentation {EpParam("RequiresAccountId", true), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", false), EpParam("Region", "us-east-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId is required but not set"} // expect }, - /*TEST CASE 86*/ + /*TEST CASE 85*/ {"ListRegionalBuckets + OutpostId with invalid accountId set.", // documentation {EpParam("RequiresAccountId", true), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", false), EpParam("AccountId", "/?invalid¬-host*label"), EpParam("Region", "us-east-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 87*/ + /*TEST CASE 86*/ {"accesspoint set but missing accountId", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "myaccesspoint"), EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"AccountId is required but not set"} // expect }, - /*TEST CASE 88*/ + /*TEST CASE 87*/ {"outpost accesspoint ARN with missing accountId", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:outpost:op1"), EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: missing account ID"} // expect }, - /*TEST CASE 89*/ + /*TEST CASE 88*/ {"bucket ARN with missing accountId", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:bucket:mybucket"), EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: missing account ID"} // expect }, - /*TEST CASE 90*/ + /*TEST CASE 89*/ {"endpoint url with accesspoint (non-arn)", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "apname"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params @@ -845,7 +856,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 91*/ + /*TEST CASE 90*/ {"access point name with an accesspoint arn@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params @@ -855,49 +866,49 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, - /*TEST CASE 92*/ + /*TEST CASE 91*/ {"DualStack + Custom endpoint is not supported(non-arn)", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "apname"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Endpoint", "https://beta.example.com"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: DualStack and custom endpoint are not supported"} // expect }, - /*TEST CASE 93*/ - {"get bucket with endpoint_url and dualstack is not supported@us-west-2", // documentation - {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), + /*TEST CASE 92*/ + {"get bucket with custom endpoint and dualstack is not supported@us-west-2", // documentation + {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://s3-outposts.us-west-2.api.aws"), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid configuration: Outpost buckets do not support dual-stack"} // expect + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: DualStack and custom endpoint are not supported"} // expect }, - /*TEST CASE 94*/ + /*TEST CASE 93*/ {"ListRegionalBuckets + OutpostId with fips in CN.", // documentation {EpParam("RequiresAccountId", true), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", true), EpParam("AccountId", "0123456789012"), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 95*/ + /*TEST CASE 94*/ {"ListRegionalBuckets + invalid OutpostId.", // documentation {EpParam("RequiresAccountId", true), EpParam("OutpostId", "?outpost/invalid+"), EpParam("UseFIPS", false), EpParam("AccountId", "0123456789012"), EpParam("Region", "us-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"OutpostId must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 96*/ + /*TEST CASE 95*/ {"bucket ARN with mismatched accountId", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("AccountId", "0123456789012"), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:999999:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: the accountId specified in the ARN (`999999`) does not match the parameter (`0123456789012`)"} // expect }, - /*TEST CASE 97*/ + /*TEST CASE 96*/ {"OutpostId with invalid region", // documentation {EpParam("RequiresAccountId", true), EpParam("OutpostId", "op-123"), EpParam("UseFIPS", false), EpParam("AccountId", "0123456"), EpParam("Region", "invalid-region 42"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 98*/ + /*TEST CASE 97*/ {"OutpostId with RequireAccountId unset", // documentation {EpParam("OutpostId", "op-123"), EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -906,21 +917,21 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 99*/ + /*TEST CASE 98*/ {"Outpost Accesspoint ARN with arn region and client region mismatch with UseArnRegion=false", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 100*/ + /*TEST CASE 99*/ {"Outpost Bucket ARN with arn region and client region mismatch with UseArnRegion=false", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 101*/ + /*TEST CASE 100*/ {"Accesspoint ARN with region mismatch and UseArnRegion unset", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params @@ -930,7 +941,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, - /*TEST CASE 102*/ + /*TEST CASE 101*/ {"Bucket ARN with region mismatch and UseArnRegion unset", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params @@ -940,28 +951,28 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, - /*TEST CASE 103*/ + /*TEST CASE 102*/ {"Outpost Bucket ARN with partition mismatch with UseArnRegion=true", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN has `aws-cn`"} // expect }, - /*TEST CASE 104*/ + /*TEST CASE 103*/ {"Accesspoint ARN with partition mismatch and UseArnRegion=true", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("AccountId", "123456789012"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN has `aws-cn`"} // expect }, - /*TEST CASE 105*/ + /*TEST CASE 104*/ {"Accesspoint ARN with region mismatch, UseArnRegion=false and custom endpoint", // documentation {EpParam("RequiresAccountId", true), EpParam("AccessPointName", "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `cn-north-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 106*/ + /*TEST CASE 105*/ {"outpost bucket arn@us-west-2", // documentation {EpParam("RequiresAccountId", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params @@ -971,7 +982,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/{"x-amz-account-id", {"123456789012"}}, {"x-amz-outpost-id", {"op-01234567890123456"}}}}, {/*No error*/}} // expect }, - /*TEST CASE 107*/ + /*TEST CASE 106*/ {"S3 Snow Control with bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -980,7 +991,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 108*/ + /*TEST CASE 107*/ {"S3 Snow Control without bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Region", "snow"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -989,7 +1000,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 109*/ + /*TEST CASE 108*/ {"S3 Snow Control with bucket and without port", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -998,7 +1009,7 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 110*/ + /*TEST CASE 109*/ {"S3 Snow Control with bucket and with DNS", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://s3snow.com"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1007,13 +1018,13 @@ static const Aws::Vector TEST_CASES = {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 111*/ + /*TEST CASE 110*/ {"S3 Snow Control with FIPS enabled", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Snow does not support FIPS"} // expect }, - /*TEST CASE 112*/ + /*TEST CASE 111*/ {"S3 Snow Control with Dualstack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("UseDualStack", true)}, // params {}, // tags diff --git a/generated/tests/supplychain-gen-tests/CMakeLists.txt b/generated/tests/supplychain-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..88d05c41974 --- /dev/null +++ b/generated/tests/supplychain-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(supplychain-gen-tests + "Tests for the AWS SUPPLYCHAIN C++ SDK" + testing-resources + aws-cpp-sdk-supplychain + aws-cpp-sdk-core) + +file(GLOB AWS_SUPPLYCHAIN_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_SUPPLYCHAIN_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_SUPPLYCHAIN_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/supplychain-gen-tests/RunTests.cpp b/generated/tests/supplychain-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/supplychain-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/supplychain-gen-tests/SupplyChainEndpointProviderTests.cpp b/generated/tests/supplychain-gen-tests/SupplyChainEndpointProviderTests.cpp new file mode 100644 index 00000000000..527a536a858 --- /dev/null +++ b/generated/tests/supplychain-gen-tests/SupplyChainEndpointProviderTests.cpp @@ -0,0 +1,402 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSSupplyChainEndpointProviderTests"; +using SupplyChainEndpointProvider = Aws::SupplyChain::Endpoint::SupplyChainEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +class SupplyChainEndpointProviderTests : public ::testing::TestWithParam {}; + +struct SupplyChainEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), 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 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), 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 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-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 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // 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 + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://scn.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const SupplyChainEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(SupplyChainEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const SupplyChainEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize SupplyChainEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + SupplyChainEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); 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 9803dc7fb69..2fce96f6c24 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.241" +#define AWS_SDK_VERSION_STRING "1.11.242" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 241 +#define AWS_SDK_VERSION_PATCH 242 diff --git a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json index 8bc2eeafc02..3b9dbd616a9 100644 --- a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json +++ b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json @@ -10130,14 +10130,14 @@ "members":{ "Value":{ "shape":"EvaluationNoteString", - "documentation":"

                      The note for an item (section or question) in a contact evaluation.

                      " + "documentation":"

                      The note for an item (section or question) in a contact evaluation.

                      Even though a note in an evaluation can have up to 3072 chars, there is also a limit on the total number of chars for all the notes in the evaluation combined. Assuming there are N questions in the evaluation being submitted, then the max char limit for all notes combined is N x 1024.

                      " } }, "documentation":"

                      Information about notes for a contact evaluation.

                      " }, "EvaluationNoteString":{ "type":"string", - "max":1024, + "max":3072, "min":0 }, "EvaluationNotesMap":{ @@ -10490,15 +10490,15 @@ }, "Filters":{ "shape":"Filters", - "documentation":"

                      The filters to apply to returned metrics. You can filter up to the following limits:

                      • Queues: 100

                      • Routing profiles: 100

                      • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

                      Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

                      Currently tagging is only supported on the resources that are passed in the filter.

                      " + "documentation":"

                      The filters to apply to returned metrics. You can filter up to the following limits:

                      • Queues: 100

                      • Routing profiles: 100

                      • Channels: 3 (VOICE, CHAT, and TASK channels are supported.)

                      • RoutingStepExpressions: 50

                      Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

                      When using RoutingStepExpression, you need to pass exactly one QueueId.

                      Currently tagging is only supported on the resources that are passed in the filter.

                      " }, "Groupings":{ "shape":"Groupings", - "documentation":"

                      The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

                      • If you group by CHANNEL, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.

                      • If you group by ROUTING_PROFILE, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

                      • If no Grouping is included in the request, a summary of metrics is returned.

                      " + "documentation":"

                      The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

                      • If you group by CHANNEL, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.

                      • If you group by ROUTING_PROFILE, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

                      • If no Grouping is included in the request, a summary of metrics is returned.

                      • When using the RoutingStepExpression filter, group by ROUTING_STEP_EXPRESSION is required.

                      " }, "CurrentMetrics":{ "shape":"CurrentMetrics", - "documentation":"

                      The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

                      AGENTS_AFTER_CONTACT_WORK

                      Unit: COUNT

                      Name in real-time metrics report: ACW

                      AGENTS_AVAILABLE

                      Unit: COUNT

                      Name in real-time metrics report: Available

                      AGENTS_ERROR

                      Unit: COUNT

                      Name in real-time metrics report: Error

                      AGENTS_NON_PRODUCTIVE

                      Unit: COUNT

                      Name in real-time metrics report: NPT (Non-Productive Time)

                      AGENTS_ON_CALL

                      Unit: COUNT

                      Name in real-time metrics report: On contact

                      AGENTS_ON_CONTACT

                      Unit: COUNT

                      Name in real-time metrics report: On contact

                      AGENTS_ONLINE

                      Unit: COUNT

                      Name in real-time metrics report: Online

                      AGENTS_STAFFED

                      Unit: COUNT

                      Name in real-time metrics report: Staffed

                      CONTACTS_IN_QUEUE

                      Unit: COUNT

                      Name in real-time metrics report: In queue

                      CONTACTS_SCHEDULED

                      Unit: COUNT

                      Name in real-time metrics report: Scheduled

                      OLDEST_CONTACT_AGE

                      Unit: SECONDS

                      When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

                      When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

                      { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0 }

                      The actual OLDEST_CONTACT_AGE is 24 seconds.

                      Name in real-time metrics report: Oldest

                      SLOTS_ACTIVE

                      Unit: COUNT

                      Name in real-time metrics report: Active

                      SLOTS_AVAILABLE

                      Unit: COUNT

                      Name in real-time metrics report: Availability

                      " + "documentation":"

                      The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

                      AGENTS_AFTER_CONTACT_WORK

                      Unit: COUNT

                      Name in real-time metrics report: ACW

                      AGENTS_AVAILABLE

                      Unit: COUNT

                      Name in real-time metrics report: Available

                      AGENTS_ERROR

                      Unit: COUNT

                      Name in real-time metrics report: Error

                      AGENTS_NON_PRODUCTIVE

                      Unit: COUNT

                      Name in real-time metrics report: NPT (Non-Productive Time)

                      AGENTS_ON_CALL

                      Unit: COUNT

                      Name in real-time metrics report: On contact

                      AGENTS_ON_CONTACT

                      Unit: COUNT

                      Name in real-time metrics report: On contact

                      AGENTS_ONLINE

                      Unit: COUNT

                      Name in real-time metrics report: Online

                      AGENTS_STAFFED

                      Unit: COUNT

                      Name in real-time metrics report: Staffed

                      CONTACTS_IN_QUEUE

                      Unit: COUNT

                      Name in real-time metrics report: In queue

                      CONTACTS_SCHEDULED

                      Unit: COUNT

                      Name in real-time metrics report: Scheduled

                      OLDEST_CONTACT_AGE

                      Unit: SECONDS

                      When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

                      When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

                      { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0 }

                      The actual OLDEST_CONTACT_AGE is 24 seconds.

                      When the filter RoutingStepExpression is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under <Expression 1> for 10 seconds has expired and <Expression 2> becomes active, then OLDEST_CONTACT_AGE for this queue will be counted starting from 10, not 0.

                      Name in real-time metrics report: Oldest

                      SLOTS_ACTIVE

                      Unit: COUNT

                      Name in real-time metrics report: Active

                      SLOTS_AVAILABLE

                      Unit: COUNT

                      Name in real-time metrics report: Availability

                      " }, "NextToken":{ "shape":"NextToken", @@ -10685,11 +10685,11 @@ }, "Filters":{ "shape":"Filters", - "documentation":"

                      The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

                      To filter by Queues, enter the queue ID/ARN, not the name of the queue.

                      " + "documentation":"

                      The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

                      RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

                      To filter by Queues, enter the queue ID/ARN, not the name of the queue.

                      " }, "Groupings":{ "shape":"Groupings", - "documentation":"

                      The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

                      If no grouping is specified, a summary of metrics for all queues is returned.

                      " + "documentation":"

                      The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

                      If no grouping is specified, a summary of metrics for all queues is returned.

                      RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

                      " }, "HistoricalMetrics":{ "shape":"HistoricalMetrics", @@ -10747,15 +10747,15 @@ }, "Filters":{ "shape":"FiltersV2List", - "documentation":"

                      The filters to apply to returned metrics. You can filter on the following resources:

                      • Queues

                      • Routing profiles

                      • Agents

                      • Channels

                      • User hierarchy groups

                      • Feature

                      At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

                      To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

                      Note the following limits:

                      • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | contact/segmentAttributes/connect:Subtype

                      • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

                        contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

                        connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

                      " + "documentation":"

                      The filters to apply to returned metrics. You can filter on the following resources:

                      • Queues

                      • Routing profiles

                      • Agents

                      • Channels

                      • User hierarchy groups

                      • Feature

                      • Routing step expression

                      At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

                      To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

                      Note the following limits:

                      • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

                      • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

                        contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

                        connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

                        ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length.

                      " }, "Groupings":{ "shape":"GroupingsV2", - "documentation":"

                      The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

                      If no grouping is specified, a summary of all metrics is returned.

                      Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype

                      " + "documentation":"

                      The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

                      If no grouping is specified, a summary of all metrics is returned.

                      Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

                      " }, "Metrics":{ "shape":"MetricsV2", - "documentation":"

                      The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

                      ABANDONMENT_RATE

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AGENT_ADHERENT_TIME

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_ANSWER_RATE

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_ADHERENT_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_RESPONSE

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

                      AGENT_OCCUPANCY

                      Unit: Percentage

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      AGENT_SCHEDULE_ADHERENCE

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_SCHEDULED_TIME

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_ABANDON_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AVG_ACTIVE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_AFTER_CONTACT_WORK_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_AGENT_CONNECTING_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      The Negate key in Metric Level Filters is not applicable for this metric.

                      AVG_AGENT_PAUSE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_CONTACT_DURATION

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_CONVERSATION_DURATION

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AVG_GREETING_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_HANDLE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_HOLD_TIME_ALL_CONTACTS

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_HOLDS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_INTERACTION_AND_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_INTERACTION_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_INTERRUPTIONS_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_INTERRUPTION_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_NON_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_QUEUE_ANSWER_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_RESOLUTION_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME_CUSTOMER

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_ABANDONED

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_CREATED

                      Unit: Count

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_HANDLED

                      Unit: Count

                      Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_HOLD_ABANDONS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_ON_HOLD_AGENT_DISCONNECT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_PUT_ON_HOLD

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_TRANSFERRED_OUT_EXTERNAL

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_TRANSFERRED_OUT_INTERNAL

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_QUEUED

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_RESOLVED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      CONTACTS_TRANSFERRED_OUT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_TRANSFERRED_OUT_BY_AGENT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      MAX_QUEUED_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_NON_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME_CUSTOMER

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      SERVICE_LEVEL

                      You can include up to 20 SERVICE_LEVEL metrics in a request.

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      SUM_AFTER_CONTACT_WORK_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONNECTING_TIME_AGENT

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      The Negate key in Metric Level Filters is not applicable for this metric.

                      SUM_CONTACT_FLOW_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONTACT_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONTACTS_ANSWERED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      SUM_CONTACTS_ABANDONED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      SUM_CONTACTS_DISCONNECTED

                      Valid metric filter key: DISCONNECT_REASON

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      SUM_ERROR_STATUS_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_HANDLE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_HOLD_TIME

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_IDLE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_INTERACTION_AND_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_INTERACTION_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_NON_PRODUCTIVE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_ONLINE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_RETRY_CALLBACK_ATTEMPTS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      " + "documentation":"

                      The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

                      ABANDONMENT_RATE

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AGENT_ADHERENT_TIME

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_ANSWER_RATE

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_ADHERENT_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_RESPONSE

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

                      AGENT_OCCUPANCY

                      Unit: Percentage

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      AGENT_SCHEDULE_ADHERENCE

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AGENT_SCHEDULED_TIME

                      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_ABANDON_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AVG_ACTIVE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_AFTER_CONTACT_WORK_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_AGENT_CONNECTING_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      The Negate key in Metric Level Filters is not applicable for this metric.

                      AVG_AGENT_PAUSE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      AVG_CONTACT_DURATION

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_CONVERSATION_DURATION

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      AVG_GREETING_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_HANDLE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

                      Feature is a valid filter but not a valid grouping.

                      AVG_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_HOLD_TIME_ALL_CONTACTS

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_HOLDS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_INTERACTION_AND_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_INTERACTION_TIME

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_INTERRUPTIONS_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_INTERRUPTION_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_NON_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_QUEUE_ANSWER_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      AVG_RESOLUTION_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      AVG_TALK_TIME_CUSTOMER

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_ABANDONED

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

                      CONTACTS_CREATED

                      Unit: Count

                      Valid metric filter key: INITIATION_METHOD

                      Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_HANDLED

                      Unit: Count

                      Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_HOLD_ABANDONS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_ON_HOLD_AGENT_DISCONNECT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_PUT_ON_HOLD

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_TRANSFERRED_OUT_EXTERNAL

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_TRANSFERRED_OUT_INTERNAL

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      CONTACTS_QUEUED

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_RESOLVED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      CONTACTS_TRANSFERRED_OUT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

                      Feature is a valid filter but not a valid grouping.

                      CONTACTS_TRANSFERRED_OUT_BY_AGENT

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      MAX_QUEUED_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_CONTACTS_STEP_EXPIRED

                      Unit: Percent

                      Valid groupings and filters: Queue, RoutingStepExpression

                      PERCENT_CONTACTS_STEP_JOINED

                      Unit: Percent

                      Valid groupings and filters: Queue, RoutingStepExpression

                      PERCENT_NON_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME_AGENT

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      PERCENT_TALK_TIME_CUSTOMER

                      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

                      Unit: Percentage

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      SERVICE_LEVEL

                      You can include up to 20 SERVICE_LEVEL metrics in a request.

                      Unit: Percent

                      Valid groupings and filters: Queue, Channel, Routing Profile

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      STEP_CONTACTS_QUEUED

                      Unit: Count

                      Valid groupings and filters: Queue, RoutingStepExpression

                      SUM_AFTER_CONTACT_WORK_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONNECTING_TIME_AGENT

                      Unit: Seconds

                      Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      The Negate key in Metric Level Filters is not applicable for this metric.

                      SUM_CONTACT_FLOW_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONTACT_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_CONTACTS_ANSWERED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      SUM_CONTACTS_ABANDONED_IN_X

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

                      SUM_CONTACTS_DISCONNECTED

                      Valid metric filter key: DISCONNECT_REASON

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

                      SUM_ERROR_STATUS_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_HANDLE_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_HOLD_TIME

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_IDLE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_INTERACTION_AND_HOLD_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_INTERACTION_TIME

                      Unit: Seconds

                      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

                      SUM_NON_PRODUCTIVE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_ONLINE_TIME_AGENT

                      Unit: Seconds

                      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

                      SUM_RETRY_CALLBACK_ATTEMPTS

                      Unit: Count

                      Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

                      " }, "NextToken":{ "shape":"NextToken2500", @@ -11625,7 +11625,8 @@ "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE", "HIGH_VOLUME_OUTBOUND", - "ENHANCED_CONTACT_MONITORING" + "ENHANCED_CONTACT_MONITORING", + "ENHANCED_CHAT_MONITORING" ] }, "InstanceAttributeValue":{ @@ -14310,7 +14311,7 @@ }, "AllowedMonitorCapabilities":{ "shape":"AllowedMonitorCapabilities", - "documentation":"

                      Specify which monitoring actions the user is allowed to take. For example, whether the user is allowed to escalate from silent monitoring to barge.

                      " + "documentation":"

                      Specify which monitoring actions the user is allowed to take. For example, whether the user is allowed to escalate from silent monitoring to barge. AllowedMonitorCapabilities is required if barge is enabled.

                      " }, "ClientToken":{ "shape":"ClientToken", @@ -14536,7 +14537,8 @@ "AGENT", "CUSTOMER", "SYSTEM", - "CUSTOM_BOT" + "CUSTOM_BOT", + "SUPERVISOR" ] }, "ParticipantTimerAction":{ diff --git a/tools/code-generation/api-descriptions/connectparticipant-2018-09-07.normal.json b/tools/code-generation/api-descriptions/connectparticipant-2018-09-07.normal.json index 15131de43c3..1230bf27ab9 100644 --- a/tools/code-generation/api-descriptions/connectparticipant-2018-09-07.normal.json +++ b/tools/code-generation/api-descriptions/connectparticipant-2018-09-07.normal.json @@ -124,7 +124,8 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConflictException"} ], "documentation":"

                      Sends an event.

                      ConnectionToken is used for invoking this API instead of ParticipantToken.

                      The Amazon Connect Participant Service APIs do not use Signature Version 4 authentication.

                      " }, @@ -634,7 +635,8 @@ "AGENT", "CUSTOMER", "SYSTEM", - "CUSTOM_BOT" + "CUSTOM_BOT", + "SUPERVISOR" ] }, "ParticipantToken":{ @@ -706,7 +708,8 @@ "PARTICIPANT", "HIERARCHY_LEVEL", "HIERARCHY_GROUP", - "USER" + "USER", + "PHONE_NUMBER" ] }, "ScanDirection":{ diff --git a/tools/code-generation/api-descriptions/location-2020-11-19.normal.json b/tools/code-generation/api-descriptions/location-2020-11-19.normal.json index d932a579eee..d9ac4344fe2 100644 --- a/tools/code-generation/api-descriptions/location-2020-11-19.normal.json +++ b/tools/code-generation/api-descriptions/location-2020-11-19.normal.json @@ -3268,7 +3268,7 @@ "members":{ "FontStack":{ "shape":"String", - "documentation":"

                      A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

                      Valid font stacks for Esri styles:

                      • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

                      • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

                      • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

                      • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

                      • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

                      Valid font stacks for HERE Technologies styles:

                      • VectorHereContrast – Fira GO Regular | Fira GO Bold

                      • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

                      Valid font stacks for GrabMaps styles:

                      • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

                      Valid font stacks for Open Data styles:

                      • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

                      The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

                      ", + "documentation":"

                      A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

                      Valid font stacks for Esri styles:

                      • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

                      • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

                      • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

                      • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

                      • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold | Arial Unicode MS Bold | Arial Unicode MS Regular

                      Valid font stacks for HERE Technologies styles:

                      • VectorHereContrast – Fira GO Regular | Fira GO Bold

                      • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

                      Valid font stacks for GrabMaps styles:

                      • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

                      Valid font stacks for Open Data styles:

                      • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

                      The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

                      ", "location":"uri", "locationName":"FontStack" }, @@ -3513,7 +3513,7 @@ }, "PlaceId":{ "shape":"PlaceId", - "documentation":"

                      The identifier of the place to find.

                      ", + "documentation":"

                      The identifier of the place to find.

                      While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

                      • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

                      • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

                      • Grab: Place IDs can expire or become invalid in the following situations.

                        • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

                        • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

                      ", "location":"uri", "locationName":"PlaceId" } @@ -4331,7 +4331,7 @@ "members":{ "CustomLayers":{ "shape":"CustomLayerList", - "documentation":"

                      Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

                      Not all map resources or styles support custom layers. See Custom Layers for more information.

                      " + "documentation":"

                      Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

                      Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

                      " }, "PoliticalView":{ "shape":"CountryCode3", @@ -4339,7 +4339,7 @@ }, "Style":{ "shape":"MapStyle", - "documentation":"

                      Specifies the map style selected from an available data provider.

                      Valid Esri map styles:

                      • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

                      • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

                      • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

                      • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

                      • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

                      • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices.

                      Valid HERE Technologies map styles:

                      • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

                        The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

                      • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

                      • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

                      • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

                      • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

                        Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

                      Valid GrabMaps map styles:

                      • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

                      • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

                      Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

                      Valid Open Data map styles:

                      • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

                      • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

                      • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

                      • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

                      " + "documentation":"

                      Specifies the map style selected from an available data provider.

                      Valid Esri map styles:

                      • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices. It also includes a richer set of places, such as shops, services, restaurants, attractions, and other points of interest. Enable the POI layer by setting it in CustomLayers to leverage the additional places data.

                      • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

                      • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

                      • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

                      • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

                      • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

                      Valid HERE Technologies map styles:

                      • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

                      • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

                      • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

                        Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

                      • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

                        The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

                      • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

                      Valid GrabMaps map styles:

                      • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

                      • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

                      Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

                      Valid Open Data map styles:

                      • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

                      • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

                      • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

                      • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

                      " } }, "documentation":"

                      Specifies the map tile style selected from an available provider.

                      " @@ -4349,7 +4349,7 @@ "members":{ "CustomLayers":{ "shape":"CustomLayerList", - "documentation":"

                      Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

                      Not all map resources or styles support custom layers. See Custom Layers for more information.

                      " + "documentation":"

                      Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

                      Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

                      " }, "PoliticalView":{ "shape":"CountryCode3OrEmpty", @@ -4418,7 +4418,7 @@ }, "SubMunicipality":{ "shape":"String", - "documentation":"

                      An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

                      This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

                      " + "documentation":"

                      An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

                      This property is only returned for a place index that uses Esri as a data provider. The property is represented as a district.

                      For more information about data providers, see Amazon Location Service data providers.

                      " }, "SubRegion":{ "shape":"String", @@ -4434,11 +4434,11 @@ }, "UnitNumber":{ "shape":"String", - "documentation":"

                      For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

                      Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

                      " + "documentation":"

                      For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

                      This property is returned only for a place index that uses Esri or Grab as a data provider. It is not returned for SearchPlaceIndexForPosition.

                      " }, "UnitType":{ "shape":"String", - "documentation":"

                      For addresses with a UnitNumber, the type of unit. For example, Apartment.

                      Returned only for a place index that uses Esri as a data provider.

                      " + "documentation":"

                      For addresses with a UnitNumber, the type of unit. For example, Apartment.

                      This property is returned only for a place index that uses Esri as a data provider.

                      " } }, "documentation":"

                      Contains details about addresses or points of interest that match the search criteria.

                      Not all details are included with all responses. Some details may only be returned by specific data partners.

                      " @@ -4728,7 +4728,7 @@ }, "PlaceId":{ "shape":"PlaceId", - "documentation":"

                      The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

                      The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

                      For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

                      " + "documentation":"

                      The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

                      The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

                      For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

                      While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

                      • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

                      • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

                      • Grab: Place IDs can expire or become invalid in the following situations.

                        • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

                        • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

                      " }, "SupplementalCategories":{ "shape":"PlaceSupplementalCategoryList", diff --git a/tools/code-generation/api-descriptions/mwaa-2020-07-01.normal.json b/tools/code-generation/api-descriptions/mwaa-2020-07-01.normal.json index b192cb4714e..7f7a4766d75 100644 --- a/tools/code-generation/api-descriptions/mwaa-2020-07-01.normal.json +++ b/tools/code-generation/api-descriptions/mwaa-2020-07-01.normal.json @@ -221,6 +221,11 @@ "value":{"shape":"ConfigValue"}, "sensitive":true }, + "AirflowIdentity":{ + "type":"string", + "max":64, + "min":1 + }, "AirflowVersion":{ "type":"string", "max":32, @@ -408,6 +413,14 @@ "CreateWebLoginTokenResponse":{ "type":"structure", "members":{ + "AirflowIdentity":{ + "shape":"AirflowIdentity", + "documentation":"

                      The user name of the Apache Airflow identity creating the web login token.

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

                      The name of the IAM identity creating the web login token. This might be an IAM user, or an assumed or federated identity. For example, assumed-role/Admin/your-name.

                      " + }, "WebServerHostname":{ "shape":"Hostname", "documentation":"

                      The Airflow web server hostname for the environment.

                      " @@ -678,6 +691,7 @@ "min":1, "pattern":"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$" }, + "IamIdentity":{"type":"string"}, "IamRoleArn":{ "type":"string", "max":1224, diff --git a/tools/code-generation/api-descriptions/supplychain-2024-01-01.normal.json b/tools/code-generation/api-descriptions/supplychain-2024-01-01.normal.json new file mode 100644 index 00000000000..9167dd94797 --- /dev/null +++ b/tools/code-generation/api-descriptions/supplychain-2024-01-01.normal.json @@ -0,0 +1,274 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-01-01", + "endpointPrefix":"scn", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Supply Chain", + "serviceId":"SupplyChain", + "signatureVersion":"v4", + "signingName":"scn", + "uid":"supplychain-2024-01-01" + }, + "operations":{ + "CreateBillOfMaterialsImportJob":{ + "name":"CreateBillOfMaterialsImportJob", + "http":{ + "method":"POST", + "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs", + "responseCode":200 + }, + "input":{"shape":"CreateBillOfMaterialsImportJobRequest"}, + "output":{"shape":"CreateBillOfMaterialsImportJobResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                      CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For information on the product_bom entity, see the AWS Supply Chain User Guide.

                      The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use the same Amazon S3 bucket created during your AWS Supply Chain instance creation.

                      ", + "idempotent":true + }, + "GetBillOfMaterialsImportJob":{ + "name":"GetBillOfMaterialsImportJob", + "http":{ + "method":"GET", + "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs/{jobId}", + "responseCode":200 + }, + "input":{"shape":"GetBillOfMaterialsImportJobRequest"}, + "output":{"shape":"GetBillOfMaterialsImportJobResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                      Get status and details of a BillOfMaterialsImportJob.

                      " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      You do not have the required privileges to perform this action.

                      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "BillOfMaterialsImportJob":{ + "type":"structure", + "required":[ + "instanceId", + "jobId", + "status", + "s3uri" + ], + "members":{ + "instanceId":{ + "shape":"UUID", + "documentation":"

                      The BillOfMaterialsImportJob instanceId.

                      " + }, + "jobId":{ + "shape":"UUID", + "documentation":"

                      The BillOfMaterialsImportJob jobId.

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

                      The BillOfMaterialsImportJob ConfigurationJobStatus.

                      " + }, + "s3uri":{ + "shape":"ConfigurationS3Uri", + "documentation":"

                      The S3 URI from which the CSV is read.

                      " + }, + "message":{ + "shape":"String", + "documentation":"

                      When the BillOfMaterialsImportJob has reached a terminal state, there will be a message.

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

                      The BillOfMaterialsImportJob details.

                      " + }, + "ClientToken":{ + "type":"string", + "documentation":"

                      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

                      ", + "max":126, + "min":33 + }, + "ConfigurationJobStatus":{ + "type":"string", + "documentation":"

                      The status of the job.

                      ", + "enum":[ + "NEW", + "FAILED", + "IN_PROGRESS", + "QUEUED", + "SUCCESS" + ] + }, + "ConfigurationS3Uri":{ + "type":"string", + "min":10, + "pattern":"[sS]3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.+" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      Updating or deleting a resource can cause an inconsistent state.

                      ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateBillOfMaterialsImportJobRequest":{ + "type":"structure", + "required":[ + "instanceId", + "s3uri" + ], + "members":{ + "instanceId":{ + "shape":"UUID", + "documentation":"

                      The AWS Supply Chain instance identifier.

                      ", + "location":"uri", + "locationName":"instanceId" + }, + "s3uri":{ + "shape":"ConfigurationS3Uri", + "documentation":"

                      The S3 URI of the CSV file to be imported. The bucket must grant permissions for AWS Supply Chain to read the file.

                      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

                      An idempotency token.

                      ", + "idempotencyToken":true + } + }, + "documentation":"

                      The request parameters for CreateBillOfMaterialsImportJob.

                      " + }, + "CreateBillOfMaterialsImportJobResponse":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"UUID", + "documentation":"

                      The new BillOfMaterialsImportJob identifier.

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

                      The response parameters of CreateBillOfMaterialsImportJob.

                      " + }, + "GetBillOfMaterialsImportJobRequest":{ + "type":"structure", + "required":[ + "instanceId", + "jobId" + ], + "members":{ + "instanceId":{ + "shape":"UUID", + "documentation":"

                      The AWS Supply Chain instance identifier.

                      ", + "location":"uri", + "locationName":"instanceId" + }, + "jobId":{ + "shape":"UUID", + "documentation":"

                      The BillOfMaterialsImportJob identifier.

                      ", + "location":"uri", + "locationName":"jobId" + } + }, + "documentation":"

                      The request parameters for GetBillOfMaterialsImportJob.

                      " + }, + "GetBillOfMaterialsImportJobResponse":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"BillOfMaterialsImportJob", + "documentation":"

                      The BillOfMaterialsImportJob.

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

                      The response parameters for GetBillOfMaterialsImportJob.

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

                      Unexpected error during processing of request.

                      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      Request references a resource which does not exist.

                      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      Request would cause a service quota to be exceeded.

                      ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      Request was denied due to request throttling.

                      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "UUID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                      The input does not satisfy the constraints specified by an AWS service.

                      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

                      AWS Supply Chain is a cloud-based application that works with your enterprise resource planning (ERP) and supply chain management systems. Using AWS Supply Chain, you can connect and extract your inventory, supply, and demand related data from existing ERP or supply chain systems into a single data model.

                      The AWS Supply Chain API supports configuration data import for Supply Planning.

                      All AWS Supply chain API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies.

                      " +} diff --git a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json index 20d1c041fba..9e74fd7d5ab 100644 --- a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json +++ b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json @@ -2244,6 +2244,10 @@ "SftpConfig":{ "shape":"SftpConnectorConfig", "documentation":"

                      A structure that contains the parameters for an SFTP connector object.

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

                      The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.

                      " } }, "documentation":"

                      Describes the parameters for the connector, as identified by the ConnectorId.

                      " @@ -2467,6 +2471,10 @@ "S3StorageOptions":{ "shape":"S3StorageOptions", "documentation":"

                      Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.

                      By default, home directory mappings have a TYPE of DIRECTORY. If you enable this option, you would then need to explicitly set the HomeDirectoryMapEntry Type to FILE if you want a mapping to have a file target.

                      " + }, + "As2ServiceManagedEgressIpAddresses":{ + "shape":"ServiceManagedEgressIpAddresses", + "documentation":"

                      The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs.

                      These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.

                      " } }, "documentation":"

                      Describes the properties of a file transfer protocol-enabled server that was specified.

                      " @@ -2850,7 +2858,7 @@ }, "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

                      The identifier of the Directory Service directory that you want to stop sharing.

                      " + "documentation":"

                      The identifier of the Directory Service directory that you want to use as your identity provider.

                      " }, "Function":{ "shape":"Function", @@ -4189,6 +4197,14 @@ "pattern":"s-([0-9a-f]{17})" }, "ServiceErrorMessage":{"type":"string"}, + "ServiceManagedEgressIpAddress":{ + "type":"string", + "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" + }, + "ServiceManagedEgressIpAddresses":{ + "type":"list", + "member":{"shape":"ServiceManagedEgressIpAddress"} + }, "ServiceMetadata":{ "type":"structure", "required":["UserDetails"], diff --git a/tools/code-generation/endpoints/connectparticipant-2018-09-07.endpoint-rule-set.json b/tools/code-generation/endpoints/connectparticipant-2018-09-07.endpoint-rule-set.json index eaed7a9924e..361136b65ce 100644 --- a/tools/code-generation/endpoints/connectparticipant-2018-09-07.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/connectparticipant-2018-09-07.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-rule-set.json b/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-rule-set.json index 4957a498573..e280b454b92 100644 --- a/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-rule-set.json @@ -308,6 +308,29 @@ "error": "OutpostId must only contain a-z, A-Z, 0-9 and `-`.", "type": "error" }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -321,21 +344,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outposts do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -372,6 +380,43 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{Region}.{partitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -400,6 +445,34 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{Region}.{partitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -500,21 +573,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outpost Access Points do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -542,6 +600,29 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -775,6 +856,50 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{accessPointArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{accessPointArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -810,6 +935,41 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{accessPointArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{accessPointArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -1038,21 +1198,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outpost buckets do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -1080,6 +1225,29 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -1313,6 +1481,50 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{bucketArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -1348,6 +1560,41 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{bucketArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { diff --git a/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-tests.json b/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-tests.json index 6d2656e10b9..a2650ef1ded 100644 --- a/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-tests.json +++ b/tools/code-generation/endpoints/s3control-2018-08-20.endpoint-tests.json @@ -967,10 +967,54 @@ } }, { - "documentation": "outpost access points do not support dualstack@us-west-2", + "documentation": "outpost access points support dualstack@us-west-2", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.us-west-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", @@ -981,31 +1025,121 @@ } }, { - "documentation": "outpost access points do not support dualstack@cn-north-1", + "documentation": "outpost access points support dualstack@af-south-1", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "af-south-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.af-south-1.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { - "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", - "Region": "cn-north-1", + "Region": "af-south-1", "RequiresAccountId": true, "UseDualStack": true, "UseFIPS": false } }, { - "documentation": "outpost access points do not support dualstack@af-south-1", + "documentation": "outpost access points support fips + dualstack@af-south-1", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "af-south-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.af-south-1.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { - "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", "Region": "af-south-1", "RequiresAccountId": true, "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true } }, { @@ -1421,6 +1555,46 @@ "UseFIPS": true } }, + { + "documentation": "ListRegionalBucket + OutpostId + fips + dualstack@us-east-2", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-east-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.us-east-2.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-2", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListRegionalBuckets", + "operationParams": { + "AccountId": "123456789012", + "OutpostId": "op-123" + } + } + ], + "params": { + "AccountId": "123456789012", + "OutpostId": "op-123", + "Region": "us-east-2", + "RequiresAccountId": true, + "UseDualStack": true, + "UseFIPS": true + } + }, { "documentation": "CreateBucket + OutpostId endpoint url@us-east-2", "expect": { @@ -1465,32 +1639,17 @@ { "documentation": "dualstack cannot be used with outposts when an endpoint URL is set@us-west-2.", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "error": "Invalid Configuration: DualStack and custom endpoint are not supported" }, "params": { "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", - "Endpoint": "https://beta.example.com", + "Endpoint": "https://s3-outposts.us-west-2.api.aws", "Region": "us-west-2", "RequiresAccountId": true, "UseDualStack": true, "UseFIPS": false } }, - { - "documentation": "Dual-stack cannot be used with outposts@us-west-2", - "expect": { - "error": "Invalid configuration: Outposts do not support dual-stack" - }, - "params": { - "Bucket": "bucketname", - "Endpoint": "https://beta.example.com", - "OutpostId": "op-123", - "Region": "us-west-2", - "RequiresAccountId": false, - "UseDualStack": true, - "UseFIPS": false - } - }, { "documentation": "vanilla bucket arn requires account id@us-west-2", "expect": { @@ -1720,16 +1879,50 @@ } }, { - "documentation": "Outposts do not support dualstack@us-west-2", + "documentation": "bucket ARN in aws partition with fips + dualstack@us-east-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-east-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.us-east-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-2", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "GetBucket", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012" + } + } + ], "params": { - "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Region": "us-west-2", + "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "Region": "us-east-2", "RequiresAccountId": true, "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true } }, { @@ -1961,10 +2154,43 @@ } }, { - "documentation": "Outposts do not support dualstack@us-west-2", + "documentation": "Outposts support dualstack @us-west-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.us-west-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "GetBucket", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012" + } + } + ], "params": { "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", "Region": "us-west-2", @@ -2201,19 +2427,6 @@ "UseFIPS": true } }, - { - "documentation": "Outposts do not support dualstack@us-west-2", - "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" - }, - "params": { - "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Region": "us-west-2", - "RequiresAccountId": true, - "UseDualStack": true, - "UseFIPS": false - } - }, { "documentation": "Invalid ARN: missing outpost id and bucket@us-west-2", "expect": { @@ -2995,16 +3208,16 @@ } }, { - "documentation": "get bucket with endpoint_url and dualstack is not supported@us-west-2", + "documentation": "get bucket with custom endpoint and dualstack is not supported@us-west-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "error": "Invalid Configuration: DualStack and custom endpoint are not supported" }, "operationInputs": [ { "builtInParams": { "AWS::Region": "us-west-2", "AWS::UseDualStack": true, - "SDK::Endpoint": "https://beta.example.com" + "SDK::Endpoint": "https://s3-outposts.us-west-2.api.aws" }, "operationName": "GetBucket", "operationParams": { @@ -3015,7 +3228,7 @@ ], "params": { "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Endpoint": "https://beta.example.com", + "Endpoint": "https://s3-outposts.us-west-2.api.aws", "Region": "us-west-2", "RequiresAccountId": true, "UseDualStack": true, diff --git a/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-rule-set.json b/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-rule-set.json new file mode 100644 index 00000000000..8396f12ec57 --- /dev/null +++ b/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "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": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-tests.json b/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-tests.json new file mode 100644 index 00000000000..a0e7f287e63 --- /dev/null +++ b/tools/code-generation/endpoints/supplychain-2024-01-01.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with 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", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file