/** * 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 CloudFront { namespace Model { /** *

Contains metadata about a CloudFront function.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline const Aws::String& GetFunctionARN() const{ return m_functionARN; } /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline bool FunctionARNHasBeenSet() const { return m_functionARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline void SetFunctionARN(const Aws::String& value) { m_functionARNHasBeenSet = true; m_functionARN = value; } /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline void SetFunctionARN(Aws::String&& value) { m_functionARNHasBeenSet = true; m_functionARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline void SetFunctionARN(const char* value) { m_functionARNHasBeenSet = true; m_functionARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline FunctionMetadata& WithFunctionARN(const Aws::String& value) { SetFunctionARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline FunctionMetadata& WithFunctionARN(Aws::String&& value) { SetFunctionARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies * the function.

*/ inline FunctionMetadata& WithFunctionARN(const char* value) { SetFunctionARN(value); return *this;} /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline const FunctionStage& GetStage() const{ return m_stage; } /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline bool StageHasBeenSet() const { return m_stageHasBeenSet; } /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline void SetStage(const FunctionStage& value) { m_stageHasBeenSet = true; m_stage = value; } /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline void SetStage(FunctionStage&& value) { m_stageHasBeenSet = true; m_stage = std::move(value); } /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline FunctionMetadata& WithStage(const FunctionStage& value) { SetStage(value); return *this;} /** *

The stage that the function is in, either DEVELOPMENT or * LIVE.

When a function is in the DEVELOPMENT * stage, you can test the function with TestFunction, and update it * with UpdateFunction.

When a function is in the * LIVE stage, you can attach the function to a distribution's cache * behavior, using the function's ARN.

*/ inline FunctionMetadata& WithStage(FunctionStage&& value) { SetStage(std::move(value)); return *this;} /** *

The date and time when the function was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The date and time when the function was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The date and time when the function was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The date and time when the function was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The date and time when the function was created.

*/ inline FunctionMetadata& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The date and time when the function was created.

*/ inline FunctionMetadata& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The date and time when the function was most recently updated.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The date and time when the function was most recently updated.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The date and time when the function was most recently updated.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The date and time when the function was most recently updated.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The date and time when the function was most recently updated.

*/ inline FunctionMetadata& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The date and time when the function was most recently updated.

*/ inline FunctionMetadata& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} private: Aws::String m_functionARN; bool m_functionARNHasBeenSet = false; FunctionStage m_stage; bool m_stageHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws