/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFront { namespace Model { /** *

CloudFront Origin Shield.

Using Origin Shield can help reduce the load * on your origin. For more information, see Using * Origin Shield in the Amazon CloudFront Developer Guide.

See * Also:

AWS * API Reference

*/ class OriginShield { public: AWS_CLOUDFRONT_API OriginShield(); AWS_CLOUDFRONT_API OriginShield(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API OriginShield& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

A flag that specifies whether Origin Shield is enabled.

When it's * enabled, CloudFront routes all requests through Origin Shield, which can help * protect your origin. When it's disabled, CloudFront might send requests directly * to your origin from multiple edge locations or regional edge caches.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

A flag that specifies whether Origin Shield is enabled.

When it's * enabled, CloudFront routes all requests through Origin Shield, which can help * protect your origin. When it's disabled, CloudFront might send requests directly * to your origin from multiple edge locations or regional edge caches.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

A flag that specifies whether Origin Shield is enabled.

When it's * enabled, CloudFront routes all requests through Origin Shield, which can help * protect your origin. When it's disabled, CloudFront might send requests directly * to your origin from multiple edge locations or regional edge caches.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

A flag that specifies whether Origin Shield is enabled.

When it's * enabled, CloudFront routes all requests through Origin Shield, which can help * protect your origin. When it's disabled, CloudFront might send requests directly * to your origin from multiple edge locations or regional edge caches.

*/ inline OriginShield& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline const Aws::String& GetOriginShieldRegion() const{ return m_originShieldRegion; } /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline bool OriginShieldRegionHasBeenSet() const { return m_originShieldRegionHasBeenSet; } /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline void SetOriginShieldRegion(const Aws::String& value) { m_originShieldRegionHasBeenSet = true; m_originShieldRegion = value; } /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline void SetOriginShieldRegion(Aws::String&& value) { m_originShieldRegionHasBeenSet = true; m_originShieldRegion = std::move(value); } /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline void SetOriginShieldRegion(const char* value) { m_originShieldRegionHasBeenSet = true; m_originShieldRegion.assign(value); } /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline OriginShield& WithOriginShieldRegion(const Aws::String& value) { SetOriginShieldRegion(value); return *this;} /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline OriginShield& WithOriginShieldRegion(Aws::String&& value) { SetOriginShieldRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region for Origin Shield.

Specify the Amazon * Web Services Region that has the lowest latency to your origin. To specify a * region, use the region code, not the region name. For example, specify the US * East (Ohio) region as us-east-2.

When you enable CloudFront * Origin Shield, you must specify the Amazon Web Services Region for Origin * Shield. For the list of Amazon Web Services Regions that you can specify, and * for help choosing the best Region for your origin, see Choosing * the Amazon Web Services Region for Origin Shield in the Amazon CloudFront * Developer Guide.

*/ inline OriginShield& WithOriginShieldRegion(const char* value) { SetOriginShieldRegion(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; Aws::String m_originShieldRegion; bool m_originShieldRegionHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws