community.aws.codebuild_project module – Create or delete an AWS CodeBuild project
Note
This module is part of the community.aws collection (version 6.4.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.aws
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.aws.codebuild_project
.
New in community.aws 1.0.0
Synopsis
Create or delete a CodeBuild projects on AWS, used for building code artifacts from source code.
Prior to release 5.0.0 this module was called
community.aws.aws_codebuild
. The usage did not change.
Aliases: aws_codebuild
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.6
boto3 >= 1.22.0
botocore >= 1.25.0
Parameters
Parameter |
Comments |
---|---|
AWS access key ID. See the AWS documentation for more information about access tokens https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. The The aws_access_key and profile options are mutually exclusive. The aws_access_key_id alias was added in release 5.1.0 for consistency with the AWS botocore SDK. The ec2_access_key alias has been deprecated and will be removed in a release after 2024-12-01. Support for the |
|
Information about the build output artifacts for the build project. artifacts is required when creating a new project. |
|
Information about the build output artifact location. When choosing type |
|
Along with path and namespace_type, the pattern that AWS CodeBuild will use to name and store the output artifact. |
|
Along with path and name, the pattern that AWS CodeBuild will use to determine the name and location to store the output artifacts. Accepts See docs here: http://boto3.readthedocs.io/en/latest/reference/services/codebuild.html#CodeBuild.Client.create_project. |
|
The type of build output artifact to create on S3, can be NONE for creating a folder or ZIP for a ZIP file. |
|
Along with namespace_type and name, the pattern that AWS CodeBuild will use to name and store the output artifacts. Used for path in S3 bucket when type is |
|
The type of build output for artifacts. Can be one of the following: |
|
The location of a CA Bundle to use when validating SSL certificates. The |
|
A dictionary to modify the botocore configuration. Parameters can be found in the AWS documentation https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
|
Caching params to speed up following builds. |
|
Caching location on S3. |
|
Cache type. Can be |
|
Use a The Choices:
|
|
Descriptive text of the CodeBuild project. |
|
The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts. |
|
URL to connect to instead of the default AWS endpoints. While this can be used to connection to other AWS-compatible services the amazon.aws and community.aws collections are only tested against AWS. The The ec2_url and s3_url aliases have been deprecated and will be removed in a release after 2024-12-01. Support for the |
|
Information about the build environment for the build project. |
|
Information about the compute resources the build project will use. Available values include: |
|
A set of environment variables to make available to builds for the build project. List of dictionaries with name and value fields. Example: { name: ‘MY_ENV_VARIABLE’, value: ‘test’ } |
|
The ID of the Docker image to use for this build project. |
|
Enables running the Docker daemon inside a Docker container. Set to |
|
The type of build environment to use for the project. Usually |
|
Name of the CodeBuild project. |
|
A named AWS profile to use for authentication. See the AWS documentation for more information about named profiles https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. The The profile option is mutually exclusive with the aws_access_key, aws_secret_key and security_token options. |
|
If purge_tags=true and tags is set, existing tags will be purged from the resource to match exactly what is defined by tags parameter. If the tags parameter is not set then tags will not be modified, even if purge_tags=True. Tag keys beginning with Choices:
|
|
The AWS region to use. For global services such as IAM, Route53 and CloudFront, region is ignored. The See the Amazon AWS documentation for more information http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. The Support for the |
|
AWS secret access key. See the AWS documentation for more information about access tokens https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. The The secret_key and profile options are mutually exclusive. The aws_secret_access_key alias was added in release 5.1.0 for consistency with the AWS botocore SDK. The ec2_secret_key alias has been deprecated and will be removed in a release after 2024-12-01. Support for the |
|
The ARN of the AWS IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account. |
|
AWS STS session token for use with temporary credentials. See the AWS documentation for more information about access tokens https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. The The security_token and profile options are mutually exclusive. Aliases aws_session_token and session_token were added in release 3.2.0, with the parameter being renamed from security_token to session_token in release 6.0.0. The security_token, aws_security_token, and access_token aliases have been deprecated and will be removed in a release after 2024-12-01. Support for the |
|
Configure service and location for the build input source. source is required when creating a new project. |
|
The build spec declaration to use for the builds in this build project. Leave empty if part of the CodeBuild project. |
|
When using git you can specify the clone depth as an integer here. |
|
Enable this flag to ignore SSL warnings while connecting to the project source code. Choices:
|
|
Information about the location of the source code to be built. For type |
|
The type of the source. Allows one of these: |
|
Create or remove CodeBuild project. Choices:
|
|
A dictionary representing the tags to be applied to the resource. If the tags parameter is not set then tags will not be modified. |
|
How long CodeBuild should wait until timing out any build that has not been marked as completed. Default: |
|
When set to Setting validate_certs=false is strongly discouraged, as an alternative, consider setting aws_ca_bundle instead. Choices:
|
|
The VPC config enables AWS CodeBuild to access resources in an Amazon VPC. |
Notes
Note
For details of the parameters and returns see http://boto3.readthedocs.io/en/latest/reference/services/codebuild.html.
tags changed from boto3 format to standard dict format in release 6.0.0.
Caution: For modules, environment variables and configuration files are read from the Ansible ‘host’ context and not the ‘controller’ context. As such, files may need to be explicitly copied to the ‘host’. For lookup and connection plugins, environment variables and configuration files are read from the Ansible ‘controller’ context and not the ‘host’ context.
The AWS SDK (boto3) that Ansible uses may also read defaults for credentials and other settings, such as the region, from its configuration files in the Ansible ‘host’ context (typically
~/.aws/credentials
). See https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html for more information.
Examples
# Note: These examples do not set authentication details, see the AWS Guide for details.
- community.aws.codebuild_project:
name: my_project
description: My nice little project
service_role: "arn:aws:iam::123123:role/service-role/code-build-service-role"
source:
# Possible values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, S3
type: CODEPIPELINE
buildspec: ''
artifacts:
namespaceType: NONE
packaging: NONE
type: CODEPIPELINE
name: my_project
environment:
computeType: BUILD_GENERAL1_SMALL
privilegedMode: "true"
image: "aws/codebuild/docker:17.09.0"
type: LINUX_CONTAINER
environmentVariables:
- { name: 'PROFILE', value: 'staging' }
encryption_key: "arn:aws:kms:us-east-1:123123:alias/aws/s3"
region: us-east-1
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Returns the dictionary describing the code project configuration. Returned: success |
|
ARN of the CodeBuild project. Returned: always Sample: |
|
Information about the output of build artifacts Returned: always |
|
Output location for build artifacts. Returned: when configured |
|
The type of build artifact. Returned: always Sample: |
|
Cache settings for the build project. Returned: when configured |
|
Timestamp of the create time of the project. Returned: always Sample: |
|
A description of the CodeBuild project. Returned: always Sample: |
|
Environment settings for the build. Returned: always |
|
Name of the CodeBuild project. Returned: always Sample: |
|
A simple dictionary representing the tags added to the project. tags and reource_tags represent the same information in different formats. Returned: when configured |
|
IAM role to be used during build to access other AWS services. Returned: always Sample: |
|
Information about the build input source code. Returned: always |
|
Information about the authorization settings for AWS CodeBuild to access the source code to be built. Returned: when configured |
|
The build spec declaration to use for the builds in this build project. Returned: always |
|
The git clone depth. Returned: when configured |
|
True if set to ignore SSL warnings. Returned: when configured |
|
Location identifier, depending on the source type. Returned: when configured |
|
The type of the repository. Returned: always Sample: |
|
Tags added to the project in the boto3 list of dictionaries format. tags and reource_tags represent the same information in different formats. Returned: when configured |
|
The timeout of a build in minutes. Returned: always Sample: |