blob: fc14ea5b6a3275e597c32a9b954a1cad5165dd56 [file] [log] [blame] [edit]
---
# ----------------------------------------------------------------------------
#
# *** 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: "Google Cloud NetApp Volumes"
description: |-
NetApp Volumes helps you manage your data usage with snapshots that can quickly restore lost data.
---
# google_netapp_volume_snapshot
NetApp Volumes helps you manage your data usage with snapshots that can quickly restore lost data.
Snapshots are point-in-time versions of your volume's content. They are resources of volumes and are
instant captures of your data that consume space only for modified data. Because data changes over
time, snapshots usually consume more space as they get older.
NetApp Volumes volumes use just-in-time copy-on-write so that unmodified files in snapshots don't
consume any of the volume's capacity.
To get more information about VolumeSnapshot, see:
* [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes.snapshots)
* How-to Guides
* [Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/volume-snapshots/overview)
<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=volume_snapshot_create&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 - Volume Snapshot Create
```hcl
resource "google_netapp_storage_pool" "default" {
name = "test-pool"
location = "us-west2"
service_level = "PREMIUM"
capacity_gib = 2048
network = data.google_compute_network.default.id
}
resource "google_netapp_volume" "default" {
location = google_netapp_storage_pool.default.location
name = "test-volume"
capacity_gib = 100
share_name = "test-volume"
storage_pool = google_netapp_storage_pool.default.name
protocols = ["NFSV3"]
}
resource "google_netapp_volume_snapshot" "test_snapshot" {
depends_on = [google_netapp_volume.default]
location = google_netapp_volume.default.location
volume_name = google_netapp_volume.default.name
name = "testvolumesnap"
}
data "google_compute_network" "default" {
name = "test-network"
}
```
## Argument Reference
The following arguments are supported:
* `location` -
(Required)
Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
* `volume_name` -
(Required)
The name of the volume to create the snapshot in.
* `name` -
(Required)
The name of the snapshot.
- - -
* `description` -
(Optional)
Description for the snapshot.
* `labels` -
(Optional)
Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
**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.
* `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}}/volumes/{{volume_name}}/snapshots/{{name}}`
* `used_bytes` -
Storage used to store blocks unique to this snapshot.
* `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
VolumeSnapshot can be imported using any of these accepted formats:
* `projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}`
* `{{project}}/{{location}}/{{volume_name}}/{{name}}`
* `{{location}}/{{volume_name}}/{{name}}`
In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import VolumeSnapshot using one of the formats above. For example:
```tf
import {
id = "projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}"
to = google_netapp_volume_snapshot.default
}
```
When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), VolumeSnapshot can be imported using one of the formats above. For example:
```
$ terraform import google_netapp_volume_snapshot.default projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}
$ terraform import google_netapp_volume_snapshot.default {{project}}/{{location}}/{{volume_name}}/{{name}}
$ terraform import google_netapp_volume_snapshot.default {{location}}/{{volume_name}}/{{name}}
```
## User Project Overrides
This resource supports [User Project Overrides](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/provider_reference#user_project_override).