Merge pull request #1726 from skfmu/f-openstack-add-availability-zones

provider/openstack: Add availability zones for OpenStack block storage
This commit is contained in:
Mitchell Hashimoto 2015-04-29 17:38:19 -07:00
commit 136402afe9
2 changed files with 19 additions and 8 deletions

View File

@ -43,6 +43,11 @@ func resourceBlockStorageVolumeV1() *schema.Resource {
Optional: true, Optional: true,
ForceNew: false, ForceNew: false,
}, },
"availability_zone": &schema.Schema{
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"metadata": &schema.Schema{ "metadata": &schema.Schema{
Type: schema.TypeMap, Type: schema.TypeMap,
Optional: true, Optional: true,
@ -102,6 +107,7 @@ func resourceBlockStorageVolumeV1Create(d *schema.ResourceData, meta interface{}
createOpts := &volumes.CreateOpts{ createOpts := &volumes.CreateOpts{
Description: d.Get("description").(string), Description: d.Get("description").(string),
Availability: d.Get("availability_zone").(string),
Name: d.Get("name").(string), Name: d.Get("name").(string),
Size: d.Get("size").(int), Size: d.Get("size").(int),
SnapshotID: d.Get("snapshot_id").(string), SnapshotID: d.Get("snapshot_id").(string),
@ -160,6 +166,7 @@ func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{})
d.Set("size", v.Size) d.Set("size", v.Size)
d.Set("description", v.Description) d.Set("description", v.Description)
d.Set("availability_zone", v.AvailabilityZone)
d.Set("name", v.Name) d.Set("name", v.Name)
d.Set("snapshot_id", v.SnapshotID) d.Set("snapshot_id", v.SnapshotID)
d.Set("source_vol_id", v.SourceVolID) d.Set("source_vol_id", v.SourceVolID)

View File

@ -38,6 +38,9 @@ The following arguments are supported:
* `description` - (Optional) A description of the volume. Changing this updates * `description` - (Optional) A description of the volume. Changing this updates
the volume's description. the volume's description.
* `availability_zone` - (Optional) The availability zone for the volume.
Changing this creates a new volume.
* `image_id` - (Optional) The image ID from which to create the volume. * `image_id` - (Optional) The image ID from which to create the volume.
Changing this creates a new volume. Changing this creates a new volume.
@ -61,6 +64,7 @@ The following attributes are exported:
* `size` - See Argument Reference above. * `size` - See Argument Reference above.
* `name` - See Argument Reference above. * `name` - See Argument Reference above.
* `description` - See Argument Reference above. * `description` - See Argument Reference above.
* `availability_zone` - See Argument Reference above.
* `image_id` - See Argument Reference above. * `image_id` - See Argument Reference above.
* `source_vol_id` - See Argument Reference above. * `source_vol_id` - See Argument Reference above.
* `snapshot_id` - See Argument Reference above. * `snapshot_id` - See Argument Reference above.