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

Settings for an AWS CodeBuild build.

See Also:

AWS * API Reference

*/ class BuildConfiguration { public: AWS_ELASTICBEANSTALK_API BuildConfiguration(); AWS_ELASTICBEANSTALK_API BuildConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API BuildConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline const Aws::String& GetArtifactName() const{ return m_artifactName; } /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline bool ArtifactNameHasBeenSet() const { return m_artifactNameHasBeenSet; } /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline void SetArtifactName(const Aws::String& value) { m_artifactNameHasBeenSet = true; m_artifactName = value; } /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline void SetArtifactName(Aws::String&& value) { m_artifactNameHasBeenSet = true; m_artifactName = std::move(value); } /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline void SetArtifactName(const char* value) { m_artifactNameHasBeenSet = true; m_artifactName.assign(value); } /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline BuildConfiguration& WithArtifactName(const Aws::String& value) { SetArtifactName(value); return *this;} /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline BuildConfiguration& WithArtifactName(Aws::String&& value) { SetArtifactName(std::move(value)); return *this;} /** *

The name of the artifact of the CodeBuild build. If provided, Elastic * Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. * If not provided, Elastic Beanstalk stores the build artifact in the S3 location * S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip. *

*/ inline BuildConfiguration& WithArtifactName(const char* value) { SetArtifactName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline const Aws::String& GetCodeBuildServiceRole() const{ return m_codeBuildServiceRole; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline bool CodeBuildServiceRoleHasBeenSet() const { return m_codeBuildServiceRoleHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline void SetCodeBuildServiceRole(const Aws::String& value) { m_codeBuildServiceRoleHasBeenSet = true; m_codeBuildServiceRole = value; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline void SetCodeBuildServiceRole(Aws::String&& value) { m_codeBuildServiceRoleHasBeenSet = true; m_codeBuildServiceRole = std::move(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline void SetCodeBuildServiceRole(const char* value) { m_codeBuildServiceRoleHasBeenSet = true; m_codeBuildServiceRole.assign(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline BuildConfiguration& WithCodeBuildServiceRole(const Aws::String& value) { SetCodeBuildServiceRole(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline BuildConfiguration& WithCodeBuildServiceRole(Aws::String&& value) { SetCodeBuildServiceRole(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on * behalf of the AWS account.

*/ inline BuildConfiguration& WithCodeBuildServiceRole(const char* value) { SetCodeBuildServiceRole(value); return *this;} /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline const ComputeType& GetComputeType() const{ return m_computeType; } /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline bool ComputeTypeHasBeenSet() const { return m_computeTypeHasBeenSet; } /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline void SetComputeType(const ComputeType& value) { m_computeTypeHasBeenSet = true; m_computeType = value; } /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline void SetComputeType(ComputeType&& value) { m_computeTypeHasBeenSet = true; m_computeType = std::move(value); } /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline BuildConfiguration& WithComputeType(const ComputeType& value) { SetComputeType(value); return *this;} /** *

Information about the compute resources the build project will use.

    *
  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for * builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB * memory and 4 vCPUs for builds

  • * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds *

*/ inline BuildConfiguration& WithComputeType(ComputeType&& value) { SetComputeType(std::move(value)); return *this;} /** *

The ID of the Docker image to use for this build project.

*/ inline const Aws::String& GetImage() const{ return m_image; } /** *

The ID of the Docker image to use for this build project.

*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *

The ID of the Docker image to use for this build project.

*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *

The ID of the Docker image to use for this build project.

*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *

The ID of the Docker image to use for this build project.

*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *

The ID of the Docker image to use for this build project.

*/ inline BuildConfiguration& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *

The ID of the Docker image to use for this build project.

*/ inline BuildConfiguration& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *

The ID of the Docker image to use for this build project.

*/ inline BuildConfiguration& WithImage(const char* value) { SetImage(value); return *this;} /** *

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until * timing out any related build that does not get marked as completed. The default * is 60 minutes.

*/ inline int GetTimeoutInMinutes() const{ return m_timeoutInMinutes; } /** *

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until * timing out any related build that does not get marked as completed. The default * is 60 minutes.

*/ inline bool TimeoutInMinutesHasBeenSet() const { return m_timeoutInMinutesHasBeenSet; } /** *

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until * timing out any related build that does not get marked as completed. The default * is 60 minutes.

*/ inline void SetTimeoutInMinutes(int value) { m_timeoutInMinutesHasBeenSet = true; m_timeoutInMinutes = value; } /** *

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until * timing out any related build that does not get marked as completed. The default * is 60 minutes.

*/ inline BuildConfiguration& WithTimeoutInMinutes(int value) { SetTimeoutInMinutes(value); return *this;} private: Aws::String m_artifactName; bool m_artifactNameHasBeenSet = false; Aws::String m_codeBuildServiceRole; bool m_codeBuildServiceRoleHasBeenSet = false; ComputeType m_computeType; bool m_computeTypeHasBeenSet = false; Aws::String m_image; bool m_imageHasBeenSet = false; int m_timeoutInMinutes; bool m_timeoutInMinutesHasBeenSet = false; }; } // namespace Model } // namespace ElasticBeanstalk } // namespace Aws