/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A complex type that controls: Whether CloudFront replaces
* HTTP status codes in the 4xx and 5xx range with custom error messages before
* returning the response to the viewer. How long CloudFront
* caches HTTP status codes in the 4xx and 5xx range. For more
* information about custom error pages, see Customizing
* Error Responses in the Amazon CloudFront Developer
* Guide.
See Also:
AWS
* API Reference
The HTTP status code for which you want to specify a custom error page and/or * a caching duration.
*/ inline int GetErrorCode() const{ return m_errorCode; } /** *The HTTP status code for which you want to specify a custom error page and/or * a caching duration.
*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *The HTTP status code for which you want to specify a custom error page and/or * a caching duration.
*/ inline void SetErrorCode(int value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *The HTTP status code for which you want to specify a custom error page and/or * a caching duration.
*/ inline CustomErrorResponse& WithErrorCode(int value) { SetErrorCode(value); return *this;} /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline const Aws::String& GetResponsePagePath() const{ return m_responsePagePath; } /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline bool ResponsePagePathHasBeenSet() const { return m_responsePagePathHasBeenSet; } /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline void SetResponsePagePath(const Aws::String& value) { m_responsePagePathHasBeenSet = true; m_responsePagePath = value; } /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline void SetResponsePagePath(Aws::String&& value) { m_responsePagePathHasBeenSet = true; m_responsePagePath = std::move(value); } /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline void SetResponsePagePath(const char* value) { m_responsePagePathHasBeenSet = true; m_responsePagePath.assign(value); } /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline CustomErrorResponse& WithResponsePagePath(const Aws::String& value) { SetResponsePagePath(value); return *this;} /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline CustomErrorResponse& WithResponsePagePath(Aws::String&& value) { SetResponsePagePath(std::move(value)); return *this;} /** *The path to the custom error page that you want CloudFront to return to a
* viewer when your origin returns the HTTP status code specified by
* ErrorCode
, for example,
* /4xx-errors/403-forbidden.html
. If you want to store your objects
* and your custom error pages in different locations, your distribution must
* include a cache behavior for which the following is true:
The
* value of PathPattern
matches the path to your custom error
* messages. For example, suppose you saved custom error pages for 4xx errors in an
* Amazon S3 bucket in a directory named /4xx-errors
. Your
* distribution must include a cache behavior for which the path pattern routes
* requests for your custom error pages to that location, for example,
* /4xx-errors/ *
.
The value of
* TargetOriginId
specifies the value of the ID
element
* for the origin that contains your custom error pages.
If you
* specify a value for ResponsePagePath
, you must also specify a value
* for ResponseCode
.
We recommend that you store custom error * pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server * and the server starts to return 5xx errors, CloudFront can't get the files that * you want to return to viewers because the origin server is unavailable.
*/ inline CustomErrorResponse& WithResponsePagePath(const char* value) { SetResponsePagePath(value); return *this;} /** *The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The HTTP status code that you want CloudFront to return to the viewer along * with the custom error page. There are a variety of reasons that you might want * CloudFront to return a status code different from the status code that your * origin returned to CloudFront, for example:
Some Internet
* devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
* and 5xx and prevent the response from being returned to the viewer. If you
* substitute 200
, the response typically won't be intercepted.
If you don't care about distinguishing among different client
* errors or server errors, you can specify 400
or 500
as
* the ResponseCode
for all 4xx or 5xx errors.
You
* might want to return a 200
status code (OK) and static website so
* your customers don't know that your website is down.
If you
* specify a value for ResponseCode
, you must also specify a value for
* ResponsePagePath
.
The minimum amount of time, in seconds, that you want CloudFront to cache the
* HTTP status code specified in ErrorCode
. When this time period has
* elapsed, CloudFront queries your origin to see whether the problem that caused
* the error has been resolved and the requested object is now available.
For more information, see Customizing * Error Responses in the Amazon CloudFront Developer Guide.
*/ inline long long GetErrorCachingMinTTL() const{ return m_errorCachingMinTTL; } /** *The minimum amount of time, in seconds, that you want CloudFront to cache the
* HTTP status code specified in ErrorCode
. When this time period has
* elapsed, CloudFront queries your origin to see whether the problem that caused
* the error has been resolved and the requested object is now available.
For more information, see Customizing * Error Responses in the Amazon CloudFront Developer Guide.
*/ inline bool ErrorCachingMinTTLHasBeenSet() const { return m_errorCachingMinTTLHasBeenSet; } /** *The minimum amount of time, in seconds, that you want CloudFront to cache the
* HTTP status code specified in ErrorCode
. When this time period has
* elapsed, CloudFront queries your origin to see whether the problem that caused
* the error has been resolved and the requested object is now available.
For more information, see Customizing * Error Responses in the Amazon CloudFront Developer Guide.
*/ inline void SetErrorCachingMinTTL(long long value) { m_errorCachingMinTTLHasBeenSet = true; m_errorCachingMinTTL = value; } /** *The minimum amount of time, in seconds, that you want CloudFront to cache the
* HTTP status code specified in ErrorCode
. When this time period has
* elapsed, CloudFront queries your origin to see whether the problem that caused
* the error has been resolved and the requested object is now available.
For more information, see Customizing * Error Responses in the Amazon CloudFront Developer Guide.
*/ inline CustomErrorResponse& WithErrorCachingMinTTL(long long value) { SetErrorCachingMinTTL(value); return *this;} private: int m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_responsePagePath; bool m_responsePagePathHasBeenSet = false; Aws::String m_responseCode; bool m_responseCodeHasBeenSet = false; long long m_errorCachingMinTTL; bool m_errorCachingMinTTLHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws