/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AppConfig { namespace Model { /** *

A validator provides a syntactic or semantic check to ensure the * configuration that you want to deploy functions as intended. To validate your * application configuration data, you provide a schema or an Amazon Web Services * Lambda function that runs against the configuration. The configuration * deployment or update can only proceed when the configuration data is * valid.

See Also:

AWS * API Reference

*/ class Validator { public: AWS_APPCONFIG_API Validator(); AWS_APPCONFIG_API Validator(Aws::Utils::Json::JsonView jsonValue); AWS_APPCONFIG_API Validator& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APPCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline const ValidatorType& GetType() const{ return m_type; } /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline void SetType(const ValidatorType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline void SetType(ValidatorType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline Validator& WithType(const ValidatorType& value) { SetType(value); return *this;} /** *

AppConfig supports validators of type JSON_SCHEMA and * LAMBDA

*/ inline Validator& WithType(ValidatorType&& value) { SetType(std::move(value)); return *this;} /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline const Aws::String& GetContent() const{ return m_content; } /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; } /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); } /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline Validator& WithContent(const Aws::String& value) { SetContent(value); return *this;} /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline Validator& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;} /** *

Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda * function.

*/ inline Validator& WithContent(const char* value) { SetContent(value); return *this;} private: ValidatorType m_type; bool m_typeHasBeenSet = false; Aws::String m_content; bool m_contentHasBeenSet = false; }; } // namespace Model } // namespace AppConfig } // namespace Aws