/** * 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 #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock * integration.

See Also:

AWS * API Reference

*/ class UpdateIntegrationResult { public: AWS_APIGATEWAY_API UpdateIntegrationResult(); AWS_APIGATEWAY_API UpdateIntegrationResult(const Aws::AmazonWebServiceResult& result); AWS_APIGATEWAY_API UpdateIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Specifies an API method integration type. The valid value is one of the * following:

For the HTTP and HTTP proxy integrations, each integration can * specify a protocol (http/https), port and path. Standard 80 and 443 * ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API Gateway * to a network load balancer of a VPC.

*/ inline const IntegrationType& GetType() const{ return m_type; } /** *

Specifies an API method integration type. The valid value is one of the * following:

For the HTTP and HTTP proxy integrations, each integration can * specify a protocol (http/https), port and path. Standard 80 and 443 * ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API Gateway * to a network load balancer of a VPC.

*/ inline void SetType(const IntegrationType& value) { m_type = value; } /** *

Specifies an API method integration type. The valid value is one of the * following:

For the HTTP and HTTP proxy integrations, each integration can * specify a protocol (http/https), port and path. Standard 80 and 443 * ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API Gateway * to a network load balancer of a VPC.

*/ inline void SetType(IntegrationType&& value) { m_type = std::move(value); } /** *

Specifies an API method integration type. The valid value is one of the * following:

For the HTTP and HTTP proxy integrations, each integration can * specify a protocol (http/https), port and path. Standard 80 and 443 * ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API Gateway * to a network load balancer of a VPC.

*/ inline UpdateIntegrationResult& WithType(const IntegrationType& value) { SetType(value); return *this;} /** *

Specifies an API method integration type. The valid value is one of the * following:

For the HTTP and HTTP proxy integrations, each integration can * specify a protocol (http/https), port and path. Standard 80 and 443 * ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy * integration with a connectionType of VPC_LINK is * referred to as a private integration and uses a VpcLink to connect API Gateway * to a network load balancer of a VPC.

*/ inline UpdateIntegrationResult& WithType(IntegrationType&& value) { SetType(std::move(value)); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; } /** *

Specifies the integration's HTTP method type.

*/ inline void SetHttpMethod(const Aws::String& value) { m_httpMethod = value; } /** *

Specifies the integration's HTTP method type.

*/ inline void SetHttpMethod(Aws::String&& value) { m_httpMethod = std::move(value); } /** *

Specifies the integration's HTTP method type.

*/ inline void SetHttpMethod(const char* value) { m_httpMethod.assign(value); } /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;} /** *

Specifies the integration's HTTP method type.

*/ inline UpdateIntegrationResult& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;} /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline const Aws::String& GetUri() const{ return m_uri; } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline void SetUri(const Aws::String& value) { m_uri = value; } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline void SetUri(Aws::String&& value) { m_uri = std::move(value); } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline void SetUri(const char* value) { m_uri.assign(value); } /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline UpdateIntegrationResult& WithUri(const Aws::String& value) { SetUri(value); return *this;} /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline UpdateIntegrationResult& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} /** *

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

*

For HTTP or HTTP_PROXY integrations, the URI must * be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, * for either standard integration, where connectionType is not * VPC_LINK, or private integration, where connectionType * is VPC_LINK. For a private HTTP integration, the URI is not used * for routing. For AWS or AWS_PROXY integrations, the * URI is of the form * arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. * Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the * name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} * is a designated subdomain supported by certain Amazon Web Services service for * fast host-name lookup. action can be used for an Amazon Web Services service * action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query * string. The ensuing {service_api} refers to a supported action {name} plus any * required input parameters. Alternatively, path can be used for an AWS service * path-based API. The ensuing service_api refers to the path to an Amazon Web * Services service resource, including the region of the integrated Amazon Web * Services service, if applicable. For example, for integration with the S3 API of * GetObject, the uri can be either * arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} * or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

*/ inline UpdateIntegrationResult& WithUri(const char* value) { SetUri(value); return *this;} /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline void SetConnectionType(const ConnectionType& value) { m_connectionType = value; } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline void SetConnectionType(ConnectionType&& value) { m_connectionType = std::move(value); } /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline UpdateIntegrationResult& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} /** *

The type of the network connection to the integration endpoint. The valid * value is INTERNET for connections through the public routable * internet or VPC_LINK for private connections between API Gateway * and a network load balancer in a VPC. The default value is * INTERNET.

*/ inline UpdateIntegrationResult& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline const Aws::String& GetConnectionId() const{ return m_connectionId; } /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline void SetConnectionId(const Aws::String& value) { m_connectionId = value; } /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline void SetConnectionId(Aws::String&& value) { m_connectionId = std::move(value); } /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline void SetConnectionId(const char* value) { m_connectionId.assign(value); } /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline UpdateIntegrationResult& WithConnectionId(const Aws::String& value) { SetConnectionId(value); return *this;} /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline UpdateIntegrationResult& WithConnectionId(Aws::String&& value) { SetConnectionId(std::move(value)); return *this;} /** *

The ID of the VpcLink used for the integration when * connectionType=VPC_LINK and undefined, otherwise.

*/ inline UpdateIntegrationResult& WithConnectionId(const char* value) { SetConnectionId(value); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline const Aws::String& GetCredentials() const{ return m_credentials; } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline void SetCredentials(const Aws::String& value) { m_credentials = value; } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline void SetCredentials(Aws::String&& value) { m_credentials = std::move(value); } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline void SetCredentials(const char* value) { m_credentials.assign(value); } /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline UpdateIntegrationResult& WithCredentials(const Aws::String& value) { SetCredentials(value); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline UpdateIntegrationResult& WithCredentials(Aws::String&& value) { SetCredentials(std::move(value)); return *this;} /** *

Specifies the credentials required for the integration, if any. For AWS * integrations, three options are available. To specify an IAM Role for API * Gateway to assume, use the role's Amazon Resource Name (ARN). To require that * the caller's identity be passed through from the request, specify the string * arn:aws:iam::\*:user/\*. To use resource-based permissions on * supported AWS services, specify null.

*/ inline UpdateIntegrationResult& WithCredentials(const char* value) { SetCredentials(value); return *this;} /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline const Aws::Map& GetRequestParameters() const{ return m_requestParameters; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline void SetRequestParameters(const Aws::Map& value) { m_requestParameters = value; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline void SetRequestParameters(Aws::Map&& value) { m_requestParameters = std::move(value); } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& WithRequestParameters(const Aws::Map& value) { SetRequestParameters(value); return *this;} /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& WithRequestParameters(Aws::Map&& value) { SetRequestParameters(std::move(value)); return *this;} /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(const Aws::String& key, const Aws::String& value) { m_requestParameters.emplace(key, value); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(Aws::String&& key, const Aws::String& value) { m_requestParameters.emplace(std::move(key), value); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(const Aws::String& key, Aws::String&& value) { m_requestParameters.emplace(key, std::move(value)); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(Aws::String&& key, Aws::String&& value) { m_requestParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(const char* key, Aws::String&& value) { m_requestParameters.emplace(key, std::move(value)); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(Aws::String&& key, const char* value) { m_requestParameters.emplace(std::move(key), value); return *this; } /** *

A key-value map specifying request parameters that are passed from the method * request to the back end. The key is an integration request parameter name and * the associated value is a method request parameter value or static value that * must be enclosed within single quotes and pre-encoded as required by the back * end. The method request parameter value must match the pattern of * method.request.{location}.{name}, where location is * querystring, path, or header and * name must be a valid and unique method request parameter name.

*/ inline UpdateIntegrationResult& AddRequestParameters(const char* key, const char* value) { m_requestParameters.emplace(key, value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline const Aws::Map& GetRequestTemplates() const{ return m_requestTemplates; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline void SetRequestTemplates(const Aws::Map& value) { m_requestTemplates = value; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline void SetRequestTemplates(Aws::Map&& value) { m_requestTemplates = std::move(value); } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& WithRequestTemplates(const Aws::Map& value) { SetRequestTemplates(value); return *this;} /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& WithRequestTemplates(Aws::Map&& value) { SetRequestTemplates(std::move(value)); return *this;} /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(const Aws::String& key, const Aws::String& value) { m_requestTemplates.emplace(key, value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(Aws::String&& key, const Aws::String& value) { m_requestTemplates.emplace(std::move(key), value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(const Aws::String& key, Aws::String&& value) { m_requestTemplates.emplace(key, std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(Aws::String&& key, Aws::String&& value) { m_requestTemplates.emplace(std::move(key), std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(const char* key, Aws::String&& value) { m_requestTemplates.emplace(key, std::move(value)); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(Aws::String&& key, const char* value) { m_requestTemplates.emplace(std::move(key), value); return *this; } /** *

Represents a map of Velocity templates that are applied on the request * payload based on the value of the Content-Type header sent by the client. The * content type value is the key in this map, and the template (as a String) is the * value.

*/ inline UpdateIntegrationResult& AddRequestTemplates(const char* key, const char* value) { m_requestTemplates.emplace(key, value); return *this; } /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline const Aws::String& GetPassthroughBehavior() const{ return m_passthroughBehavior; } /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline void SetPassthroughBehavior(const Aws::String& value) { m_passthroughBehavior = value; } /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline void SetPassthroughBehavior(Aws::String&& value) { m_passthroughBehavior = std::move(value); } /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline void SetPassthroughBehavior(const char* value) { m_passthroughBehavior.assign(value); } /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline UpdateIntegrationResult& WithPassthroughBehavior(const Aws::String& value) { SetPassthroughBehavior(value); return *this;} /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline UpdateIntegrationResult& WithPassthroughBehavior(Aws::String&& value) { SetPassthroughBehavior(std::move(value)); return *this;} /** *

Specifies how the method request body of an unmapped content type will be * passed through the integration request to the back end without transformation. A * content type is unmapped if no mapping template is defined in the integration or * the content type does not match any of the mapped content types, as specified in * requestTemplates. The valid value is one of the following: * WHEN_NO_MATCH: passes the method request body through the * integration request to the back end without transformation when the method * request content type does not match any content type associated with the mapping * templates defined in the integration request. WHEN_NO_TEMPLATES: * passes the method request body through the integration request to the back end * without transformation when no mapping template is defined in the integration * request. If a template is defined when this option is selected, the method * request of an unmapped content-type will be rejected with an HTTP 415 * Unsupported Media Type response. NEVER: rejects the method request * with an HTTP 415 Unsupported Media Type response when either the method request * content type does not match any content type associated with the mapping * templates defined in the integration request or no mapping template is defined * in the integration request.

*/ inline UpdateIntegrationResult& WithPassthroughBehavior(const char* value) { SetPassthroughBehavior(value); return *this;} /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

If this property is not defined, the request * payload will be passed through from the method request to integration request * without modification, provided that the passthroughBehavior is * configured to support payload pass-through.

*/ inline const ContentHandlingStrategy& GetContentHandling() const{ return m_contentHandling; } /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

If this property is not defined, the request * payload will be passed through from the method request to integration request * without modification, provided that the passthroughBehavior is * configured to support payload pass-through.

*/ inline void SetContentHandling(const ContentHandlingStrategy& value) { m_contentHandling = value; } /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

If this property is not defined, the request * payload will be passed through from the method request to integration request * without modification, provided that the passthroughBehavior is * configured to support payload pass-through.

*/ inline void SetContentHandling(ContentHandlingStrategy&& value) { m_contentHandling = std::move(value); } /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

If this property is not defined, the request * payload will be passed through from the method request to integration request * without modification, provided that the passthroughBehavior is * configured to support payload pass-through.

*/ inline UpdateIntegrationResult& WithContentHandling(const ContentHandlingStrategy& value) { SetContentHandling(value); return *this;} /** *

Specifies how to handle request payload content type conversions. Supported * values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with * the following behaviors:

If this property is not defined, the request * payload will be passed through from the method request to integration request * without modification, provided that the passthroughBehavior is * configured to support payload pass-through.

*/ inline UpdateIntegrationResult& WithContentHandling(ContentHandlingStrategy&& value) { SetContentHandling(std::move(value)); return *this;} /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline int GetTimeoutInMillis() const{ return m_timeoutInMillis; } /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline void SetTimeoutInMillis(int value) { m_timeoutInMillis = value; } /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is * 29,000 milliseconds or 29 seconds.

*/ inline UpdateIntegrationResult& WithTimeoutInMillis(int value) { SetTimeoutInMillis(value); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline const Aws::String& GetCacheNamespace() const{ return m_cacheNamespace; } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline void SetCacheNamespace(const Aws::String& value) { m_cacheNamespace = value; } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline void SetCacheNamespace(Aws::String&& value) { m_cacheNamespace = std::move(value); } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline void SetCacheNamespace(const char* value) { m_cacheNamespace.assign(value); } /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline UpdateIntegrationResult& WithCacheNamespace(const Aws::String& value) { SetCacheNamespace(value); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline UpdateIntegrationResult& WithCacheNamespace(Aws::String&& value) { SetCacheNamespace(std::move(value)); return *this;} /** *

Specifies a group of related cached parameters. By default, API Gateway uses * the resource ID as the cacheNamespace. You can specify the same * cacheNamespace across resources to return the same cached data for * requests to different resources.

*/ inline UpdateIntegrationResult& WithCacheNamespace(const char* value) { SetCacheNamespace(value); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline const Aws::Vector& GetCacheKeyParameters() const{ return m_cacheKeyParameters; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline void SetCacheKeyParameters(const Aws::Vector& value) { m_cacheKeyParameters = value; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline void SetCacheKeyParameters(Aws::Vector&& value) { m_cacheKeyParameters = std::move(value); } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline UpdateIntegrationResult& WithCacheKeyParameters(const Aws::Vector& value) { SetCacheKeyParameters(value); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline UpdateIntegrationResult& WithCacheKeyParameters(Aws::Vector&& value) { SetCacheKeyParameters(std::move(value)); return *this;} /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline UpdateIntegrationResult& AddCacheKeyParameters(const Aws::String& value) { m_cacheKeyParameters.push_back(value); return *this; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline UpdateIntegrationResult& AddCacheKeyParameters(Aws::String&& value) { m_cacheKeyParameters.push_back(std::move(value)); return *this; } /** *

A list of request parameters whose values API Gateway caches. To be valid * values for cacheKeyParameters, these parameters must also be * specified for Method requestParameters.

*/ inline UpdateIntegrationResult& AddCacheKeyParameters(const char* value) { m_cacheKeyParameters.push_back(value); return *this; } /** *

Specifies the integration's responses.

*/ inline const Aws::Map& GetIntegrationResponses() const{ return m_integrationResponses; } /** *

Specifies the integration's responses.

*/ inline void SetIntegrationResponses(const Aws::Map& value) { m_integrationResponses = value; } /** *

Specifies the integration's responses.

*/ inline void SetIntegrationResponses(Aws::Map&& value) { m_integrationResponses = std::move(value); } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& WithIntegrationResponses(const Aws::Map& value) { SetIntegrationResponses(value); return *this;} /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& WithIntegrationResponses(Aws::Map&& value) { SetIntegrationResponses(std::move(value)); return *this;} /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(const Aws::String& key, const IntegrationResponse& value) { m_integrationResponses.emplace(key, value); return *this; } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(Aws::String&& key, const IntegrationResponse& value) { m_integrationResponses.emplace(std::move(key), value); return *this; } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(const Aws::String& key, IntegrationResponse&& value) { m_integrationResponses.emplace(key, std::move(value)); return *this; } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(Aws::String&& key, IntegrationResponse&& value) { m_integrationResponses.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(const char* key, IntegrationResponse&& value) { m_integrationResponses.emplace(key, std::move(value)); return *this; } /** *

Specifies the integration's responses.

*/ inline UpdateIntegrationResult& AddIntegrationResponses(const char* key, const IntegrationResponse& value) { m_integrationResponses.emplace(key, value); return *this; } /** *

Specifies the TLS configuration for an integration.

*/ inline const TlsConfig& GetTlsConfig() const{ return m_tlsConfig; } /** *

Specifies the TLS configuration for an integration.

*/ inline void SetTlsConfig(const TlsConfig& value) { m_tlsConfig = value; } /** *

Specifies the TLS configuration for an integration.

*/ inline void SetTlsConfig(TlsConfig&& value) { m_tlsConfig = std::move(value); } /** *

Specifies the TLS configuration for an integration.

*/ inline UpdateIntegrationResult& WithTlsConfig(const TlsConfig& value) { SetTlsConfig(value); return *this;} /** *

Specifies the TLS configuration for an integration.

*/ inline UpdateIntegrationResult& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(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 UpdateIntegrationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline UpdateIntegrationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline UpdateIntegrationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: IntegrationType m_type; Aws::String m_httpMethod; Aws::String m_uri; ConnectionType m_connectionType; Aws::String m_connectionId; Aws::String m_credentials; Aws::Map m_requestParameters; Aws::Map m_requestTemplates; Aws::String m_passthroughBehavior; ContentHandlingStrategy m_contentHandling; int m_timeoutInMillis; Aws::String m_cacheNamespace; Aws::Vector m_cacheKeyParameters; Aws::Map m_integrationResponses; TlsConfig m_tlsConfig; Aws::String m_requestId; }; } // namespace Model } // namespace APIGateway } // namespace Aws