Documentation

gcp_spanner_instance – Creates a GCP Instance

New in version 2.7.

Synopsis

  • An isolated set of Cloud Spanner resources on which databases can be hosted.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Parameters

Parameter Choices/Defaults Comments
auth_kind
string / required
    Choices:
  • application
  • machineaccount
  • serviceaccount
The type of credential used.
config
- / required
The name of the instance's configuration (similar but not quite the same as a region) which defines defines the geographic placement and replication of your databases in this instance. It determines where your data is stored. Values are typically of the form `regional-europe-west1` , `us-central` etc.
In order to obtain a valid list please consult the [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances.)
display_name
- / required
The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
labels
-
An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
name
- / required
A unique identifier for the instance, which cannot be changed after the instance is created. The name must be between 6 and 30 characters in length.
node_count
-
Default:
"1"
The number of nodes allocated to this instance.
project
string
The Google Cloud Platform project to use.
scopes
list
Array of scopes to be used.
service_account_contents
string
A string representing the contents of a Service Account JSON file.
This should not be passed in as a dictionary, but a string that has the exact contents of a service account json file (valid JSON)
service_account_email
string
An optional service account email address if machineaccount is selected and the user does not wish to use the default email.
service_account_file
path
The path of a Service Account JSON file if serviceaccount is selected as type.
state
-
    Choices:
  • present ←
  • absent
Whether the given object should exist in GCP

Notes

Note

  • API Reference: https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances
  • Official Documentation: https://cloud.google.com/spanner/
  • For authentication, you can set service_account_file using the GCP_SERVICE_ACCOUNT_FILE env variable.
  • For authentication, you can set service_account_email using the GCP_SERVICE_ACCOUNT_EMAIL env variable.
  • For authentication, you can set service_account_contents using the GCP_SERVICE_ACCOUNT_CONTENTS env variable.
  • For authentication, you can set auth_kind using the GCP_AUTH_KIND env variable.
  • For authentication, you can set scopes using the GCP_SCOPES env variable.
  • Environment variables values will only be used if the playbook values are not set.
  • The service_account_email and service_account_file options are mutually exclusive.

Examples

- name: create a instance
  gcp_spanner_instance:
    name: testinstance
    display_name: My Spanner Instance
    node_count: 2
    labels:
      cost_center: ti-1700004
    config: regional-us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
config
string
success
The name of the instance's configuration (similar but not quite the same as a region) which defines defines the geographic placement and replication of your databases in this instance. It determines where your data is stored. Values are typically of the form `regional-europe-west1` , `us-central` etc.
In order to obtain a valid list please consult the [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances.)

displayName
string
success
The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.

labels
dictionary
success
An object containing a list of "key": value pairs.
Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

name
string
success
A unique identifier for the instance, which cannot be changed after the instance is created. The name must be between 6 and 30 characters in length.

nodeCount
integer
success
The number of nodes allocated to this instance.



Status

Authors

  • Google Inc. (@googlecloudplatform)

Hint

If you notice any issues in this documentation you can edit this document to improve it.