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

Represents information about the job data for a partner action.

See * Also:

AWS * API Reference

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

Represents information about an action type.

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

Represents information about an action type.

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

Represents information about an action type.

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

Represents information about an action type.

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

Represents information about an action type.

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

Represents information about an action type.

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

Represents information about an action configuration.

*/ inline const ActionConfiguration& GetActionConfiguration() const{ return m_actionConfiguration; } /** *

Represents information about an action configuration.

*/ inline bool ActionConfigurationHasBeenSet() const { return m_actionConfigurationHasBeenSet; } /** *

Represents information about an action configuration.

*/ inline void SetActionConfiguration(const ActionConfiguration& value) { m_actionConfigurationHasBeenSet = true; m_actionConfiguration = value; } /** *

Represents information about an action configuration.

*/ inline void SetActionConfiguration(ActionConfiguration&& value) { m_actionConfigurationHasBeenSet = true; m_actionConfiguration = std::move(value); } /** *

Represents information about an action configuration.

*/ inline ThirdPartyJobData& WithActionConfiguration(const ActionConfiguration& value) { SetActionConfiguration(value); return *this;} /** *

Represents information about an action configuration.

*/ inline ThirdPartyJobData& WithActionConfiguration(ActionConfiguration&& value) { SetActionConfiguration(std::move(value)); return *this;} /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline const PipelineContext& GetPipelineContext() const{ return m_pipelineContext; } /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline bool PipelineContextHasBeenSet() const { return m_pipelineContextHasBeenSet; } /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline void SetPipelineContext(const PipelineContext& value) { m_pipelineContextHasBeenSet = true; m_pipelineContext = value; } /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline void SetPipelineContext(PipelineContext&& value) { m_pipelineContextHasBeenSet = true; m_pipelineContext = std::move(value); } /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline ThirdPartyJobData& WithPipelineContext(const PipelineContext& value) { SetPipelineContext(value); return *this;} /** *

Represents information about a pipeline to a job worker.

Does * not include pipelineArn and pipelineExecutionId for * ThirdParty jobs.

*/ inline ThirdPartyJobData& WithPipelineContext(PipelineContext&& value) { SetPipelineContext(std::move(value)); return *this;} /** *

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is worked on by the action, if any. This name * might be system-generated, such as "MyApp", or it might be defined by the user * when the action is created. The input artifact name must match the name of an * output artifact generated by an action in an earlier action or stage of the * pipeline.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

The name of the artifact that is the result of the action, if any. This name * might be system-generated, such as "MyBuiltApp", or it might be defined by the * user when the action is created.

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

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline const AWSSessionCredentials& GetArtifactCredentials() const{ return m_artifactCredentials; } /** *

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline bool ArtifactCredentialsHasBeenSet() const { return m_artifactCredentialsHasBeenSet; } /** *

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline void SetArtifactCredentials(const AWSSessionCredentials& value) { m_artifactCredentialsHasBeenSet = true; m_artifactCredentials = value; } /** *

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline void SetArtifactCredentials(AWSSessionCredentials&& value) { m_artifactCredentialsHasBeenSet = true; m_artifactCredentials = std::move(value); } /** *

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline ThirdPartyJobData& WithArtifactCredentials(const AWSSessionCredentials& value) { SetArtifactCredentials(value); return *this;} /** *

Represents an Amazon Web Services session credentials object. These * credentials are temporary credentials that are issued by Amazon Web Services * Secure Token Service (STS). They can be used to access input and output * artifacts in the S3 bucket used to store artifact for the pipeline in * CodePipeline.

*/ inline ThirdPartyJobData& WithArtifactCredentials(AWSSessionCredentials&& value) { SetArtifactCredentials(std::move(value)); return *this;} /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline const Aws::String& GetContinuationToken() const{ return m_continuationToken; } /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline bool ContinuationTokenHasBeenSet() const { return m_continuationTokenHasBeenSet; } /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline void SetContinuationToken(const Aws::String& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = value; } /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline void SetContinuationToken(Aws::String&& value) { m_continuationTokenHasBeenSet = true; m_continuationToken = std::move(value); } /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline void SetContinuationToken(const char* value) { m_continuationTokenHasBeenSet = true; m_continuationToken.assign(value); } /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline ThirdPartyJobData& WithContinuationToken(const Aws::String& value) { SetContinuationToken(value); return *this;} /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline ThirdPartyJobData& WithContinuationToken(Aws::String&& value) { SetContinuationToken(std::move(value)); return *this;} /** *

A system-generated token, such as a CodeDeploy deployment ID, that a job * requires to continue the job asynchronously.

*/ inline ThirdPartyJobData& WithContinuationToken(const char* value) { SetContinuationToken(value); return *this;} /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline const EncryptionKey& GetEncryptionKey() const{ return m_encryptionKey; } /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline bool EncryptionKeyHasBeenSet() const { return m_encryptionKeyHasBeenSet; } /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline void SetEncryptionKey(const EncryptionKey& value) { m_encryptionKeyHasBeenSet = true; m_encryptionKey = value; } /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline void SetEncryptionKey(EncryptionKey&& value) { m_encryptionKeyHasBeenSet = true; m_encryptionKey = std::move(value); } /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline ThirdPartyJobData& WithEncryptionKey(const EncryptionKey& value) { SetEncryptionKey(value); return *this;} /** *

The encryption key used to encrypt and decrypt data in the artifact store for * the pipeline, such as an Amazon Web Services Key Management Service (Amazon Web * Services KMS) key. This is optional and might not be present.

*/ inline ThirdPartyJobData& WithEncryptionKey(EncryptionKey&& value) { SetEncryptionKey(std::move(value)); return *this;} private: ActionTypeId m_actionTypeId; bool m_actionTypeIdHasBeenSet = false; ActionConfiguration m_actionConfiguration; bool m_actionConfigurationHasBeenSet = false; PipelineContext m_pipelineContext; bool m_pipelineContextHasBeenSet = false; Aws::Vector m_inputArtifacts; bool m_inputArtifactsHasBeenSet = false; Aws::Vector m_outputArtifacts; bool m_outputArtifactsHasBeenSet = false; AWSSessionCredentials m_artifactCredentials; bool m_artifactCredentialsHasBeenSet = false; Aws::String m_continuationToken; bool m_continuationTokenHasBeenSet = false; EncryptionKey m_encryptionKey; bool m_encryptionKeyHasBeenSet = false; }; } // namespace Model } // namespace CodePipeline } // namespace Aws