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

Provides the runtime system, policy definition, and whether debug logging * enabled. You can specify the following CustomPolicyDetails parameter values only * for Config Custom Policy rules.

See Also:

AWS * API Reference

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

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline const Aws::String& GetPolicyRuntime() const{ return m_policyRuntime; } /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline bool PolicyRuntimeHasBeenSet() const { return m_policyRuntimeHasBeenSet; } /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline void SetPolicyRuntime(const Aws::String& value) { m_policyRuntimeHasBeenSet = true; m_policyRuntime = value; } /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline void SetPolicyRuntime(Aws::String&& value) { m_policyRuntimeHasBeenSet = true; m_policyRuntime = std::move(value); } /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline void SetPolicyRuntime(const char* value) { m_policyRuntimeHasBeenSet = true; m_policyRuntime.assign(value); } /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline CustomPolicyDetails& WithPolicyRuntime(const Aws::String& value) { SetPolicyRuntime(value); return *this;} /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline CustomPolicyDetails& WithPolicyRuntime(Aws::String&& value) { SetPolicyRuntime(std::move(value)); return *this;} /** *

The runtime system for your Config Custom Policy rule. Guard is a * policy-as-code language that allows you to write policies that are enforced by * Config Custom Policy rules. For more information about Guard, see the Guard GitHub * Repository.

*/ inline CustomPolicyDetails& WithPolicyRuntime(const char* value) { SetPolicyRuntime(value); return *this;} /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline const Aws::String& GetPolicyText() const{ return m_policyText; } /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline bool PolicyTextHasBeenSet() const { return m_policyTextHasBeenSet; } /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline void SetPolicyText(const Aws::String& value) { m_policyTextHasBeenSet = true; m_policyText = value; } /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline void SetPolicyText(Aws::String&& value) { m_policyTextHasBeenSet = true; m_policyText = std::move(value); } /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline void SetPolicyText(const char* value) { m_policyTextHasBeenSet = true; m_policyText.assign(value); } /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline CustomPolicyDetails& WithPolicyText(const Aws::String& value) { SetPolicyText(value); return *this;} /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline CustomPolicyDetails& WithPolicyText(Aws::String&& value) { SetPolicyText(std::move(value)); return *this;} /** *

The policy definition containing the logic for your Config Custom Policy * rule.

*/ inline CustomPolicyDetails& WithPolicyText(const char* value) { SetPolicyText(value); return *this;} /** *

The boolean expression for enabling debug logging for your Config Custom * Policy rule. The default value is false.

*/ inline bool GetEnableDebugLogDelivery() const{ return m_enableDebugLogDelivery; } /** *

The boolean expression for enabling debug logging for your Config Custom * Policy rule. The default value is false.

*/ inline bool EnableDebugLogDeliveryHasBeenSet() const { return m_enableDebugLogDeliveryHasBeenSet; } /** *

The boolean expression for enabling debug logging for your Config Custom * Policy rule. The default value is false.

*/ inline void SetEnableDebugLogDelivery(bool value) { m_enableDebugLogDeliveryHasBeenSet = true; m_enableDebugLogDelivery = value; } /** *

The boolean expression for enabling debug logging for your Config Custom * Policy rule. The default value is false.

*/ inline CustomPolicyDetails& WithEnableDebugLogDelivery(bool value) { SetEnableDebugLogDelivery(value); return *this;} private: Aws::String m_policyRuntime; bool m_policyRuntimeHasBeenSet = false; Aws::String m_policyText; bool m_policyTextHasBeenSet = false; bool m_enableDebugLogDelivery; bool m_enableDebugLogDeliveryHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws