github.com/atsaki/terraform@v0.4.3-0.20150919165407-25bba5967654/website/source/docs/providers/openstack/r/compute_instance_v2.html.markdown (about)

     1  ---
     2  layout: "openstack"
     3  page_title: "OpenStack: openstack_compute_instance_v2"
     4  sidebar_current: "docs-openstack-resource-compute-instance-v2"
     5  description: |-
     6    Manages a V2 VM instance resource within OpenStack.
     7  ---
     8  
     9  # openstack\_compute\_instance_v2
    10  
    11  Manages a V2 VM instance resource within OpenStack.
    12  
    13  ## Example Usage
    14  
    15  ```
    16  resource "openstack_compute_instance_v2" "test-server" {
    17    name = "tf-test"
    18    image_id = "ad091b52-742f-469e-8f3c-fd81cadf0743"
    19    flavor_id = "3"
    20    metadata {
    21      this = "that"
    22    }
    23    key_pair = "my_key_pair_name"
    24    security_groups = ["test-group-1"]
    25  }
    26  ```
    27  
    28  ## Argument Reference
    29  
    30  The following arguments are supported:
    31  
    32  * `region` - (Required) The region in which to create the server instance. If
    33      omitted, the `OS_REGION_NAME` environment variable is used. Changing this
    34      creates a new server.
    35  
    36  * `name` - (Required) A unique name for the resource.
    37  
    38  * `image_id` - (Optional; Required if `image_name` is empty) The image ID of
    39      the desired image for the server. Changing this creates a new server.
    40  
    41  * `image_name` - (Optional; Required if `image_id` is empty) The name of the
    42      desired image for the server. Changing this creates a new server.
    43  
    44  * `flavor_id` - (Optional; Required if `flavor_name` is empty) The flavor ID of
    45      the desired flavor for the server. Changing this resizes the existing server.
    46  
    47  * `flavor_name` - (Optional; Required if `flavor_id` is empty) The name of the
    48      desired flavor for the server. Changing this resizes the existing server.
    49  
    50  * `floating_ip` - (Optional) A *Compute* Floating IP that will be associated
    51      with the Instance. The Floating IP must be provisioned already.
    52  
    53  * `user_data` - (Optional) The user data to provide when launching the instance.
    54      Changing this creates a new server.
    55  
    56  * `security_groups` - (Optional) An array of one or more security group names
    57      to associate with the server. Changing this results in adding/removing
    58      security groups from the existing server.
    59  
    60  * `availability_zone` - (Optional) The availability zone in which to create
    61      the server. Changing this creates a new server.
    62  
    63  * `network` - (Optional) An array of one or more networks to attach to the
    64      instance. The network object structure is documented below. Changing this
    65      creates a new server.
    66  
    67  * `metadata` - (Optional) Metadata key/value pairs to make available from
    68      within the instance. Changing this updates the existing server metadata.
    69  
    70  * `config_drive` - (Optional) Whether to use the config_drive feature to
    71      configure the instance. Changing this creates a new server.
    72  
    73  * `admin_pass` - (Optional) The administrative password to assign to the server.
    74      Changing this changes the root password on the existing server.
    75  
    76  * `key_pair` - (Optional) The name of a key pair to put on the server. The key
    77      pair must already be created and associated with the tenant's account.
    78      Changing this creates a new server.
    79  
    80  * `block_device` - (Optional) The object for booting by volume. The block_device
    81      object structure is documented below. Changing this creates a new server.
    82  
    83  * `volume` - (Optional) Attach an existing volume to the instance. The volume
    84      structure is described below.
    85  
    86  * `scheduler_hints` - (Optional) Provider the Nova scheduler with hints on how
    87      the instance should be launched. The available hints are described below.
    88  
    89  The `network` block supports:
    90  
    91  * `uuid` - (Required unless `port`  or `name` is provided) The network UUID to
    92      attach to the server.
    93  
    94  * `name` - (Required unless `uuid` or `port` is provided) The human-readable
    95      name of the network.
    96  
    97  * `port` - (Required unless `uuid` or `name` is provided) The port UUID of a
    98      network to attach to the server.
    99  
   100  * `fixed_ip_v4` - (Optional) Specifies a fixed IPv4 address to be used on this
   101      network.
   102  
   103  The `block_device` block supports:
   104  
   105  * `uuid` - (Required) The UUID of the image, volume, or snapshot.
   106  
   107  * `source_type` - (Required) The source type of the device. Must be one of
   108      "image", "volume", or "snapshot".
   109  
   110  * `volume_size` - (Optional) The size of the volume to create (in gigabytes).
   111  
   112  * `boot_index` - (Optional) The boot index of the volume. It defaults to 0.
   113  
   114  * `destination_type` - (Optional) The type that gets created. Possible values
   115      are "volume" and "local".
   116  
   117  The `volume` block supports:
   118  
   119  * `volume_id` - (Required) The UUID of the volume to attach.
   120  
   121  * `device` - (Optional) The device that the volume will be attached as. For
   122      example:  `/dev/vdc`. Omit this option to allow the volume to be
   123      auto-assigned a device.
   124  
   125  The `scheduler_hints` block supports:
   126  
   127  * `group` - (Optional) A UUID of a Server Group. The instance will be placed
   128      into that group.
   129  
   130  * `different_host` - (Optional) A list of instance UUIDs. The instance will
   131      be scheduled on a different host than all other instances.
   132  
   133  * `same_host` - (Optional) A list of instance UUIDs. The instance will be
   134      scheduled on the same host of those specified.
   135  
   136  * `query` - (Optional) A conditional query that a compute node must pass in
   137      order to host an instance.
   138  
   139  * `target_cell` - (Optional) The name of a cell to host the instance.
   140  
   141  * `build_near_host_ip` - (Optional) An IP Address in CIDR form. The instance
   142      will be placed on a compute node that is in the same subnet.
   143  
   144  ## Attributes Reference
   145  
   146  The following attributes are exported:
   147  
   148  * `region` - See Argument Reference above.
   149  * `name` - See Argument Reference above.
   150  * `access_ip_v4` - The first detected Fixed IPv4 address _or_ the
   151      Floating IP.
   152  * `access_ip_v6` - The first detected Fixed IPv6 address.
   153  * `metadata` - See Argument Reference above.
   154  * `security_groups` - See Argument Reference above.
   155  * `flavor_id` - See Argument Reference above.
   156  * `flavor_name` - See Argument Reference above.
   157  * `network/uuid` - See Argument Reference above.
   158  * `network/name` - See Argument Reference above.
   159  * `network/port` - See Argument Reference above.
   160  * `network/fixed_ip_v4` - The Fixed IPv4 address of the Instance on that
   161      network.
   162  * `network/fixed_ip_v6` - The Fixed IPv6 address of the Instance on that
   163      network.
   164  * `network/mac` - The MAC address of the NIC on that network.
   165  
   166  ## Notes
   167  
   168  If you configure the instance to have multiple networks, be aware that only
   169  the first network can be associated with a Floating IP. So the first network
   170  in the instance resource _must_ be the network that you have configured to
   171  communicate with your floating IP / public network via a Neutron Router.