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

A configuration used when creating an Object Lambda Access Point * transformation.

See Also:

AWS * API Reference

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

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline const Aws::Vector& GetActions() const{ return m_actions; } /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline ObjectLambdaTransformationConfiguration& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline ObjectLambdaTransformationConfiguration& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline ObjectLambdaTransformationConfiguration& AddActions(const ObjectLambdaTransformationConfigurationAction& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *

A container for the action of an Object Lambda Access Point configuration. * Valid inputs are GetObject, ListObjects, * HeadObject, and ListObjectsV2.

*/ inline ObjectLambdaTransformationConfiguration& AddActions(ObjectLambdaTransformationConfigurationAction&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline const ObjectLambdaContentTransformation& GetContentTransformation() const{ return m_contentTransformation; } /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline bool ContentTransformationHasBeenSet() const { return m_contentTransformationHasBeenSet; } /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline void SetContentTransformation(const ObjectLambdaContentTransformation& value) { m_contentTransformationHasBeenSet = true; m_contentTransformation = value; } /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline void SetContentTransformation(ObjectLambdaContentTransformation&& value) { m_contentTransformationHasBeenSet = true; m_contentTransformation = std::move(value); } /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline ObjectLambdaTransformationConfiguration& WithContentTransformation(const ObjectLambdaContentTransformation& value) { SetContentTransformation(value); return *this;} /** *

A container for the content transformation of an Object Lambda Access Point * configuration.

*/ inline ObjectLambdaTransformationConfiguration& WithContentTransformation(ObjectLambdaContentTransformation&& value) { SetContentTransformation(std::move(value)); return *this;} private: Aws::Vector m_actions; bool m_actionsHasBeenSet = false; ObjectLambdaContentTransformation m_contentTransformation; bool m_contentTransformationHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws