| --- |
| # ---------------------------------------------------------------------------- |
| # |
| # *** AUTO GENERATED CODE *** Type: MMv1 *** |
| # |
| # ---------------------------------------------------------------------------- |
| # |
| # This file is automatically generated by Magic Modules and manual |
| # changes will be clobbered when the file is regenerated. |
| # |
| # Please read more about how to change this file in |
| # .github/CONTRIBUTING.md. |
| # |
| # ---------------------------------------------------------------------------- |
| subcategory: "Parallelstore" |
| description: |- |
| A Parallelstore Instance. |
| --- |
| |
| # google_parallelstore_instance |
| |
| A Parallelstore Instance. |
| |
| ~> **Warning:** This resource is in beta, and should be used with the terraform-provider-google-beta provider. |
| See [Provider Versions](https://terraform.io/docs/providers/google/guides/provider_versions.html) for more details on beta resources. |
| |
| |
| <div class = "oics-button" style="float: right; margin: 0 0 -15px"> |
| <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=parallelstore_instance_basic&open_in_editor=main.tf" target="_blank"> |
| <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> |
| </a> |
| </div> |
| ## Example Usage - Parallelstore Instance Basic |
| |
| |
| ```hcl |
| resource "google_parallelstore_instance" "instance" { |
| instance_id = "instance" |
| location = "us-central1-a" |
| description = "test instance" |
| capacity_gib = 12000 |
| network = google_compute_network.network.name |
| file_stripe_level = "FILE_STRIPE_LEVEL_MIN" |
| directory_stripe_level = "DIRECTORY_STRIPE_LEVEL_MIN" |
| labels = { |
| test = "value" |
| } |
| provider = google-beta |
| depends_on = [google_service_networking_connection.default] |
| } |
| |
| resource "google_compute_network" "network" { |
| name = "network" |
| auto_create_subnetworks = true |
| mtu = 8896 |
| provider = google-beta |
| } |
| |
| # Create an IP address |
| resource "google_compute_global_address" "private_ip_alloc" { |
| name = "address" |
| purpose = "VPC_PEERING" |
| address_type = "INTERNAL" |
| prefix_length = 24 |
| network = google_compute_network.network.id |
| provider = google-beta |
| } |
| |
| # Create a private connection |
| resource "google_service_networking_connection" "default" { |
| network = google_compute_network.network.id |
| service = "servicenetworking.googleapis.com" |
| reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name] |
| provider = google-beta |
| } |
| ``` |
| |
| ## Argument Reference |
| |
| The following arguments are supported: |
| |
| |
| * `capacity_gib` - |
| (Required) |
| Required. Immutable. Storage capacity of Parallelstore instance in Gibibytes (GiB). |
| |
| * `location` - |
| (Required) |
| Part of `parent`. See documentation of `projectsId`. |
| |
| * `instance_id` - |
| (Required) |
| The logical name of the Parallelstore instance in the user project with the following restrictions: |
| * Must contain only lowercase letters, numbers, and hyphens. |
| * Must start with a letter. |
| * Must be between 1-63 characters. |
| * Must end with a number or a letter. |
| * Must be unique within the customer project/ location |
| |
| |
| - - - |
| |
| |
| * `description` - |
| (Optional) |
| The description of the instance. 2048 characters or less. |
| |
| * `labels` - |
| (Optional) |
| Cloud Labels are a flexible and lightweight mechanism for |
| organizing cloud resources into groups that reflect a customer's organizational |
| needs and deployment strategies. Cloud Labels can be used to filter collections |
| of resources. They can be used to control how resource metrics are aggregated. |
| And they can be used as arguments to policy management rules (e.g. route, firewall, |
| load balancing, etc.). |
| * Label keys must be between 1 and 63 characters long and must conform to |
| the following regular expression: `a-z{0,62}`. |
| * Label values must be between 0 and 63 characters long and must conform |
| to the regular expression `[a-z0-9_-]{0,63}`. |
| * No more than 64 labels can be associated with a given resource. |
| See https://goo.gl/xmQnxf for more information on and examples of labels. |
| If you plan to use labels in your own code, please note that additional |
| characters may be allowed in the future. Therefore, you are advised to use |
| an internal label representation, such as JSON, which doesn't rely upon |
| specific characters being disallowed. For example, representing labels |
| as the string: `name + "_" + value` would prove problematic if we were to |
| allow `"_"` in a future release. " |
| |
| **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. |
| Please refer to the field `effective_labels` for all of the labels present on the resource. |
| |
| * `network` - |
| (Optional) |
| Immutable. The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) |
| to which the instance is connected. |
| |
| * `reserved_ip_range` - |
| (Optional) |
| Immutable. Contains the id of the allocated IP address range |
| associated with the private service access connection for example, \"test-default\" |
| associated with IP range 10.0.0.0/29. If no range id is provided all ranges will |
| be considered. |
| |
| * `file_stripe_level` - |
| (Optional) |
| Stripe level for files. |
| MIN better suited for small size files. |
| MAX higher throughput performance for larger files. |
| Possible values: |
| FILE_STRIPE_LEVEL_UNSPECIFIED |
| FILE_STRIPE_LEVEL_MIN |
| FILE_STRIPE_LEVEL_BALANCED |
| FILE_STRIPE_LEVEL_MAX |
| |
| * `directory_stripe_level` - |
| (Optional) |
| Stripe level for directories. |
| MIN when directory has a small number of files. |
| MAX when directory has a large number of files. |
| Possible values: |
| DIRECTORY_STRIPE_LEVEL_UNSPECIFIED |
| DIRECTORY_STRIPE_LEVEL_MIN |
| DIRECTORY_STRIPE_LEVEL_BALANCED |
| DIRECTORY_STRIPE_LEVEL_MAX |
| |
| * `project` - (Optional) The ID of the project in which the resource belongs. |
| If it is not provided, the provider project is used. |
| |
| |
| ## Attributes Reference |
| |
| In addition to the arguments listed above, the following computed attributes are exported: |
| |
| * `id` - an identifier for the resource with format `projects/{{project}}/locations/{{location}}/instances/{{instance_id}}` |
| |
| * `name` - |
| Identifier. The resource name of the instance, in the format |
| `projects/{project}/locations/{location}/instances/{instance_id}` |
| |
| * `state` - |
| The instance state. |
| Possible values: |
| STATE_UNSPECIFIED |
| CREATING |
| ACTIVE |
| DELETING |
| FAILED |
| UPGRADING |
| |
| * `create_time` - |
| The time when the instance was created. |
| |
| * `update_time` - |
| The time when the instance was updated. |
| |
| * `daos_version` - |
| The version of DAOS software running in the instance. |
| |
| * `access_points` - |
| Output only. List of access_points. |
| Contains a list of IPv4 addresses used for client side configuration. |
| |
| * `effective_reserved_ip_range` - |
| Immutable. Contains the id of the allocated IP address |
| range associated with the private service access connection for example, \"test-default\" |
| associated with IP range 10.0.0.0/29. This field is populated by the service |
| and contains the value currently used by the service. |
| |
| * `terraform_labels` - |
| The combination of labels configured directly on the resource |
| and default labels configured on the provider. |
| |
| * `effective_labels` - |
| All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services. |
| |
| |
| ## Timeouts |
| |
| This resource provides the following |
| [Timeouts](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts) configuration options: |
| |
| - `create` - Default is 20 minutes. |
| - `update` - Default is 20 minutes. |
| - `delete` - Default is 20 minutes. |
| |
| ## Import |
| |
| |
| Instance can be imported using any of these accepted formats: |
| |
| * `projects/{{project}}/locations/{{location}}/instances/{{instance_id}}` |
| * `{{project}}/{{location}}/{{instance_id}}` |
| * `{{location}}/{{instance_id}}` |
| |
| |
| In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Instance using one of the formats above. For example: |
| |
| ```tf |
| import { |
| id = "projects/{{project}}/locations/{{location}}/instances/{{instance_id}}" |
| to = google_parallelstore_instance.default |
| } |
| ``` |
| |
| When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Instance can be imported using one of the formats above. For example: |
| |
| ``` |
| $ terraform import google_parallelstore_instance.default projects/{{project}}/locations/{{location}}/instances/{{instance_id}} |
| $ terraform import google_parallelstore_instance.default {{project}}/{{location}}/{{instance_id}} |
| $ terraform import google_parallelstore_instance.default {{location}}/{{instance_id}} |
| ``` |
| |
| ## User Project Overrides |
| |
| This resource supports [User Project Overrides](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/provider_reference#user_project_override). |