On this page
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
        | 
 | 
        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 
        -
        | 
 | 
        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_FILEenv variable.
- For authentication, you can set service_account_email using the GCP_SERVICE_ACCOUNT_EMAILenv variable.
- For authentication, you can set service_account_contents using the GCP_SERVICE_ACCOUNT_CONTENTSenv variable.
- For authentication, you can set auth_kind using the GCP_AUTH_KINDenv 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 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
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Google Inc. (@googlecloudplatform)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.8/modules/gcp_spanner_instance_module.html