/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A complex type that contains a Lambda@Edge function
* association.See Also:
AWS
* API Reference
The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline const Aws::String& GetLambdaFunctionARN() const{ return m_lambdaFunctionARN; } /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline bool LambdaFunctionARNHasBeenSet() const { return m_lambdaFunctionARNHasBeenSet; } /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline void SetLambdaFunctionARN(const Aws::String& value) { m_lambdaFunctionARNHasBeenSet = true; m_lambdaFunctionARN = value; } /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline void SetLambdaFunctionARN(Aws::String&& value) { m_lambdaFunctionARNHasBeenSet = true; m_lambdaFunctionARN = std::move(value); } /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline void SetLambdaFunctionARN(const char* value) { m_lambdaFunctionARNHasBeenSet = true; m_lambdaFunctionARN.assign(value); } /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline LambdaFunctionAssociation& WithLambdaFunctionARN(const Aws::String& value) { SetLambdaFunctionARN(value); return *this;} /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline LambdaFunctionAssociation& WithLambdaFunctionARN(Aws::String&& value) { SetLambdaFunctionARN(std::move(value)); return *this;} /** *The ARN of the Lambda@Edge function. You must specify the ARN of a function * version; you can't specify an alias or $LATEST.
*/ inline LambdaFunctionAssociation& WithLambdaFunctionARN(const char* value) { SetLambdaFunctionARN(value); return *this;} /** *Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
Specifies the event type that triggers a Lambda@Edge function invocation. You * can specify the following values:
viewer-request
:
* The function executes when CloudFront receives a request from a viewer and
* before it checks to see whether the requested object is in the edge cache.
origin-request
: The function executes only when
* CloudFront sends a request to your origin. When the requested object is in the
* edge cache, the function doesn't execute.
* origin-response
: The function executes after CloudFront receives a
* response from the origin and before it caches the object in the response. When
* the requested object is in the edge cache, the function doesn't execute.
viewer-response
: The function executes before
* CloudFront returns the requested object to the viewer. The function executes
* regardless of whether the object was already in the edge cache.
If the * origin returns an HTTP status code other than HTTP 200 (OK), the function * doesn't execute.
A flag that allows a Lambda@Edge function to have read access to the body * content. For more information, see Accessing * the Request Body by Choosing the Include Body Option in the Amazon * CloudFront Developer Guide.
*/ inline bool GetIncludeBody() const{ return m_includeBody; } /** *A flag that allows a Lambda@Edge function to have read access to the body * content. For more information, see Accessing * the Request Body by Choosing the Include Body Option in the Amazon * CloudFront Developer Guide.
*/ inline bool IncludeBodyHasBeenSet() const { return m_includeBodyHasBeenSet; } /** *A flag that allows a Lambda@Edge function to have read access to the body * content. For more information, see Accessing * the Request Body by Choosing the Include Body Option in the Amazon * CloudFront Developer Guide.
*/ inline void SetIncludeBody(bool value) { m_includeBodyHasBeenSet = true; m_includeBody = value; } /** *A flag that allows a Lambda@Edge function to have read access to the body * content. For more information, see Accessing * the Request Body by Choosing the Include Body Option in the Amazon * CloudFront Developer Guide.
*/ inline LambdaFunctionAssociation& WithIncludeBody(bool value) { SetIncludeBody(value); return *this;} private: Aws::String m_lambdaFunctionARN; bool m_lambdaFunctionARNHasBeenSet = false; EventType m_eventType; bool m_eventTypeHasBeenSet = false; bool m_includeBody; bool m_includeBodyHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws