-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[upstream:6a68afaf8470a20f1e06d6bb603cc6bf0abbd34f] Signed-off-by: Modular Magician <magic-modules@google.com>
- Loading branch information
1 parent
4f7c4fe
commit fa747a3
Showing
5 changed files
with
248 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
```release-note:new-resource | ||
`google_parallelstore_instance` | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
google/services/parallelstore/resource_parallelstore_instance_test.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
// Copyright (c) HashiCorp, Inc. | ||
// SPDX-License-Identifier: MPL-2.0 | ||
Check failure on line 2 in google/services/parallelstore/resource_parallelstore_instance_test.go GitHub Actions / Build
Check failure on line 2 in google/services/parallelstore/resource_parallelstore_instance_test.go GitHub Actions / Build
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,233 @@ | ||
--- | ||
# ---------------------------------------------------------------------------- | ||
# | ||
# *** 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_working_dir=parallelstore_instance_basic&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" 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 | ||
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) | ||
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. | ||
|
||
* `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` - | ||
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 | ||
|
||
* `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` - | ||
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 | ||
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). |