/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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.

See Also:

AWS * API Reference

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

Standard access point associated with the Object Lambda Access Point.

*/ inline const Aws::String& GetSupportingAccessPoint() const{ return m_supportingAccessPoint; } /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline bool SupportingAccessPointHasBeenSet() const { return m_supportingAccessPointHasBeenSet; } /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline void SetSupportingAccessPoint(const Aws::String& value) { m_supportingAccessPointHasBeenSet = true; m_supportingAccessPoint = value; } /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline void SetSupportingAccessPoint(Aws::String&& value) { m_supportingAccessPointHasBeenSet = true; m_supportingAccessPoint = std::move(value); } /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline void SetSupportingAccessPoint(const char* value) { m_supportingAccessPointHasBeenSet = true; m_supportingAccessPoint.assign(value); } /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline ObjectLambdaConfiguration& WithSupportingAccessPoint(const Aws::String& value) { SetSupportingAccessPoint(value); return *this;} /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline ObjectLambdaConfiguration& WithSupportingAccessPoint(Aws::String&& value) { SetSupportingAccessPoint(std::move(value)); return *this;} /** *

Standard access point associated with the Object Lambda Access Point.

*/ inline ObjectLambdaConfiguration& WithSupportingAccessPoint(const char* value) { SetSupportingAccessPoint(value); return *this;} /** *

A container for whether the CloudWatch metrics configuration is enabled.

*/ inline bool GetCloudWatchMetricsEnabled() const{ return m_cloudWatchMetricsEnabled; } /** *

A container for whether the CloudWatch metrics configuration is enabled.

*/ inline bool CloudWatchMetricsEnabledHasBeenSet() const { return m_cloudWatchMetricsEnabledHasBeenSet; } /** *

A container for whether the CloudWatch metrics configuration is enabled.

*/ inline void SetCloudWatchMetricsEnabled(bool value) { m_cloudWatchMetricsEnabledHasBeenSet = true; m_cloudWatchMetricsEnabled = value; } /** *

A container for whether the CloudWatch metrics configuration is enabled.

*/ inline ObjectLambdaConfiguration& WithCloudWatchMetricsEnabled(bool value) { SetCloudWatchMetricsEnabled(value); return *this;} /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline const Aws::Vector& GetAllowedFeatures() const{ return m_allowedFeatures; } /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline bool AllowedFeaturesHasBeenSet() const { return m_allowedFeaturesHasBeenSet; } /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline void SetAllowedFeatures(const Aws::Vector& value) { m_allowedFeaturesHasBeenSet = true; m_allowedFeatures = value; } /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline void SetAllowedFeatures(Aws::Vector&& value) { m_allowedFeaturesHasBeenSet = true; m_allowedFeatures = std::move(value); } /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline ObjectLambdaConfiguration& WithAllowedFeatures(const Aws::Vector& value) { SetAllowedFeatures(value); return *this;} /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline ObjectLambdaConfiguration& WithAllowedFeatures(Aws::Vector&& value) { SetAllowedFeatures(std::move(value)); return *this;} /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline ObjectLambdaConfiguration& AddAllowedFeatures(const ObjectLambdaAllowedFeature& value) { m_allowedFeaturesHasBeenSet = true; m_allowedFeatures.push_back(value); return *this; } /** *

A container for allowed features. Valid inputs are * GetObject-Range, GetObject-PartNumber, * HeadObject-Range, and HeadObject-PartNumber.

*/ inline ObjectLambdaConfiguration& AddAllowedFeatures(ObjectLambdaAllowedFeature&& value) { m_allowedFeaturesHasBeenSet = true; m_allowedFeatures.push_back(std::move(value)); return *this; } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline const Aws::Vector& GetTransformationConfigurations() const{ return m_transformationConfigurations; } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline bool TransformationConfigurationsHasBeenSet() const { return m_transformationConfigurationsHasBeenSet; } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline void SetTransformationConfigurations(const Aws::Vector& value) { m_transformationConfigurationsHasBeenSet = true; m_transformationConfigurations = value; } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline void SetTransformationConfigurations(Aws::Vector&& value) { m_transformationConfigurationsHasBeenSet = true; m_transformationConfigurations = std::move(value); } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline ObjectLambdaConfiguration& WithTransformationConfigurations(const Aws::Vector& value) { SetTransformationConfigurations(value); return *this;} /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline ObjectLambdaConfiguration& WithTransformationConfigurations(Aws::Vector&& value) { SetTransformationConfigurations(std::move(value)); return *this;} /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline ObjectLambdaConfiguration& AddTransformationConfigurations(const ObjectLambdaTransformationConfiguration& value) { m_transformationConfigurationsHasBeenSet = true; m_transformationConfigurations.push_back(value); return *this; } /** *

A container for transformation configurations for an Object Lambda Access * Point.

*/ inline ObjectLambdaConfiguration& AddTransformationConfigurations(ObjectLambdaTransformationConfiguration&& value) { m_transformationConfigurationsHasBeenSet = true; m_transformationConfigurations.push_back(std::move(value)); return *this; } private: Aws::String m_supportingAccessPoint; bool m_supportingAccessPointHasBeenSet = false; bool m_cloudWatchMetricsEnabled; bool m_cloudWatchMetricsEnabledHasBeenSet = false; Aws::Vector m_allowedFeatures; bool m_allowedFeaturesHasBeenSet = false; Aws::Vector m_transformationConfigurations; bool m_transformationConfigurationsHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws