# gcp_filestore_instance – Creates a GCP Instance

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- A Google Cloud Filestore instance.

## 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.

description string |  | A description of the instance.
env_type string |  | 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.
file_shares list / required |  | File system shares on the instance. For this version, only a single file share is supported.
| capacity_gb integer / required |  | File share capacity in GB.
| name string / required |  | The name of the fileshare (16 characters or less) .
labels dictionary |  | Resource labels to represent user-provided metadata.
name string / required |  | The resource name of the instance.
networks list / required |  | VPC networks to which the instance is connected. For this version, only a single network is supported.
| modes list / required |  | IP versions for which the instance has IP addresses assigned.
| network string / required |  | The name of the GCE VPC network to which the instance is connected.
| reserved_ip_range string |  | A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
project string |  | The Google Cloud Platform project to use.
scopes list |  | Array of scopes to be used.
service_account_contents jsonarg |  | The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it.
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
string

Choices:
- present ←
- absent

Whether the given object should exist in GCP

tier string / required |  | The service tier of the instance. Some valid choices include: "TIER_UNSPECIFIED", "STANDARD", "PREMIUM"
zone string / required |  | The name of the Filestore zone of the instance.

## Notes

Note

- API Reference: https://cloud.google.com/filestore/docs/reference/rest/v1beta1/projects.locations.instances/create

- Official Documentation: https://cloud.google.com/filestore/docs/creating-instances

- Use with Kubernetes: https://cloud.google.com/filestore/docs/accessing-fileshares

- Copying Data In/Out: https://cloud.google.com/filestore/docs/copying-data

- for authentication, you can set service_account_file using the c(gcp_service_account_file) env variable.

- for authentication, you can set service_account_contents using the c(GCP_SERVICE_ACCOUNT_CONTENTS) env variable.

- For authentication, you can set service_account_email using the `GCP_SERVICE_ACCOUNT_EMAIL` 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_filestore_instance:
        name: test_object
        zone: us-central1-b
        tier: PREMIUM
        file_shares:
        - capacity_gb: 2660
          name: share1
        networks:
        - network: default
          modes:
          - MODE_IPV4
        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
--- | --- | ---
createTime string | success | Creation timestamp in RFC3339 text format.
description string | success | A description of the instance.
etag string | success | Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
fileShares complex | success | File system shares on the instance. For this version, only a single file share is supported.
| capacityGb integer | success | File share capacity in GB.
| name string | success | The name of the fileshare (16 characters or less) .
labels dictionary | success | Resource labels to represent user-provided metadata.
name string | success | The resource name of the instance.
networks complex | success | VPC networks to which the instance is connected. For this version, only a single network is supported.
| ipAddresses list | success | A list of IPv4 or IPv6 addresses.
| modes list | success | IP versions for which the instance has IP addresses assigned.
| network string | success | The name of the GCE VPC network to which the instance is connected.
| reservedIpRange string | success | A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
tier string | success | The service tier of the instance.
zone string | success | The name of the Filestore zone of the 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.