/** * 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 { /** *

A complex type that identifies ways in which you want to restrict * distribution of your content.

See Also:

AWS * API Reference

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

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline const GeoRestriction& GetGeoRestriction() const{ return m_geoRestriction; } /** *

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline bool GeoRestrictionHasBeenSet() const { return m_geoRestrictionHasBeenSet; } /** *

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline void SetGeoRestriction(const GeoRestriction& value) { m_geoRestrictionHasBeenSet = true; m_geoRestriction = value; } /** *

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline void SetGeoRestriction(GeoRestriction&& value) { m_geoRestrictionHasBeenSet = true; m_geoRestriction = std::move(value); } /** *

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline Restrictions& WithGeoRestriction(const GeoRestriction& value) { SetGeoRestriction(value); return *this;} /** *

A complex type that controls the countries in which your content is * distributed. CloudFront determines the location of your users using * MaxMind GeoIP databases.

*/ inline Restrictions& WithGeoRestriction(GeoRestriction&& value) { SetGeoRestriction(std::move(value)); return *this;} private: GeoRestriction m_geoRestriction; bool m_geoRestrictionHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws