blob: d83ebb1afc50a04d7d27ac4ca61b9095fbc6e5cb [file] [log] [blame]
---
layout: "cloudstack"
page_title: "CloudStack: cloudstack_network"
sidebar_current: "docs-cloudstack-resource-network"
description: |-
Creates a network.
---
# cloudstack_network
Creates a network.
## Example Usage
Basic usage:
```hcl
resource "cloudstack_network" "default" {
name = "test-network"
cidr = "10.0.0.0/16"
network_offering = "Default Network"
zone = "zone-1"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the network.
* `display_text` - (Optional) The display text of the network.
* `cidr` - (Required) The CIDR block for the network. Changing this forces a new
resource to be created.
* `gateway` - (Optional) Gateway that will be provided to the instances in this
network. Defaults to the first usable IP in the range.
* `startip` - (Optional) Start of the IP block that will be available on the
network. Defaults to the second available IP in the range.
* `endip` - (Optional) End of the IP block that will be available on the
network. Defaults to the last available IP in the range.
* `network_domain` - (Optional) DNS domain for the network.
* `network_offering` - (Required) The name or ID of the network offering to use
for this network.
* `vlan` - (Optional) The VLAN number (1-4095) the network will use. This might be
required by the Network Offering if specifyVlan=true is set. Only the ROOT
admin can set this value.
* `vpc_id` - (Optional) The VPC ID in which to create this network. Changing
this forces a new resource to be created.
* `acl_id` - (Optional) The ACL ID that should be attached to the network or
`none` if you do not want to attach an ACL. You can dynamically attach and
swap ACL's, but if you want to detach an attached ACL and revert to using
`none`, this will force a new resource to be created. (defaults `none`)
* `project` - (Optional) The name or ID of the project to deploy this
instance to. Changing this forces a new resource to be created.
* `source_nat_ip` - (Optional) If set to `true` a public IP will be associated
with the network. This is mainly used when the network supports the source
NAT service which claims the first associated IP address. This prevents the
ability to manage the IP address as an independent entity.
* `zone` - (Required) The name or ID of the zone where this network will be
available. Changing this forces a new resource to be created.
## Attributes Reference
The following attributes are exported:
* `id` - The ID of the network.
* `display_text` - The display text of the network.
* `network_domain` - DNS domain for the network.
* `source_nat_ip_address` - The associated source NAT IP.
* `source_nat_ip_id` - The ID of the associated source NAT IP.
## Import
Networks can be imported; use `<NETWORK ID>` as the import ID. For
example:
```shell
terraform import cloudstack_network.default 36619b20-5584-43bf-9a84-e242bacd5582
```
When importing into a project you need to prefix the import ID with the project name:
```shell
terraform import cloudstack_network.default my-project/36619b20-5584-43bf-9a84-e242bacd5582
```