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

Represents information about an action declaration.

See Also:

* AWS * API Reference

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

The action declaration's name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The action declaration's name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The action declaration's name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The action declaration's name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The action declaration's name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The action declaration's name.

*/ inline ActionDeclaration& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The action declaration's name.

*/ inline ActionDeclaration& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The action declaration's name.

*/ inline ActionDeclaration& WithName(const char* value) { SetName(value); return *this;} /** *

Specifies the action type and the provider of the action.

*/ inline const ActionTypeId& GetActionTypeId() const{ return m_actionTypeId; } /** *

Specifies the action type and the provider of the action.

*/ inline bool ActionTypeIdHasBeenSet() const { return m_actionTypeIdHasBeenSet; } /** *

Specifies the action type and the provider of the action.

*/ inline void SetActionTypeId(const ActionTypeId& value) { m_actionTypeIdHasBeenSet = true; m_actionTypeId = value; } /** *

Specifies the action type and the provider of the action.

*/ inline void SetActionTypeId(ActionTypeId&& value) { m_actionTypeIdHasBeenSet = true; m_actionTypeId = std::move(value); } /** *

Specifies the action type and the provider of the action.

*/ inline ActionDeclaration& WithActionTypeId(const ActionTypeId& value) { SetActionTypeId(value); return *this;} /** *

Specifies the action type and the provider of the action.

*/ inline ActionDeclaration& WithActionTypeId(ActionTypeId&& value) { SetActionTypeId(std::move(value)); return *this;} /** *

The order in which actions are run.

*/ inline int GetRunOrder() const{ return m_runOrder; } /** *

The order in which actions are run.

*/ inline bool RunOrderHasBeenSet() const { return m_runOrderHasBeenSet; } /** *

The order in which actions are run.

*/ inline void SetRunOrder(int value) { m_runOrderHasBeenSet = true; m_runOrder = value; } /** *

The order in which actions are run.

*/ inline ActionDeclaration& WithRunOrder(int value) { SetRunOrder(value); return *this;} /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline const Aws::Map& GetConfiguration() const{ return m_configuration; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline void SetConfiguration(const Aws::Map& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline void SetConfiguration(Aws::Map&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& WithConfiguration(const Aws::Map& value) { SetConfiguration(value); return *this;} /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& WithConfiguration(Aws::Map&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(const Aws::String& key, const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, value); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(Aws::String&& key, const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), value); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(const Aws::String& key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, std::move(value)); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(Aws::String&& key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), std::move(value)); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(const char* key, Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, std::move(value)); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(Aws::String&& key, const char* value) { m_configurationHasBeenSet = true; m_configuration.emplace(std::move(key), value); return *this; } /** *

The action's configuration. These are key-value pairs that specify input * values for an action. For more information, see Action * Structure Requirements in CodePipeline. For the list of configuration * properties for the CloudFormation action type in CodePipeline, see Configuration * Properties Reference in the CloudFormation User Guide. For template * snippets with examples, see Using * Parameter Override Functions with CodePipeline Pipelines in the * CloudFormation User Guide.

The values can be represented in either * JSON or YAML format. For example, the JSON configuration item format is as * follows:

JSON:

"Configuration" : { Key : Value * },

*/ inline ActionDeclaration& AddConfiguration(const char* key, const char* value) { m_configurationHasBeenSet = true; m_configuration.emplace(key, value); return *this; } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline const Aws::Vector& GetOutputArtifacts() const{ return m_outputArtifacts; } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline bool OutputArtifactsHasBeenSet() const { return m_outputArtifactsHasBeenSet; } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline void SetOutputArtifacts(const Aws::Vector& value) { m_outputArtifactsHasBeenSet = true; m_outputArtifacts = value; } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline void SetOutputArtifacts(Aws::Vector&& value) { m_outputArtifactsHasBeenSet = true; m_outputArtifacts = std::move(value); } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline ActionDeclaration& WithOutputArtifacts(const Aws::Vector& value) { SetOutputArtifacts(value); return *this;} /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline ActionDeclaration& WithOutputArtifacts(Aws::Vector&& value) { SetOutputArtifacts(std::move(value)); return *this;} /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline ActionDeclaration& AddOutputArtifacts(const OutputArtifact& value) { m_outputArtifactsHasBeenSet = true; m_outputArtifacts.push_back(value); return *this; } /** *

The name or ID of the result of the action declaration, such as a test or * build artifact.

*/ inline ActionDeclaration& AddOutputArtifacts(OutputArtifact&& value) { m_outputArtifactsHasBeenSet = true; m_outputArtifacts.push_back(std::move(value)); return *this; } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline const Aws::Vector& GetInputArtifacts() const{ return m_inputArtifacts; } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline bool InputArtifactsHasBeenSet() const { return m_inputArtifactsHasBeenSet; } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline void SetInputArtifacts(const Aws::Vector& value) { m_inputArtifactsHasBeenSet = true; m_inputArtifacts = value; } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline void SetInputArtifacts(Aws::Vector&& value) { m_inputArtifactsHasBeenSet = true; m_inputArtifacts = std::move(value); } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline ActionDeclaration& WithInputArtifacts(const Aws::Vector& value) { SetInputArtifacts(value); return *this;} /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline ActionDeclaration& WithInputArtifacts(Aws::Vector&& value) { SetInputArtifacts(std::move(value)); return *this;} /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline ActionDeclaration& AddInputArtifacts(const InputArtifact& value) { m_inputArtifactsHasBeenSet = true; m_inputArtifacts.push_back(value); return *this; } /** *

The name or ID of the artifact consumed by the action, such as a test or * build artifact.

*/ inline ActionDeclaration& AddInputArtifacts(InputArtifact&& value) { m_inputArtifactsHasBeenSet = true; m_inputArtifacts.push_back(std::move(value)); return *this; } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline ActionDeclaration& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline ActionDeclaration& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM service role that performs the declared action. This is * assumed through the roleArn for the pipeline.

*/ inline ActionDeclaration& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline ActionDeclaration& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline ActionDeclaration& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The action declaration's Amazon Web Services Region, such as us-east-1.

*/ inline ActionDeclaration& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline ActionDeclaration& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline ActionDeclaration& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The variable namespace associated with the action. All variables produced as * output by this action fall under this namespace.

*/ inline ActionDeclaration& WithNamespace(const char* value) { SetNamespace(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; ActionTypeId m_actionTypeId; bool m_actionTypeIdHasBeenSet = false; int m_runOrder; bool m_runOrderHasBeenSet = false; Aws::Map m_configuration; bool m_configurationHasBeenSet = false; Aws::Vector m_outputArtifacts; bool m_outputArtifactsHasBeenSet = false; Aws::Vector m_inputArtifacts; bool m_inputArtifactsHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; }; } // namespace Model } // namespace CodePipeline } // namespace Aws