google.cloud.gcp_cloudbuildv2_connection module – Creates a GCP Cloudbuildv2.Connection resource
Note
This module is part of the google.cloud collection (version 1.12.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 google.cloud.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: google.cloud.gcp_cloudbuildv2_connection.
Synopsis
A connection to a SCM like GitHub, GitHub Enterprise, Bitbucket Data Center/Cloud or GitLab.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.8
requests >= 2.18.4
google-auth >= 2.25.1
Parameters
Parameter |
Comments |
|---|---|
The access token used to authenticate. |
|
Allows clients to store small amounts of arbitrary data. |
|
The type of credential used. Choices:
|
|
Configuration for connections to Bitbucket Cloud. |
|
An access token with the `webhook`, `repository`, `repository:admin` and `pullrequest` scope access. It can be either a workspace, project or repository access token. It’s recommended to use a system account to generate these credentials. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
An access token with the `repository` access. It can be either a workspace, project or repository access token. It’s recommended to use a system account to generate the credentials. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
SecretManager resource containing the webhook secret used to verify webhook events, formatted as `projects/*/secrets/*/versions/*`. This property is immutable, to change it, you must delete and recreate the resource. |
|
The Bitbucket Cloud Workspace ID to be connected to Google Cloud Platform. |
|
Configuration for connections to Bitbucket Data Center. |
|
A http access token with the `REPO_ADMIN` scope access. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
The URI of the Bitbucket Data Center host this connection is for. |
|
A http access token with the `REPO_READ` access. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
Output only. Version of the Bitbucket Data Center running on the `host_uri`. |
|
Configuration for using Service Directory to privately connect to a Bitbucket Data Center. This should only be set if the Bitbucket Data Center is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the Bitbucket Data Center will be made over the public internet. |
|
The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
|
SSL certificate to use for requests to the Bitbucket Data Center. |
|
SecretManager resource containing the webhook secret used to verify webhook events, formatted as `projects/*/secrets/*/versions/*`. This property is immutable, to change it, you must delete and recreate the resource. |
|
If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled. Choices:
|
|
Specifies which Ansible environment you’re running this module within. This should not be set unless you know what you’re doing. This only alters the User Agent string for any API requests. |
|
Configuration for connections to github.com. |
|
GitHub App installation id. |
|
OAuth credential of the account that authorized the Cloud Build GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the Cloud Build GitHub App. |
|
A SecretManager resource containing the OAuth token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
Configuration for connections to an instance of GitHub Enterprise. |
|
Id of the GitHub App created from the manifest. |
|
ID of the installation of the GitHub App. |
|
The URL-friendly name of the GitHub App. |
|
The URI of the GitHub Enterprise host this connection is for. |
|
SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`. |
|
Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet. |
|
The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
|
SSL certificate to use for requests to GitHub Enterprise. |
|
SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`. |
|
Configuration for connections to gitlab.com or an instance of GitLab Enterprise. |
|
A GitLab personal access token with the `api` scope access. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
The URI of the GitLab Enterprise host this connection is for. If not specified, the default value is https://gitlab.com. |
|
A GitLab personal access token with the minimum `read_api` scope access. |
|
A SecretManager resource containing the user token that authorizes the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`. |
|
Output only. The username associated to this token. |
|
Output only. Version of the GitLab Enterprise server running on the `host_uri`. |
|
Configuration for using Service Directory to privately connect to a GitLab Enterprise server. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet. |
|
The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
|
SSL certificate to use for requests to GitLab Enterprise. |
|
SecretManager resource containing the webhook secret of a GitLab Enterprise project, formatted as `projects/*/secrets/*/versions/*`. This property is immutable, to change it, you must delete and recreate the resource. |
|
The location for the resource. |
|
The resource name of the connection. This property is immutable, to change it, you must delete and recreate the resource. |
|
The Google Cloud Platform project to use. |
|
Array of scopes to be used. |
|
The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it. |
|
An optional service account email address if machineaccount is selected and the user does not wish to use the default email. |
|
The path of a Service Account JSON file if serviceaccount is selected as type. |
|
Whether the resource should exist in GCP. Choices:
|
Notes
Note
API Reference: https://cloud.google.com/build/docs/api/reference/rest
Official Documentation Guide: https://cloud.google.com/build/docs
For authentication, you can set auth_kind using the
GCP_AUTH_KINDenv variable.For authentication, you can set service_account_file using the
GCP_SERVICE_ACCOUNT_FILEenv variable.For authentication, you can set service_account_contents using the
GCP_SERVICE_ACCOUNT_CONTENTSenv variable.For authentication, you can set service_account_email using the
GCP_SERVICE_ACCOUNT_EMAILenv variable.For authentication, you can set access_token using the
GCP_ACCESS_TOKENenv variable.For authentication, you can set scopes using the
GCP_SCOPESenv variable.Environment variables values will only be used if the playbook values are not set.
The
service_account_email,service_account_file,service_account_fileandaccess_tokenoptions are mutually exclusive.
Examples
- name: Create github enterprise connection
google.cloud.gcp_cloudbuildv2_connection:
name: ghe_conn
state: present
location: us-central1
github_enterprise_config:
host_uri: https://github.example.com
app_id: 12345
app_installation_id: 67890
app_slug: my-app
private_key_secret_version: "projects/{{ gcp_project }}/secrets/github-pk/versions/1"
webhook_secret_secret_version: "projects/{{ gcp_project }}/secrets/github-webhook/versions/1"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
################################################################################
- name: Create github connection
google.cloud.gcp_cloudbuildv2_connection:
name: github_conn
state: present
location: us-central1
github_config:
app_installation_id: 123456
authorizer_credential:
oauth_token_secret_version: "projects/{{ gcp_project }}/secrets/github-oauth-token/versions/1"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
################################################################################
- name: Create gitlab connection
google.cloud.gcp_cloudbuildv2_connection:
name: gitlab_conn
state: present
location: us-central1
gitlab_config:
authorizer_credential:
user_token_secret_version: "projects/{{ gcp_project }}/secrets/gitlab-api-token/versions/3"
read_authorizer_credential:
user_token_secret_version: "projects/{{ gcp_project }}/secrets/gitlab-read-api-token/versions/1"
webhook_secret_secret_version: "projects/{{ gcp_project }}/secrets/gitlab-webhook/versions/4"
host_uri: https://gitlab.example.com # if unset, defaults to gitlab.com
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Whether the resource was changed. Returned: always |
|
Output only. Server assigned timestamp for when the connection was created. Returned: success |
|
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Returned: success |
|
Output only. Installation state of the Connection. Returned: success |
|
Output only. Link to follow for next action. Empty string if the installation is already complete. Returned: success |
|
Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete. Returned: success |
|
Output only. Current step of the installation process. Returned: success |
|
Output only. Set to true when the connection is being set up or updated in the background. Returned: success |
|
The current state of the resource. Returned: always |
|
Output only. Server assigned timestamp for when the connection was updated. Returned: success |