google.cloud.gcp_alloydb_user module – Creates a GCP Alloydb.User resource
Note
This module is part of the google.cloud collection (version 1.10.2).
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_alloydb_user.
Synopsis
A database user in an AlloyDB cluster.
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. |
|
The type of credential used. Choices:
|
|
Identifies the alloydb cluster. Must be in the format ‘projects/{project}/locations/{location}/clusters/{cluster_id}’. This field is a reference to a Cluster resource in GCP. It can be specified in two ways: First, you can place a dictionary with key ‘name’ matching your resource. Alternatively, you can add `register: name-of-resource` to a Cluster task and then set this field to `{{ name-of-resource }}`. |
|
List of database roles this database user has. |
|
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. |
|
Password for this database user. |
|
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:
|
|
The database role name of the user. |
|
The type of this user. Choices:
|
Notes
Note
API Reference: https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.clusters.users/create
AlloyDB Guide: https://cloud.google.com/alloydb/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 user for cluster
google.cloud.gcp_alloydb_user:
user_id: superuser
state: present
user_type: ALLOYDB_BUILT_IN
password: Test123Test
database_roles:
- alloydbsuperuser
cluster:
name: projects/my-project/locations/us-central1/clusters/my-cluster
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 |
|
Name of the resource in the form of projects/{project}/locations/{location}/clusters/{cluster}/users/{user}. Returned: success |
|
The current state of the resource. Returned: always |