diff --git a/docs/r/compute_subnetwork.html.markdown b/docs/r/compute_subnetwork.html.markdown index 9b148fde015..c16297529e2 100644 --- a/docs/r/compute_subnetwork.html.markdown +++ b/docs/r/compute_subnetwork.html.markdown @@ -1,98 +1,174 @@ --- +# ---------------------------------------------------------------------------- +# +# *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +# +# ---------------------------------------------------------------------------- +# +# 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. +# +# ---------------------------------------------------------------------------- layout: "google" page_title: "Google: google_compute_subnetwork" -sidebar_current: "docs-google-compute-subnetwork-x" +sidebar_current: "docs-google-compute-subnetwork" description: |- - Manages a subnetwork within GCE. + A VPC network is a virtual version of the traditional physical networks + that exist within and between physical data centers. --- # google\_compute\_subnetwork -Manages a subnetwork within GCE. For more information see -[the official documentation](https://cloud.google.com/compute/docs/vpc/#vpc_networks_and_subnets) -and -[API](https://cloud.google.com/compute/docs/reference/latest/subnetworks). +A VPC network is a virtual version of the traditional physical networks +that exist within and between physical data centers. A VPC network +provides connectivity for your Compute Engine virtual machine (VM) +instances, Container Engine containers, App Engine Flex services, and +other network-related resources. -## Example Usage +Each GCP project contains one or more VPC networks. Each VPC network is a +global entity spanning all GCP regions. This global VPC network allows VM +instances and other resources to communicate with each other via internal, +private IP addresses. -```hcl -resource "google_compute_subnetwork" "default-us-east1" { - name = "default-us-east1" - ip_cidr_range = "10.0.0.0/16" - network = "${google_compute_network.default.self_link}" - region = "us-east1" -} - -resource "google_compute_network" "default" { - name = "test" -} -``` +Each VPC network is subdivided into subnets, and each subnet is contained +within a single region. You can have more than one subnet in a region for +a given VPC network. Each subnet has a contiguous private RFC1918 IP +space. You create instances, containers, and the like in these subnets. +When you create an instance, you must create it in a subnet, and the +instance draws its internal IP address from that subnet. -## Argument Reference +Virtual machine (VM) instances in a VPC network can communicate with +instances in all other subnets of the same VPC network, regardless of +region, using their RFC1918 private IP addresses. You can isolate portions +of the network, even entire subnets, using firewall rules. -The following arguments are supported: +To get more information about Subnetwork, see: -* `ip_cidr_range` - (Required) The IP address range that machines in this - network are assigned to, represented as a CIDR block. - -* `name` - (Required) A unique name for the resource, required by GCE. - Changing this forces a new resource to be created. - -* `network` - (Required) The network name or resource link to the parent - network of this subnetwork. The parent network must have been created - in custom subnet mode. - -- - - +* [API documentation](https://cloud.google.com/compute/docs/reference/rest/beta/subnetworks) +* How-to Guides + * [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access) + * [Cloud Networking](https://cloud.google.com/vpc/docs/using-vpc) -* `description` - (Optional) Description of this subnetwork. +## Example Usage -* `project` - (Optional) The ID of the project in which the resource belongs. If it - is not provided, the provider project is used. +```hcl + resource "google_compute_network" "custom-test" { + name = "test-network" + auto_create_subnetworks = false + } + + resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" { + name = "test-subnetwork" + ip_cidr_range = "10.2.0.0/16" + region = "us-central1" + network = "${google_compute_network.custom-test.self_link}" + secondary_ip_range { + range_name = "tf-test-secondary-range-update1" + ip_cidr_range = "192.168.10.0/24" + } + } +``` -* `region` - (Optional) The region this subnetwork will be created in. If - unspecified, this defaults to the region configured in the provider. +## Argument Reference -* `private_ip_google_access` - (Optional) Whether the VMs in this subnet - can access Google services without assigned external IP - addresses. +The following arguments are supported: -* `enable_flow_logs` - (Optional, [Beta](/docs/providers/google/index.html#beta-features)) - Set to `true` to enable [flow logs](https://cloud.google.com/vpc/docs/using-flow-logs) - for this subnetwork. +* `ip_cidr_range` - + (Required) + The range of internal addresses that are owned by this subnetwork. + Provide this property when you create the subnetwork. For example, + 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and + non-overlapping within a network. Only IPv4 is supported. +* `name` - + (Required) + The name of the resource, provided by the client when initially + creating the resource. The name must be 1-63 characters long, and + comply with RFC1035. Specifically, the name must be 1-63 characters + long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which + means the first character must be a lowercase letter, and all + following characters must be a dash, lowercase letter, or digit, + except the last character, which cannot be a dash. +* `network` - + (Required) + The network this subnet belongs to. + Only networks that are in the distributed mode can have subnetworks. - - - -* `secondary_ip_range` - (Optional, [Beta](/docs/providers/google/index.html#beta-features)) An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. Structure is documented below. +* `description` - + (Optional) + An optional description of this resource. Provide this property when + you create the resource. This field can be set only at resource + creation time. +* `enable_flow_logs` - + (Optional) + Whether to enable flow logging for this subnetwork. +* `secondary_ip_range` - + (Optional) + An array of configurations for secondary IP ranges for VM instances + contained in this subnetwork. The primary IP of such VM must belong + to the primary ipCidrRange of the subnetwork. The alias IPs may belong + to either primary or secondary ranges. Structure is documented below. +* `private_ip_google_access` - + (Optional) + Whether the VMs in this subnet can access Google services without + assigned external IP addresses. +* `region` - + (Optional) + URL of the GCP region for this subnetwork. +* `project` (Optional) The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The `secondary_ip_range` block supports: - -* `range_name` - (Required) The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. - -* `ip_cidr_range` - (Required) The range of IP addresses belonging to this subnetwork secondary range. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. +* `range_name` - + (Required) + The name associated with this subnetwork secondary range, used + when adding an alias IP range to a VM instance. The name must + be 1-63 characters long, and comply with RFC1035. The name + must be unique within the subnetwork. +* `ip_cidr_range` - + (Required) + The range of IP addresses belonging to this subnetwork secondary + range. Provide this property when you create the subnetwork. + Ranges must be unique and non-overlapping with all primary and + secondary IP ranges within a network. Only IPv4 is supported. + ## Attributes Reference -In addition to the arguments listed above, the following computed attributes are -exported: - -* `gateway_address` - The IP address of the gateway. +In addition to the arguments listed above, the following computed attributes are exported: +* `creation_timestamp` - + Creation timestamp in RFC3339 text format. +* `gateway_address` - + The gateway address for default routes to reach destination addresses + outside this subnetwork. +* `fingerprint` - + Fingerprint of this resource. This field is used internally during + updates of this resource. * `self_link` - The URI of the created resource. + ## Timeouts This resource provides the following [Timeouts](/docs/configuration/resources.html#timeouts) configuration options: -- `create` - Default is `6 minutes` -- `update` - Default is `6 minutes` -- `delete` - Default is `6 minutes` +- `create` - Default is 6 minutes. +- `update` - Default is 6 minutes. +- `delete` - Default is 6 minutes. ## Import -Subnetwork can be imported using the `region` and `name`, e.g. +Subnetwork can be imported using any of these accepted formats: ``` -$ terraform import google_compute_subnetwork.default-us-east1 us-east1/default-us-east1 +$ terraform import google_compute_subnetwork.default projects/{{project}}/regions/{{region}}/subnetworks/{{name}} +$ terraform import google_compute_subnetwork.default {{region}}/{{name}} +$ terraform import google_compute_subnetwork.default {{project}}/{{region}}/{{name}} +$ terraform import google_compute_subnetwork.default {{name}} ```