/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/cloudformation/CloudFormation_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSStreamFwd.h> #include <aws/cloudformation/model/HookInvocationPoint.h> #include <aws/cloudformation/model/HookFailureMode.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/cloudformation/model/ChangeSetHookTargetDetails.h> #include <utility> namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFormation { namespace Model { /** * <p>Specifies the resource, the hook, and the hook version to be * invoked.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ChangeSetHook">AWS * API Reference</a></p> */ class ChangeSetHook { public: AWS_CLOUDFORMATION_API ChangeSetHook(); AWS_CLOUDFORMATION_API ChangeSetHook(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API ChangeSetHook& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline const HookInvocationPoint& GetInvocationPoint() const{ return m_invocationPoint; } /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline bool InvocationPointHasBeenSet() const { return m_invocationPointHasBeenSet; } /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline void SetInvocationPoint(const HookInvocationPoint& value) { m_invocationPointHasBeenSet = true; m_invocationPoint = value; } /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline void SetInvocationPoint(HookInvocationPoint&& value) { m_invocationPointHasBeenSet = true; m_invocationPoint = std::move(value); } /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline ChangeSetHook& WithInvocationPoint(const HookInvocationPoint& value) { SetInvocationPoint(value); return *this;} /** * <p>Specifies the points in provisioning logic where a hook is invoked.</p> */ inline ChangeSetHook& WithInvocationPoint(HookInvocationPoint&& value) { SetInvocationPoint(std::move(value)); return *this;} /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline const HookFailureMode& GetFailureMode() const{ return m_failureMode; } /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline bool FailureModeHasBeenSet() const { return m_failureModeHasBeenSet; } /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline void SetFailureMode(const HookFailureMode& value) { m_failureModeHasBeenSet = true; m_failureMode = value; } /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline void SetFailureMode(HookFailureMode&& value) { m_failureModeHasBeenSet = true; m_failureMode = std::move(value); } /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline ChangeSetHook& WithFailureMode(const HookFailureMode& value) { SetFailureMode(value); return *this;} /** * <p>Specify the hook failure mode for non-compliant resources in the followings * ways.</p> <ul> <li> <p> <code>FAIL</code> Stops provisioning resources.</p> * </li> <li> <p> <code>WARN</code> Allows provisioning to continue with a warning * message.</p> </li> </ul> */ inline ChangeSetHook& WithFailureMode(HookFailureMode&& value) { SetFailureMode(std::move(value)); return *this;} /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline const Aws::String& GetTypeName() const{ return m_typeName; } /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline ChangeSetHook& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline ChangeSetHook& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} /** * <p>The unique name for your hook. Specifies a three-part namespace for your * hook, with a recommended pattern of * <code>Organization::Service::Hook</code>.</p> <p>The following * organization namespaces are reserved and can't be used in your hook type * names:</p> <ul> <li> <p> <code>Alexa</code> </p> </li> <li> <p> * <code>AMZN</code> </p> </li> <li> <p> <code>Amazon</code> </p> </li> <li> <p> * <code>ASK</code> </p> </li> <li> <p> <code>AWS</code> </p> </li> <li> <p> * <code>Custom</code> </p> </li> <li> <p> <code>Dev</code> </p> </li> </ul> * */ inline ChangeSetHook& WithTypeName(const char* value) { SetTypeName(value); return *this;} /** * <p>The version ID of the type specified.</p> */ inline const Aws::String& GetTypeVersionId() const{ return m_typeVersionId; } /** * <p>The version ID of the type specified.</p> */ inline bool TypeVersionIdHasBeenSet() const { return m_typeVersionIdHasBeenSet; } /** * <p>The version ID of the type specified.</p> */ inline void SetTypeVersionId(const Aws::String& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = value; } /** * <p>The version ID of the type specified.</p> */ inline void SetTypeVersionId(Aws::String&& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = std::move(value); } /** * <p>The version ID of the type specified.</p> */ inline void SetTypeVersionId(const char* value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId.assign(value); } /** * <p>The version ID of the type specified.</p> */ inline ChangeSetHook& WithTypeVersionId(const Aws::String& value) { SetTypeVersionId(value); return *this;} /** * <p>The version ID of the type specified.</p> */ inline ChangeSetHook& WithTypeVersionId(Aws::String&& value) { SetTypeVersionId(std::move(value)); return *this;} /** * <p>The version ID of the type specified.</p> */ inline ChangeSetHook& WithTypeVersionId(const char* value) { SetTypeVersionId(value); return *this;} /** * <p>The version ID of the type configuration.</p> */ inline const Aws::String& GetTypeConfigurationVersionId() const{ return m_typeConfigurationVersionId; } /** * <p>The version ID of the type configuration.</p> */ inline bool TypeConfigurationVersionIdHasBeenSet() const { return m_typeConfigurationVersionIdHasBeenSet; } /** * <p>The version ID of the type configuration.</p> */ inline void SetTypeConfigurationVersionId(const Aws::String& value) { m_typeConfigurationVersionIdHasBeenSet = true; m_typeConfigurationVersionId = value; } /** * <p>The version ID of the type configuration.</p> */ inline void SetTypeConfigurationVersionId(Aws::String&& value) { m_typeConfigurationVersionIdHasBeenSet = true; m_typeConfigurationVersionId = std::move(value); } /** * <p>The version ID of the type configuration.</p> */ inline void SetTypeConfigurationVersionId(const char* value) { m_typeConfigurationVersionIdHasBeenSet = true; m_typeConfigurationVersionId.assign(value); } /** * <p>The version ID of the type configuration.</p> */ inline ChangeSetHook& WithTypeConfigurationVersionId(const Aws::String& value) { SetTypeConfigurationVersionId(value); return *this;} /** * <p>The version ID of the type configuration.</p> */ inline ChangeSetHook& WithTypeConfigurationVersionId(Aws::String&& value) { SetTypeConfigurationVersionId(std::move(value)); return *this;} /** * <p>The version ID of the type configuration.</p> */ inline ChangeSetHook& WithTypeConfigurationVersionId(const char* value) { SetTypeConfigurationVersionId(value); return *this;} /** * <p>Specifies details about the target that the hook will run against.</p> */ inline const ChangeSetHookTargetDetails& GetTargetDetails() const{ return m_targetDetails; } /** * <p>Specifies details about the target that the hook will run against.</p> */ inline bool TargetDetailsHasBeenSet() const { return m_targetDetailsHasBeenSet; } /** * <p>Specifies details about the target that the hook will run against.</p> */ inline void SetTargetDetails(const ChangeSetHookTargetDetails& value) { m_targetDetailsHasBeenSet = true; m_targetDetails = value; } /** * <p>Specifies details about the target that the hook will run against.</p> */ inline void SetTargetDetails(ChangeSetHookTargetDetails&& value) { m_targetDetailsHasBeenSet = true; m_targetDetails = std::move(value); } /** * <p>Specifies details about the target that the hook will run against.</p> */ inline ChangeSetHook& WithTargetDetails(const ChangeSetHookTargetDetails& value) { SetTargetDetails(value); return *this;} /** * <p>Specifies details about the target that the hook will run against.</p> */ inline ChangeSetHook& WithTargetDetails(ChangeSetHookTargetDetails&& value) { SetTargetDetails(std::move(value)); return *this;} private: HookInvocationPoint m_invocationPoint; bool m_invocationPointHasBeenSet = false; HookFailureMode m_failureMode; bool m_failureModeHasBeenSet = false; Aws::String m_typeName; bool m_typeNameHasBeenSet = false; Aws::String m_typeVersionId; bool m_typeVersionIdHasBeenSet = false; Aws::String m_typeConfigurationVersionId; bool m_typeConfigurationVersionIdHasBeenSet = false; ChangeSetHookTargetDetails m_targetDetails; bool m_targetDetailsHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws