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

An invalidation batch.

See Also:

AWS * API Reference

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

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline const Paths& GetPaths() const{ return m_paths; } /** *

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline bool PathsHasBeenSet() const { return m_pathsHasBeenSet; } /** *

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline void SetPaths(const Paths& value) { m_pathsHasBeenSet = true; m_paths = value; } /** *

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline void SetPaths(Paths&& value) { m_pathsHasBeenSet = true; m_paths = std::move(value); } /** *

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline InvalidationBatch& WithPaths(const Paths& value) { SetPaths(value); return *this;} /** *

A complex type that contains information about the objects that you want to * invalidate. For more information, see Specifying * the Objects to Invalidate in the Amazon CloudFront Developer * Guide.

*/ inline InvalidationBatch& WithPaths(Paths&& value) { SetPaths(std::move(value)); return *this;} /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline const Aws::String& GetCallerReference() const{ return m_callerReference; } /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline bool CallerReferenceHasBeenSet() const { return m_callerReferenceHasBeenSet; } /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline void SetCallerReference(const Aws::String& value) { m_callerReferenceHasBeenSet = true; m_callerReference = value; } /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline void SetCallerReference(Aws::String&& value) { m_callerReferenceHasBeenSet = true; m_callerReference = std::move(value); } /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline void SetCallerReference(const char* value) { m_callerReferenceHasBeenSet = true; m_callerReference.assign(value); } /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline InvalidationBatch& WithCallerReference(const Aws::String& value) { SetCallerReference(value); return *this;} /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline InvalidationBatch& WithCallerReference(Aws::String&& value) { SetCallerReference(std::move(value)); return *this;} /** *

A value that you specify to uniquely identify an invalidation request. * CloudFront uses the value to prevent you from accidentally resubmitting an * identical request. Whenever you create a new invalidation request, you must * specify a new value for CallerReference and change other values in * the request as applicable. One way to ensure that the value of * CallerReference is unique is to use a timestamp, for * example, 20120301090000.

If you make a second invalidation * request with the same value for CallerReference, and if the rest of * the request is the same, CloudFront doesn't create a new invalidation request. * Instead, CloudFront returns information about the invalidation request that you * previously created with the same CallerReference.

If * CallerReference is a value you already sent in a previous * invalidation batch request but the content of any Path is different * from the original request, CloudFront returns an * InvalidationBatchAlreadyExists error.

*/ inline InvalidationBatch& WithCallerReference(const char* value) { SetCallerReference(value); return *this;} private: Paths m_paths; bool m_pathsHasBeenSet = false; Aws::String m_callerReference; bool m_callerReferenceHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws