blockstorage

package
v2.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetAvailabilityZonesV3Args

type GetAvailabilityZonesV3Args struct {
	// The region in which to obtain the Block Storage client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The `state` of the availability zones to match. Can
	// either be `available` or `unavailable`. Default is `available`.
	State *string `pulumi:"state"`
}

A collection of arguments for invoking getAvailabilityZonesV3.

type GetAvailabilityZonesV3Result

type GetAvailabilityZonesV3Result struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The names of the availability zones, ordered alphanumerically, that
	// match the queried `state`.
	Names []string `pulumi:"names"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	State *string `pulumi:"state"`
}

A collection of values returned by getAvailabilityZonesV3.

func GetAvailabilityZonesV3

func GetAvailabilityZonesV3(ctx *pulumi.Context, args *GetAvailabilityZonesV3Args, opts ...pulumi.InvokeOption) (*GetAvailabilityZonesV3Result, error)

Use this data source to get a list of Block Storage availability zones from OpenStack

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.GetAvailabilityZonesV3(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSnapshotV2Args

type GetSnapshotV2Args struct {
	// Pick the most recently created snapshot if there
	// are multiple results.
	MostRecent *bool `pulumi:"mostRecent"`
	// The name of the snapshot.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V2 Block Storage
	// client. If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the snapshot.
	Status *string `pulumi:"status"`
	// The ID of the snapshot's volume.
	VolumeId *string `pulumi:"volumeId"`
}

A collection of arguments for invoking getSnapshotV2.

type GetSnapshotV2Result

type GetSnapshotV2Result struct {
	// The snapshot's description.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The snapshot's metadata.
	Metadata   map[string]interface{} `pulumi:"metadata"`
	MostRecent *bool                  `pulumi:"mostRecent"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The size of the snapshot.
	Size int `pulumi:"size"`
	// See Argument Reference above.
	Status string `pulumi:"status"`
	// See Argument Reference above.
	VolumeId string `pulumi:"volumeId"`
}

A collection of values returned by getSnapshotV2.

func GetSnapshotV2

func GetSnapshotV2(ctx *pulumi.Context, args *GetSnapshotV2Args, opts ...pulumi.InvokeOption) (*GetSnapshotV2Result, error)

Use this data source to get information about an existing snapshot.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		opt1 := "snapshot_1"
		_, err := blockstorage.GetSnapshotV2(ctx, &blockstorage.GetSnapshotV2Args{
			MostRecent: &opt0,
			Name:       &opt1,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSnapshotV3Args

type GetSnapshotV3Args struct {
	// Pick the most recently created snapshot if there
	// are multiple results.
	MostRecent *bool `pulumi:"mostRecent"`
	// The name of the snapshot.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V3 Block Storage
	// client. If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the snapshot.
	Status *string `pulumi:"status"`
	// The ID of the snapshot's volume.
	VolumeId *string `pulumi:"volumeId"`
}

A collection of arguments for invoking getSnapshotV3.

type GetSnapshotV3Result

type GetSnapshotV3Result struct {
	// The snapshot's description.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The snapshot's metadata.
	Metadata   map[string]interface{} `pulumi:"metadata"`
	MostRecent *bool                  `pulumi:"mostRecent"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The size of the snapshot.
	Size int `pulumi:"size"`
	// See Argument Reference above.
	Status string `pulumi:"status"`
	// See Argument Reference above.
	VolumeId string `pulumi:"volumeId"`
}

A collection of values returned by getSnapshotV3.

func GetSnapshotV3

func GetSnapshotV3(ctx *pulumi.Context, args *GetSnapshotV3Args, opts ...pulumi.InvokeOption) (*GetSnapshotV3Result, error)

Use this data source to get information about an existing snapshot.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		opt1 := "snapshot_1"
		_, err := blockstorage.GetSnapshotV3(ctx, &blockstorage.GetSnapshotV3Args{
			MostRecent: &opt0,
			Name:       &opt1,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetVolumeV3Args

type GetVolumeV3Args struct {
	// Indicates if the volume is bootable.
	Bootable *string `pulumi:"bootable"`
	// Metadata key/value pairs associated with the volume.
	Metadata map[string]interface{} `pulumi:"metadata"`
	// The name of the volume.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V3 Block Storage
	// client. If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the volume.
	Status *string `pulumi:"status"`
	// The type of the volume.
	VolumeType *string `pulumi:"volumeType"`
}

A collection of arguments for invoking getVolumeV3.

type GetVolumeV3Result

type GetVolumeV3Result struct {
	// Indicates if the volume is bootable.
	Bootable string `pulumi:"bootable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Metadata map[string]interface{} `pulumi:"metadata"`
	// Indicates if the volume can be attached to more then one server.
	Multiattach bool `pulumi:"multiattach"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The size of the volume in GBs.
	Size int `pulumi:"size"`
	// The ID of the volume from which the current volume was created.
	SourceVolumeId string `pulumi:"sourceVolumeId"`
	// See Argument Reference above.
	Status string `pulumi:"status"`
	// The type of the volume.
	VolumeType string `pulumi:"volumeType"`
}

A collection of values returned by getVolumeV3.

func GetVolumeV3

func GetVolumeV3(ctx *pulumi.Context, args *GetVolumeV3Args, opts ...pulumi.InvokeOption) (*GetVolumeV3Result, error)

Use this data source to get information about an existing volume.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "volume_1"
		_, err := blockstorage.GetVolumeV3(ctx, &blockstorage.GetVolumeV3Args{
			Name: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVolumeV2Args

type LookupVolumeV2Args struct {
	// Indicates if the volume is bootable.
	Bootable *string `pulumi:"bootable"`
	// Metadata key/value pairs associated with the volume.
	Metadata map[string]interface{} `pulumi:"metadata"`
	// The name of the volume.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V2 Block Storage
	// client. If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the volume.
	Status *string `pulumi:"status"`
	// The type of the volume.
	VolumeType *string `pulumi:"volumeType"`
}

A collection of arguments for invoking getVolumeV2.

type LookupVolumeV2Result

type LookupVolumeV2Result struct {
	// Indicates if the volume is bootable.
	Bootable string `pulumi:"bootable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Metadata map[string]interface{} `pulumi:"metadata"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The size of the volume in GBs.
	Size int `pulumi:"size"`
	// The ID of the volume from which the current volume was created.
	SourceVolumeId string `pulumi:"sourceVolumeId"`
	// See Argument Reference above.
	Status string `pulumi:"status"`
	// The type of the volume.
	VolumeType string `pulumi:"volumeType"`
}

A collection of values returned by getVolumeV2.

func LookupVolumeV2

func LookupVolumeV2(ctx *pulumi.Context, args *LookupVolumeV2Args, opts ...pulumi.InvokeOption) (*LookupVolumeV2Result, error)

Use this data source to get information about an existing volume.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "volume_1"
		_, err := blockstorage.LookupVolumeV2(ctx, &blockstorage.LookupVolumeV2Args{
			Name: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type QuoteSetV2

type QuoteSetV2 struct {
	pulumi.CustomResourceState

	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntOutput `pulumi:"backupGigabytes"`
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntOutput `pulumi:"backups"`
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntOutput `pulumi:"gigabytes"`
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntOutput `pulumi:"groups"`
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntOutput `pulumi:"perVolumeGigabytes"`
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringOutput `pulumi:"region"`
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntOutput `pulumi:"snapshots"`
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapOutput `pulumi:"volumeTypeQuota"`
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntOutput `pulumi:"volumes"`
}

Manages a V2 block storage quotaset resource within OpenStack.

> **Note:** This usually requires admin privileges.

> **Note:** This resource has a no-op deletion so no actual actions will be done against the OpenStack API

in case of delete call.

> **Note:** This resource has all-in creation so all optional quota arguments that were not specified are

created with zero value. This excludes volume type quota.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		_, err = blockstorage.NewQuoteSetV2(ctx, "quotaset1", &blockstorage.QuoteSetV2Args{
			ProjectId:          project1.ID(),
			Volumes:            pulumi.Int(10),
			Snapshots:          pulumi.Int(4),
			Gigabytes:          pulumi.Int(100),
			PerVolumeGigabytes: pulumi.Int(10),
			Backups:            pulumi.Int(4),
			BackupGigabytes:    pulumi.Int(10),
			Groups:             pulumi.Int(100),
			VolumeTypeQuota: pulumi.Float64Map{
				"volumes_ssd":   pulumi.Float64(30),
				"gigabytes_ssd": pulumi.Float64(500),
				"snapshots_ssd": pulumi.Float64(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Quotasets can be imported using the `project_id/region`, e.g.

```sh

$ pulumi import openstack:blockstorage/quoteSetV2:QuoteSetV2 quotaset_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1

```

func GetQuoteSetV2

func GetQuoteSetV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QuoteSetV2State, opts ...pulumi.ResourceOption) (*QuoteSetV2, error)

GetQuoteSetV2 gets an existing QuoteSetV2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewQuoteSetV2

func NewQuoteSetV2(ctx *pulumi.Context,
	name string, args *QuoteSetV2Args, opts ...pulumi.ResourceOption) (*QuoteSetV2, error)

NewQuoteSetV2 registers a new resource with the given unique name, arguments, and options.

func (*QuoteSetV2) ElementType added in v2.10.0

func (*QuoteSetV2) ElementType() reflect.Type

func (*QuoteSetV2) ToQuoteSetV2Output added in v2.10.0

func (i *QuoteSetV2) ToQuoteSetV2Output() QuoteSetV2Output

func (*QuoteSetV2) ToQuoteSetV2OutputWithContext added in v2.10.0

func (i *QuoteSetV2) ToQuoteSetV2OutputWithContext(ctx context.Context) QuoteSetV2Output

func (*QuoteSetV2) ToQuoteSetV2PtrOutput added in v2.14.1

func (i *QuoteSetV2) ToQuoteSetV2PtrOutput() QuoteSetV2PtrOutput

func (*QuoteSetV2) ToQuoteSetV2PtrOutputWithContext added in v2.14.1

func (i *QuoteSetV2) ToQuoteSetV2PtrOutputWithContext(ctx context.Context) QuoteSetV2PtrOutput

type QuoteSetV2Args

type QuoteSetV2Args struct {
	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntPtrInput
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntPtrInput
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntPtrInput
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntPtrInput
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntPtrInput
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapInput
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntPtrInput
}

The set of arguments for constructing a QuoteSetV2 resource.

func (QuoteSetV2Args) ElementType

func (QuoteSetV2Args) ElementType() reflect.Type

type QuoteSetV2Array added in v2.14.1

type QuoteSetV2Array []QuoteSetV2Input

func (QuoteSetV2Array) ElementType added in v2.14.1

func (QuoteSetV2Array) ElementType() reflect.Type

func (QuoteSetV2Array) ToQuoteSetV2ArrayOutput added in v2.14.1

func (i QuoteSetV2Array) ToQuoteSetV2ArrayOutput() QuoteSetV2ArrayOutput

func (QuoteSetV2Array) ToQuoteSetV2ArrayOutputWithContext added in v2.14.1

func (i QuoteSetV2Array) ToQuoteSetV2ArrayOutputWithContext(ctx context.Context) QuoteSetV2ArrayOutput

type QuoteSetV2ArrayInput added in v2.14.1

type QuoteSetV2ArrayInput interface {
	pulumi.Input

	ToQuoteSetV2ArrayOutput() QuoteSetV2ArrayOutput
	ToQuoteSetV2ArrayOutputWithContext(context.Context) QuoteSetV2ArrayOutput
}

QuoteSetV2ArrayInput is an input type that accepts QuoteSetV2Array and QuoteSetV2ArrayOutput values. You can construct a concrete instance of `QuoteSetV2ArrayInput` via:

QuoteSetV2Array{ QuoteSetV2Args{...} }

type QuoteSetV2ArrayOutput added in v2.14.1

type QuoteSetV2ArrayOutput struct{ *pulumi.OutputState }

func (QuoteSetV2ArrayOutput) ElementType added in v2.14.1

func (QuoteSetV2ArrayOutput) ElementType() reflect.Type

func (QuoteSetV2ArrayOutput) Index added in v2.14.1

func (QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutput added in v2.14.1

func (o QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutput() QuoteSetV2ArrayOutput

func (QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutputWithContext added in v2.14.1

func (o QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutputWithContext(ctx context.Context) QuoteSetV2ArrayOutput

type QuoteSetV2Input added in v2.10.0

type QuoteSetV2Input interface {
	pulumi.Input

	ToQuoteSetV2Output() QuoteSetV2Output
	ToQuoteSetV2OutputWithContext(ctx context.Context) QuoteSetV2Output
}

type QuoteSetV2Map added in v2.14.1

type QuoteSetV2Map map[string]QuoteSetV2Input

func (QuoteSetV2Map) ElementType added in v2.14.1

func (QuoteSetV2Map) ElementType() reflect.Type

func (QuoteSetV2Map) ToQuoteSetV2MapOutput added in v2.14.1

func (i QuoteSetV2Map) ToQuoteSetV2MapOutput() QuoteSetV2MapOutput

func (QuoteSetV2Map) ToQuoteSetV2MapOutputWithContext added in v2.14.1

func (i QuoteSetV2Map) ToQuoteSetV2MapOutputWithContext(ctx context.Context) QuoteSetV2MapOutput

type QuoteSetV2MapInput added in v2.14.1

type QuoteSetV2MapInput interface {
	pulumi.Input

	ToQuoteSetV2MapOutput() QuoteSetV2MapOutput
	ToQuoteSetV2MapOutputWithContext(context.Context) QuoteSetV2MapOutput
}

QuoteSetV2MapInput is an input type that accepts QuoteSetV2Map and QuoteSetV2MapOutput values. You can construct a concrete instance of `QuoteSetV2MapInput` via:

QuoteSetV2Map{ "key": QuoteSetV2Args{...} }

type QuoteSetV2MapOutput added in v2.14.1

type QuoteSetV2MapOutput struct{ *pulumi.OutputState }

func (QuoteSetV2MapOutput) ElementType added in v2.14.1

func (QuoteSetV2MapOutput) ElementType() reflect.Type

func (QuoteSetV2MapOutput) MapIndex added in v2.14.1

func (QuoteSetV2MapOutput) ToQuoteSetV2MapOutput added in v2.14.1

func (o QuoteSetV2MapOutput) ToQuoteSetV2MapOutput() QuoteSetV2MapOutput

func (QuoteSetV2MapOutput) ToQuoteSetV2MapOutputWithContext added in v2.14.1

func (o QuoteSetV2MapOutput) ToQuoteSetV2MapOutputWithContext(ctx context.Context) QuoteSetV2MapOutput

type QuoteSetV2Output added in v2.10.0

type QuoteSetV2Output struct {
	*pulumi.OutputState
}

func (QuoteSetV2Output) ElementType added in v2.10.0

func (QuoteSetV2Output) ElementType() reflect.Type

func (QuoteSetV2Output) ToQuoteSetV2Output added in v2.10.0

func (o QuoteSetV2Output) ToQuoteSetV2Output() QuoteSetV2Output

func (QuoteSetV2Output) ToQuoteSetV2OutputWithContext added in v2.10.0

func (o QuoteSetV2Output) ToQuoteSetV2OutputWithContext(ctx context.Context) QuoteSetV2Output

func (QuoteSetV2Output) ToQuoteSetV2PtrOutput added in v2.14.1

func (o QuoteSetV2Output) ToQuoteSetV2PtrOutput() QuoteSetV2PtrOutput

func (QuoteSetV2Output) ToQuoteSetV2PtrOutputWithContext added in v2.14.1

func (o QuoteSetV2Output) ToQuoteSetV2PtrOutputWithContext(ctx context.Context) QuoteSetV2PtrOutput

type QuoteSetV2PtrInput added in v2.14.1

type QuoteSetV2PtrInput interface {
	pulumi.Input

	ToQuoteSetV2PtrOutput() QuoteSetV2PtrOutput
	ToQuoteSetV2PtrOutputWithContext(ctx context.Context) QuoteSetV2PtrOutput
}

type QuoteSetV2PtrOutput added in v2.14.1

type QuoteSetV2PtrOutput struct {
	*pulumi.OutputState
}

func (QuoteSetV2PtrOutput) ElementType added in v2.14.1

func (QuoteSetV2PtrOutput) ElementType() reflect.Type

func (QuoteSetV2PtrOutput) ToQuoteSetV2PtrOutput added in v2.14.1

func (o QuoteSetV2PtrOutput) ToQuoteSetV2PtrOutput() QuoteSetV2PtrOutput

func (QuoteSetV2PtrOutput) ToQuoteSetV2PtrOutputWithContext added in v2.14.1

func (o QuoteSetV2PtrOutput) ToQuoteSetV2PtrOutputWithContext(ctx context.Context) QuoteSetV2PtrOutput

type QuoteSetV2State

type QuoteSetV2State struct {
	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntPtrInput
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntPtrInput
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntPtrInput
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntPtrInput
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntPtrInput
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapInput
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntPtrInput
}

func (QuoteSetV2State) ElementType

func (QuoteSetV2State) ElementType() reflect.Type

type QuoteSetV3

type QuoteSetV3 struct {
	pulumi.CustomResourceState

	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntOutput `pulumi:"backupGigabytes"`
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntOutput `pulumi:"backups"`
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntOutput `pulumi:"gigabytes"`
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntOutput `pulumi:"groups"`
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntOutput `pulumi:"perVolumeGigabytes"`
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringOutput `pulumi:"region"`
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntOutput `pulumi:"snapshots"`
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapOutput `pulumi:"volumeTypeQuota"`
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntOutput `pulumi:"volumes"`
}

Manages a V3 block storage quotaset resource within OpenStack.

> **Note:** This usually requires admin privileges.

> **Note:** This resource has a no-op deletion so no actual actions will be done against the OpenStack API

in case of delete call.

> **Note:** This resource has all-in creation so all optional quota arguments that were not specified are

created with zero value. This excludes volume type quota.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		_, err = blockstorage.NewQuoteSetV3(ctx, "quotaset1", &blockstorage.QuoteSetV3Args{
			ProjectId:          project1.ID(),
			Volumes:            pulumi.Int(10),
			Snapshots:          pulumi.Int(4),
			Gigabytes:          pulumi.Int(100),
			PerVolumeGigabytes: pulumi.Int(10),
			Backups:            pulumi.Int(4),
			BackupGigabytes:    pulumi.Int(10),
			Groups:             pulumi.Int(100),
			VolumeTypeQuota: pulumi.Float64Map{
				"volumes_ssd":   pulumi.Float64(30),
				"gigabytes_ssd": pulumi.Float64(500),
				"snapshots_ssd": pulumi.Float64(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Quotasets can be imported using the `project_id/region`, e.g.

```sh

$ pulumi import openstack:blockstorage/quoteSetV3:QuoteSetV3 quotaset_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1

```

func GetQuoteSetV3

func GetQuoteSetV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QuoteSetV3State, opts ...pulumi.ResourceOption) (*QuoteSetV3, error)

GetQuoteSetV3 gets an existing QuoteSetV3 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewQuoteSetV3

func NewQuoteSetV3(ctx *pulumi.Context,
	name string, args *QuoteSetV3Args, opts ...pulumi.ResourceOption) (*QuoteSetV3, error)

NewQuoteSetV3 registers a new resource with the given unique name, arguments, and options.

func (*QuoteSetV3) ElementType added in v2.10.0

func (*QuoteSetV3) ElementType() reflect.Type

func (*QuoteSetV3) ToQuoteSetV3Output added in v2.10.0

func (i *QuoteSetV3) ToQuoteSetV3Output() QuoteSetV3Output

func (*QuoteSetV3) ToQuoteSetV3OutputWithContext added in v2.10.0

func (i *QuoteSetV3) ToQuoteSetV3OutputWithContext(ctx context.Context) QuoteSetV3Output

func (*QuoteSetV3) ToQuoteSetV3PtrOutput added in v2.14.1

func (i *QuoteSetV3) ToQuoteSetV3PtrOutput() QuoteSetV3PtrOutput

func (*QuoteSetV3) ToQuoteSetV3PtrOutputWithContext added in v2.14.1

func (i *QuoteSetV3) ToQuoteSetV3PtrOutputWithContext(ctx context.Context) QuoteSetV3PtrOutput

type QuoteSetV3Args

type QuoteSetV3Args struct {
	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntPtrInput
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntPtrInput
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntPtrInput
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntPtrInput
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntPtrInput
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapInput
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntPtrInput
}

The set of arguments for constructing a QuoteSetV3 resource.

func (QuoteSetV3Args) ElementType

func (QuoteSetV3Args) ElementType() reflect.Type

type QuoteSetV3Array added in v2.14.1

type QuoteSetV3Array []QuoteSetV3Input

func (QuoteSetV3Array) ElementType added in v2.14.1

func (QuoteSetV3Array) ElementType() reflect.Type

func (QuoteSetV3Array) ToQuoteSetV3ArrayOutput added in v2.14.1

func (i QuoteSetV3Array) ToQuoteSetV3ArrayOutput() QuoteSetV3ArrayOutput

func (QuoteSetV3Array) ToQuoteSetV3ArrayOutputWithContext added in v2.14.1

func (i QuoteSetV3Array) ToQuoteSetV3ArrayOutputWithContext(ctx context.Context) QuoteSetV3ArrayOutput

type QuoteSetV3ArrayInput added in v2.14.1

type QuoteSetV3ArrayInput interface {
	pulumi.Input

	ToQuoteSetV3ArrayOutput() QuoteSetV3ArrayOutput
	ToQuoteSetV3ArrayOutputWithContext(context.Context) QuoteSetV3ArrayOutput
}

QuoteSetV3ArrayInput is an input type that accepts QuoteSetV3Array and QuoteSetV3ArrayOutput values. You can construct a concrete instance of `QuoteSetV3ArrayInput` via:

QuoteSetV3Array{ QuoteSetV3Args{...} }

type QuoteSetV3ArrayOutput added in v2.14.1

type QuoteSetV3ArrayOutput struct{ *pulumi.OutputState }

func (QuoteSetV3ArrayOutput) ElementType added in v2.14.1

func (QuoteSetV3ArrayOutput) ElementType() reflect.Type

func (QuoteSetV3ArrayOutput) Index added in v2.14.1

func (QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutput added in v2.14.1

func (o QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutput() QuoteSetV3ArrayOutput

func (QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutputWithContext added in v2.14.1

func (o QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutputWithContext(ctx context.Context) QuoteSetV3ArrayOutput

type QuoteSetV3Input added in v2.10.0

type QuoteSetV3Input interface {
	pulumi.Input

	ToQuoteSetV3Output() QuoteSetV3Output
	ToQuoteSetV3OutputWithContext(ctx context.Context) QuoteSetV3Output
}

type QuoteSetV3Map added in v2.14.1

type QuoteSetV3Map map[string]QuoteSetV3Input

func (QuoteSetV3Map) ElementType added in v2.14.1

func (QuoteSetV3Map) ElementType() reflect.Type

func (QuoteSetV3Map) ToQuoteSetV3MapOutput added in v2.14.1

func (i QuoteSetV3Map) ToQuoteSetV3MapOutput() QuoteSetV3MapOutput

func (QuoteSetV3Map) ToQuoteSetV3MapOutputWithContext added in v2.14.1

func (i QuoteSetV3Map) ToQuoteSetV3MapOutputWithContext(ctx context.Context) QuoteSetV3MapOutput

type QuoteSetV3MapInput added in v2.14.1

type QuoteSetV3MapInput interface {
	pulumi.Input

	ToQuoteSetV3MapOutput() QuoteSetV3MapOutput
	ToQuoteSetV3MapOutputWithContext(context.Context) QuoteSetV3MapOutput
}

QuoteSetV3MapInput is an input type that accepts QuoteSetV3Map and QuoteSetV3MapOutput values. You can construct a concrete instance of `QuoteSetV3MapInput` via:

QuoteSetV3Map{ "key": QuoteSetV3Args{...} }

type QuoteSetV3MapOutput added in v2.14.1

type QuoteSetV3MapOutput struct{ *pulumi.OutputState }

func (QuoteSetV3MapOutput) ElementType added in v2.14.1

func (QuoteSetV3MapOutput) ElementType() reflect.Type

func (QuoteSetV3MapOutput) MapIndex added in v2.14.1

func (QuoteSetV3MapOutput) ToQuoteSetV3MapOutput added in v2.14.1

func (o QuoteSetV3MapOutput) ToQuoteSetV3MapOutput() QuoteSetV3MapOutput

func (QuoteSetV3MapOutput) ToQuoteSetV3MapOutputWithContext added in v2.14.1

func (o QuoteSetV3MapOutput) ToQuoteSetV3MapOutputWithContext(ctx context.Context) QuoteSetV3MapOutput

type QuoteSetV3Output added in v2.10.0

type QuoteSetV3Output struct {
	*pulumi.OutputState
}

func (QuoteSetV3Output) ElementType added in v2.10.0

func (QuoteSetV3Output) ElementType() reflect.Type

func (QuoteSetV3Output) ToQuoteSetV3Output added in v2.10.0

func (o QuoteSetV3Output) ToQuoteSetV3Output() QuoteSetV3Output

func (QuoteSetV3Output) ToQuoteSetV3OutputWithContext added in v2.10.0

func (o QuoteSetV3Output) ToQuoteSetV3OutputWithContext(ctx context.Context) QuoteSetV3Output

func (QuoteSetV3Output) ToQuoteSetV3PtrOutput added in v2.14.1

func (o QuoteSetV3Output) ToQuoteSetV3PtrOutput() QuoteSetV3PtrOutput

func (QuoteSetV3Output) ToQuoteSetV3PtrOutputWithContext added in v2.14.1

func (o QuoteSetV3Output) ToQuoteSetV3PtrOutputWithContext(ctx context.Context) QuoteSetV3PtrOutput

type QuoteSetV3PtrInput added in v2.14.1

type QuoteSetV3PtrInput interface {
	pulumi.Input

	ToQuoteSetV3PtrOutput() QuoteSetV3PtrOutput
	ToQuoteSetV3PtrOutputWithContext(ctx context.Context) QuoteSetV3PtrOutput
}

type QuoteSetV3PtrOutput added in v2.14.1

type QuoteSetV3PtrOutput struct {
	*pulumi.OutputState
}

func (QuoteSetV3PtrOutput) ElementType added in v2.14.1

func (QuoteSetV3PtrOutput) ElementType() reflect.Type

func (QuoteSetV3PtrOutput) ToQuoteSetV3PtrOutput added in v2.14.1

func (o QuoteSetV3PtrOutput) ToQuoteSetV3PtrOutput() QuoteSetV3PtrOutput

func (QuoteSetV3PtrOutput) ToQuoteSetV3PtrOutputWithContext added in v2.14.1

func (o QuoteSetV3PtrOutput) ToQuoteSetV3PtrOutputWithContext(ctx context.Context) QuoteSetV3PtrOutput

type QuoteSetV3State

type QuoteSetV3State struct {
	// Quota value for backup gigabytes. Changing
	// this updates the existing quotaset.
	BackupGigabytes pulumi.IntPtrInput
	// Quota value for backups. Changing this updates the
	// existing quotaset.
	Backups pulumi.IntPtrInput
	// Quota value for gigabytes. Changing this updates the
	// existing quotaset.
	Gigabytes pulumi.IntPtrInput
	// Quota value for groups. Changing this updates the
	// existing quotaset.
	Groups pulumi.IntPtrInput
	// Quota value for gigabytes per volume .
	// Changing this updates the existing quotaset.
	PerVolumeGigabytes pulumi.IntPtrInput
	// ID of the project to manage quotas. Changing this
	// creates a new quotaset.
	ProjectId pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
	// Quota value for snapshots. Changing this updates the
	// existing quotaset.
	Snapshots pulumi.IntPtrInput
	// Key/Value pairs for setting quota for
	// volumes types. Possible keys are `snapshots_<volume_type_name>`,
	// `volumes_<volume_type_name>` and `gigabytes_<volume_type_name>`.
	VolumeTypeQuota pulumi.MapInput
	// Quota value for volumes. Changing this updates the
	// existing quotaset.
	Volumes pulumi.IntPtrInput
}

func (QuoteSetV3State) ElementType

func (QuoteSetV3State) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeAttachmentArrayOutput `pulumi:"attachments"`
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrOutput `pulumi:"consistencyGroupId"`
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// When this option is set it allows extending
	// attached volumes. Note: updating size of an attached volume requires Cinder
	// support for version 3.42 and a compatible storage driver.
	EnableOnlineResize pulumi.BoolPtrOutput `pulumi:"enableOnlineResize"`
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrOutput `pulumi:"imageId"`
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapOutput `pulumi:"metadata"`
	// Allow the volume to be attached to more than one Compute instance.
	Multiattach pulumi.BoolPtrOutput `pulumi:"multiattach"`
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringOutput `pulumi:"region"`
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeSchedulerHintArrayOutput `pulumi:"schedulerHints"`
	// The size of the volume to create (in gigabytes).
	Size pulumi.IntOutput `pulumi:"size"`
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"`
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrOutput `pulumi:"sourceReplica"`
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrOutput `pulumi:"sourceVolId"`
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringOutput `pulumi:"volumeType"`
}

Manages a V3 volume resource within OpenStack.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.NewVolume(ctx, "volume1", &blockstorage.VolumeArgs{
			Description: pulumi.String("first test volume"),
			Region:      pulumi.String("RegionOne"),
			Size:        pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Volumes can be imported using the `id`, e.g.

```sh

$ pulumi import openstack:blockstorage/volume:Volume volume_1 ea257959-eeb1-4c10-8d33-26f0409a755d

```

func GetVolume

func GetVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeState, opts ...pulumi.ResourceOption) (*Volume, error)

GetVolume gets an existing Volume resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolume

func NewVolume(ctx *pulumi.Context,
	name string, args *VolumeArgs, opts ...pulumi.ResourceOption) (*Volume, error)

NewVolume registers a new resource with the given unique name, arguments, and options.

func (*Volume) ElementType added in v2.10.0

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput added in v2.10.0

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext added in v2.10.0

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (*Volume) ToVolumePtrOutput added in v2.14.1

func (i *Volume) ToVolumePtrOutput() VolumePtrOutput

func (*Volume) ToVolumePtrOutputWithContext added in v2.14.1

func (i *Volume) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeArgs

type VolumeArgs struct {
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// When this option is set it allows extending
	// attached volumes. Note: updating size of an attached volume requires Cinder
	// support for version 3.42 and a compatible storage driver.
	EnableOnlineResize pulumi.BoolPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// Allow the volume to be attached to more than one Compute instance.
	Multiattach pulumi.BoolPtrInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeSchedulerHintArrayInput
	// The size of the volume to create (in gigabytes).
	Size pulumi.IntInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray added in v2.14.1

type VolumeArray []VolumeInput

func (VolumeArray) ElementType added in v2.14.1

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput added in v2.14.1

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext added in v2.14.1

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput added in v2.14.1

type VolumeArrayInput interface {
	pulumi.Input

	ToVolumeArrayOutput() VolumeArrayOutput
	ToVolumeArrayOutputWithContext(context.Context) VolumeArrayOutput
}

VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. You can construct a concrete instance of `VolumeArrayInput` via:

VolumeArray{ VolumeArgs{...} }

type VolumeArrayOutput added in v2.14.1

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType added in v2.14.1

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index added in v2.14.1

func (VolumeArrayOutput) ToVolumeArrayOutput added in v2.14.1

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext added in v2.14.1

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeAttach

type VolumeAttach struct {
	pulumi.CustomResourceState

	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrOutput `pulumi:"attachMode"`
	// This is a map of key/value pairs that contain the connection
	// information. You will want to pass this information to a provisioner
	// script to finalize the connection. See below for more information.
	Data pulumi.MapOutput `pulumi:"data"`
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrOutput `pulumi:"device"`
	// The storage driver that the volume is based on.
	DriverVolumeType pulumi.StringOutput `pulumi:"driverVolumeType"`
	// The host to attach the volume to.
	HostName pulumi.StringOutput `pulumi:"hostName"`
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrOutput `pulumi:"initiator"`
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrOutput `pulumi:"ipAddress"`
	// A mount point base name for shared storage.
	MountPointBase pulumi.StringOutput `pulumi:"mountPointBase"`
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrOutput `pulumi:"multipath"`
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrOutput `pulumi:"osType"`
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrOutput `pulumi:"platform"`
	// The region in which to obtain the V3 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrOutput `pulumi:"wwnn"`
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayOutput `pulumi:"wwpns"`
}

## Import

It is not possible to import this resource.

func GetVolumeAttach

func GetVolumeAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachState, opts ...pulumi.ResourceOption) (*VolumeAttach, error)

GetVolumeAttach gets an existing VolumeAttach resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeAttach

func NewVolumeAttach(ctx *pulumi.Context,
	name string, args *VolumeAttachArgs, opts ...pulumi.ResourceOption) (*VolumeAttach, error)

NewVolumeAttach registers a new resource with the given unique name, arguments, and options.

func (*VolumeAttach) ElementType added in v2.10.0

func (*VolumeAttach) ElementType() reflect.Type

func (*VolumeAttach) ToVolumeAttachOutput added in v2.10.0

func (i *VolumeAttach) ToVolumeAttachOutput() VolumeAttachOutput

func (*VolumeAttach) ToVolumeAttachOutputWithContext added in v2.10.0

func (i *VolumeAttach) ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput

func (*VolumeAttach) ToVolumeAttachPtrOutput added in v2.14.1

func (i *VolumeAttach) ToVolumeAttachPtrOutput() VolumeAttachPtrOutput

func (*VolumeAttach) ToVolumeAttachPtrOutputWithContext added in v2.14.1

func (i *VolumeAttach) ToVolumeAttachPtrOutputWithContext(ctx context.Context) VolumeAttachPtrOutput

type VolumeAttachArgs

type VolumeAttachArgs struct {
	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrInput
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrInput
	// The host to attach the volume to.
	HostName pulumi.StringInput
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrInput
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrInput
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrInput
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrInput
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrInput
	// The region in which to obtain the V3 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringInput
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrInput
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayInput
}

The set of arguments for constructing a VolumeAttach resource.

func (VolumeAttachArgs) ElementType

func (VolumeAttachArgs) ElementType() reflect.Type

type VolumeAttachArray added in v2.14.1

type VolumeAttachArray []VolumeAttachInput

func (VolumeAttachArray) ElementType added in v2.14.1

func (VolumeAttachArray) ElementType() reflect.Type

func (VolumeAttachArray) ToVolumeAttachArrayOutput added in v2.14.1

func (i VolumeAttachArray) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArray) ToVolumeAttachArrayOutputWithContext added in v2.14.1

func (i VolumeAttachArray) ToVolumeAttachArrayOutputWithContext(ctx context.Context) VolumeAttachArrayOutput

type VolumeAttachArrayInput added in v2.14.1

type VolumeAttachArrayInput interface {
	pulumi.Input

	ToVolumeAttachArrayOutput() VolumeAttachArrayOutput
	ToVolumeAttachArrayOutputWithContext(context.Context) VolumeAttachArrayOutput
}

VolumeAttachArrayInput is an input type that accepts VolumeAttachArray and VolumeAttachArrayOutput values. You can construct a concrete instance of `VolumeAttachArrayInput` via:

VolumeAttachArray{ VolumeAttachArgs{...} }

type VolumeAttachArrayOutput added in v2.14.1

type VolumeAttachArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachArrayOutput) ElementType added in v2.14.1

func (VolumeAttachArrayOutput) ElementType() reflect.Type

func (VolumeAttachArrayOutput) Index added in v2.14.1

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutput added in v2.14.1

func (o VolumeAttachArrayOutput) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutputWithContext added in v2.14.1

func (o VolumeAttachArrayOutput) ToVolumeAttachArrayOutputWithContext(ctx context.Context) VolumeAttachArrayOutput

type VolumeAttachInput added in v2.10.0

type VolumeAttachInput interface {
	pulumi.Input

	ToVolumeAttachOutput() VolumeAttachOutput
	ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput
}

type VolumeAttachMap added in v2.14.1

type VolumeAttachMap map[string]VolumeAttachInput

func (VolumeAttachMap) ElementType added in v2.14.1

func (VolumeAttachMap) ElementType() reflect.Type

func (VolumeAttachMap) ToVolumeAttachMapOutput added in v2.14.1

func (i VolumeAttachMap) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMap) ToVolumeAttachMapOutputWithContext added in v2.14.1

func (i VolumeAttachMap) ToVolumeAttachMapOutputWithContext(ctx context.Context) VolumeAttachMapOutput

type VolumeAttachMapInput added in v2.14.1

type VolumeAttachMapInput interface {
	pulumi.Input

	ToVolumeAttachMapOutput() VolumeAttachMapOutput
	ToVolumeAttachMapOutputWithContext(context.Context) VolumeAttachMapOutput
}

VolumeAttachMapInput is an input type that accepts VolumeAttachMap and VolumeAttachMapOutput values. You can construct a concrete instance of `VolumeAttachMapInput` via:

VolumeAttachMap{ "key": VolumeAttachArgs{...} }

type VolumeAttachMapOutput added in v2.14.1

type VolumeAttachMapOutput struct{ *pulumi.OutputState }

func (VolumeAttachMapOutput) ElementType added in v2.14.1

func (VolumeAttachMapOutput) ElementType() reflect.Type

func (VolumeAttachMapOutput) MapIndex added in v2.14.1

func (VolumeAttachMapOutput) ToVolumeAttachMapOutput added in v2.14.1

func (o VolumeAttachMapOutput) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMapOutput) ToVolumeAttachMapOutputWithContext added in v2.14.1

func (o VolumeAttachMapOutput) ToVolumeAttachMapOutputWithContext(ctx context.Context) VolumeAttachMapOutput

type VolumeAttachOutput added in v2.10.0

type VolumeAttachOutput struct {
	*pulumi.OutputState
}

func (VolumeAttachOutput) ElementType added in v2.10.0

func (VolumeAttachOutput) ElementType() reflect.Type

func (VolumeAttachOutput) ToVolumeAttachOutput added in v2.10.0

func (o VolumeAttachOutput) ToVolumeAttachOutput() VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachOutputWithContext added in v2.10.0

func (o VolumeAttachOutput) ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachPtrOutput added in v2.14.1

func (o VolumeAttachOutput) ToVolumeAttachPtrOutput() VolumeAttachPtrOutput

func (VolumeAttachOutput) ToVolumeAttachPtrOutputWithContext added in v2.14.1

func (o VolumeAttachOutput) ToVolumeAttachPtrOutputWithContext(ctx context.Context) VolumeAttachPtrOutput

type VolumeAttachPtrInput added in v2.14.1

type VolumeAttachPtrInput interface {
	pulumi.Input

	ToVolumeAttachPtrOutput() VolumeAttachPtrOutput
	ToVolumeAttachPtrOutputWithContext(ctx context.Context) VolumeAttachPtrOutput
}

type VolumeAttachPtrOutput added in v2.14.1

type VolumeAttachPtrOutput struct {
	*pulumi.OutputState
}

func (VolumeAttachPtrOutput) ElementType added in v2.14.1

func (VolumeAttachPtrOutput) ElementType() reflect.Type

func (VolumeAttachPtrOutput) ToVolumeAttachPtrOutput added in v2.14.1

func (o VolumeAttachPtrOutput) ToVolumeAttachPtrOutput() VolumeAttachPtrOutput

func (VolumeAttachPtrOutput) ToVolumeAttachPtrOutputWithContext added in v2.14.1

func (o VolumeAttachPtrOutput) ToVolumeAttachPtrOutputWithContext(ctx context.Context) VolumeAttachPtrOutput

type VolumeAttachState

type VolumeAttachState struct {
	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrInput
	// This is a map of key/value pairs that contain the connection
	// information. You will want to pass this information to a provisioner
	// script to finalize the connection. See below for more information.
	Data pulumi.MapInput
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrInput
	// The storage driver that the volume is based on.
	DriverVolumeType pulumi.StringPtrInput
	// The host to attach the volume to.
	HostName pulumi.StringPtrInput
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrInput
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrInput
	// A mount point base name for shared storage.
	MountPointBase pulumi.StringPtrInput
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrInput
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrInput
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrInput
	// The region in which to obtain the V3 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringPtrInput
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrInput
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayInput
}

func (VolumeAttachState) ElementType

func (VolumeAttachState) ElementType() reflect.Type

type VolumeAttachV2

type VolumeAttachV2 struct {
	pulumi.CustomResourceState

	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrOutput `pulumi:"attachMode"`
	// This is a map of key/value pairs that contain the connection
	// information. You will want to pass this information to a provisioner
	// script to finalize the connection. See below for more information.
	Data pulumi.MapOutput `pulumi:"data"`
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrOutput `pulumi:"device"`
	// The storage driver that the volume is based on.
	DriverVolumeType pulumi.StringOutput `pulumi:"driverVolumeType"`
	// The host to attach the volume to.
	HostName pulumi.StringOutput `pulumi:"hostName"`
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrOutput `pulumi:"initiator"`
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrOutput `pulumi:"ipAddress"`
	// A mount point base name for shared storage.
	MountPointBase pulumi.StringOutput `pulumi:"mountPointBase"`
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrOutput `pulumi:"multipath"`
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrOutput `pulumi:"osType"`
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrOutput `pulumi:"platform"`
	// The region in which to obtain the V2 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrOutput `pulumi:"wwnn"`
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayOutput `pulumi:"wwpns"`
}

## Import

It is not possible to import this resource.

func GetVolumeAttachV2

func GetVolumeAttachV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachV2State, opts ...pulumi.ResourceOption) (*VolumeAttachV2, error)

GetVolumeAttachV2 gets an existing VolumeAttachV2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeAttachV2

func NewVolumeAttachV2(ctx *pulumi.Context,
	name string, args *VolumeAttachV2Args, opts ...pulumi.ResourceOption) (*VolumeAttachV2, error)

NewVolumeAttachV2 registers a new resource with the given unique name, arguments, and options.

func (*VolumeAttachV2) ElementType added in v2.10.0

func (*VolumeAttachV2) ElementType() reflect.Type

func (*VolumeAttachV2) ToVolumeAttachV2Output added in v2.10.0

func (i *VolumeAttachV2) ToVolumeAttachV2Output() VolumeAttachV2Output

func (*VolumeAttachV2) ToVolumeAttachV2OutputWithContext added in v2.10.0

func (i *VolumeAttachV2) ToVolumeAttachV2OutputWithContext(ctx context.Context) VolumeAttachV2Output

func (*VolumeAttachV2) ToVolumeAttachV2PtrOutput added in v2.14.1

func (i *VolumeAttachV2) ToVolumeAttachV2PtrOutput() VolumeAttachV2PtrOutput

func (*VolumeAttachV2) ToVolumeAttachV2PtrOutputWithContext added in v2.14.1

func (i *VolumeAttachV2) ToVolumeAttachV2PtrOutputWithContext(ctx context.Context) VolumeAttachV2PtrOutput

type VolumeAttachV2Args

type VolumeAttachV2Args struct {
	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrInput
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrInput
	// The host to attach the volume to.
	HostName pulumi.StringInput
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrInput
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrInput
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrInput
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrInput
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrInput
	// The region in which to obtain the V2 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringInput
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrInput
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayInput
}

The set of arguments for constructing a VolumeAttachV2 resource.

func (VolumeAttachV2Args) ElementType

func (VolumeAttachV2Args) ElementType() reflect.Type

type VolumeAttachV2Array added in v2.14.1

type VolumeAttachV2Array []VolumeAttachV2Input

func (VolumeAttachV2Array) ElementType added in v2.14.1

func (VolumeAttachV2Array) ElementType() reflect.Type

func (VolumeAttachV2Array) ToVolumeAttachV2ArrayOutput added in v2.14.1

func (i VolumeAttachV2Array) ToVolumeAttachV2ArrayOutput() VolumeAttachV2ArrayOutput

func (VolumeAttachV2Array) ToVolumeAttachV2ArrayOutputWithContext added in v2.14.1

func (i VolumeAttachV2Array) ToVolumeAttachV2ArrayOutputWithContext(ctx context.Context) VolumeAttachV2ArrayOutput

type VolumeAttachV2ArrayInput added in v2.14.1

type VolumeAttachV2ArrayInput interface {
	pulumi.Input

	ToVolumeAttachV2ArrayOutput() VolumeAttachV2ArrayOutput
	ToVolumeAttachV2ArrayOutputWithContext(context.Context) VolumeAttachV2ArrayOutput
}

VolumeAttachV2ArrayInput is an input type that accepts VolumeAttachV2Array and VolumeAttachV2ArrayOutput values. You can construct a concrete instance of `VolumeAttachV2ArrayInput` via:

VolumeAttachV2Array{ VolumeAttachV2Args{...} }

type VolumeAttachV2ArrayOutput added in v2.14.1

type VolumeAttachV2ArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachV2ArrayOutput) ElementType added in v2.14.1

func (VolumeAttachV2ArrayOutput) ElementType() reflect.Type

func (VolumeAttachV2ArrayOutput) Index added in v2.14.1

func (VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutput added in v2.14.1

func (o VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutput() VolumeAttachV2ArrayOutput

func (VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutputWithContext added in v2.14.1

func (o VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutputWithContext(ctx context.Context) VolumeAttachV2ArrayOutput

type VolumeAttachV2Input added in v2.10.0

type VolumeAttachV2Input interface {
	pulumi.Input

	ToVolumeAttachV2Output() VolumeAttachV2Output
	ToVolumeAttachV2OutputWithContext(ctx context.Context) VolumeAttachV2Output
}

type VolumeAttachV2Map added in v2.14.1

type VolumeAttachV2Map map[string]VolumeAttachV2Input

func (VolumeAttachV2Map) ElementType added in v2.14.1

func (VolumeAttachV2Map) ElementType() reflect.Type

func (VolumeAttachV2Map) ToVolumeAttachV2MapOutput added in v2.14.1

func (i VolumeAttachV2Map) ToVolumeAttachV2MapOutput() VolumeAttachV2MapOutput

func (VolumeAttachV2Map) ToVolumeAttachV2MapOutputWithContext added in v2.14.1

func (i VolumeAttachV2Map) ToVolumeAttachV2MapOutputWithContext(ctx context.Context) VolumeAttachV2MapOutput

type VolumeAttachV2MapInput added in v2.14.1

type VolumeAttachV2MapInput interface {
	pulumi.Input

	ToVolumeAttachV2MapOutput() VolumeAttachV2MapOutput
	ToVolumeAttachV2MapOutputWithContext(context.Context) VolumeAttachV2MapOutput
}

VolumeAttachV2MapInput is an input type that accepts VolumeAttachV2Map and VolumeAttachV2MapOutput values. You can construct a concrete instance of `VolumeAttachV2MapInput` via:

VolumeAttachV2Map{ "key": VolumeAttachV2Args{...} }

type VolumeAttachV2MapOutput added in v2.14.1

type VolumeAttachV2MapOutput struct{ *pulumi.OutputState }

func (VolumeAttachV2MapOutput) ElementType added in v2.14.1

func (VolumeAttachV2MapOutput) ElementType() reflect.Type

func (VolumeAttachV2MapOutput) MapIndex added in v2.14.1

func (VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutput added in v2.14.1

func (o VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutput() VolumeAttachV2MapOutput

func (VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutputWithContext added in v2.14.1

func (o VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutputWithContext(ctx context.Context) VolumeAttachV2MapOutput

type VolumeAttachV2Output added in v2.10.0

type VolumeAttachV2Output struct {
	*pulumi.OutputState
}

func (VolumeAttachV2Output) ElementType added in v2.10.0

func (VolumeAttachV2Output) ElementType() reflect.Type

func (VolumeAttachV2Output) ToVolumeAttachV2Output added in v2.10.0

func (o VolumeAttachV2Output) ToVolumeAttachV2Output() VolumeAttachV2Output

func (VolumeAttachV2Output) ToVolumeAttachV2OutputWithContext added in v2.10.0

func (o VolumeAttachV2Output) ToVolumeAttachV2OutputWithContext(ctx context.Context) VolumeAttachV2Output

func (VolumeAttachV2Output) ToVolumeAttachV2PtrOutput added in v2.14.1

func (o VolumeAttachV2Output) ToVolumeAttachV2PtrOutput() VolumeAttachV2PtrOutput

func (VolumeAttachV2Output) ToVolumeAttachV2PtrOutputWithContext added in v2.14.1

func (o VolumeAttachV2Output) ToVolumeAttachV2PtrOutputWithContext(ctx context.Context) VolumeAttachV2PtrOutput

type VolumeAttachV2PtrInput added in v2.14.1

type VolumeAttachV2PtrInput interface {
	pulumi.Input

	ToVolumeAttachV2PtrOutput() VolumeAttachV2PtrOutput
	ToVolumeAttachV2PtrOutputWithContext(ctx context.Context) VolumeAttachV2PtrOutput
}

type VolumeAttachV2PtrOutput added in v2.14.1

type VolumeAttachV2PtrOutput struct {
	*pulumi.OutputState
}

func (VolumeAttachV2PtrOutput) ElementType added in v2.14.1

func (VolumeAttachV2PtrOutput) ElementType() reflect.Type

func (VolumeAttachV2PtrOutput) ToVolumeAttachV2PtrOutput added in v2.14.1

func (o VolumeAttachV2PtrOutput) ToVolumeAttachV2PtrOutput() VolumeAttachV2PtrOutput

func (VolumeAttachV2PtrOutput) ToVolumeAttachV2PtrOutputWithContext added in v2.14.1

func (o VolumeAttachV2PtrOutput) ToVolumeAttachV2PtrOutputWithContext(ctx context.Context) VolumeAttachV2PtrOutput

type VolumeAttachV2State

type VolumeAttachV2State struct {
	// Specify whether to attach the volume as Read-Only
	// (`ro`) or Read-Write (`rw`). Only values of `ro` and `rw` are accepted.
	// If left unspecified, the Block Storage API will apply a default of `rw`.
	AttachMode pulumi.StringPtrInput
	// This is a map of key/value pairs that contain the connection
	// information. You will want to pass this information to a provisioner
	// script to finalize the connection. See below for more information.
	Data pulumi.MapInput
	// The device to tell the Block Storage service this
	// volume will be attached as. This is purely for informational purposes.
	// You can specify `auto` or a device such as `/dev/vdc`.
	Device pulumi.StringPtrInput
	// The storage driver that the volume is based on.
	DriverVolumeType pulumi.StringPtrInput
	// The host to attach the volume to.
	HostName pulumi.StringPtrInput
	// The iSCSI initiator string to make the connection.
	Initiator pulumi.StringPtrInput
	// The IP address of the `hostName` above.
	IpAddress pulumi.StringPtrInput
	// A mount point base name for shared storage.
	MountPointBase pulumi.StringPtrInput
	// Whether to connect to this volume via multipath.
	Multipath pulumi.BoolPtrInput
	// The iSCSI initiator OS type.
	OsType pulumi.StringPtrInput
	// The iSCSI initiator platform.
	Platform pulumi.StringPtrInput
	// The region in which to obtain the V2 Block Storage
	// client. A Block Storage client is needed to create a volume attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume attachment.
	Region pulumi.StringPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringPtrInput
	// A wwnn name. Used for Fibre Channel connections.
	Wwnn pulumi.StringPtrInput
	// An array of wwpn strings. Used for Fibre Channel
	// connections.
	Wwpns pulumi.StringArrayInput
}

func (VolumeAttachV2State) ElementType

func (VolumeAttachV2State) ElementType() reflect.Type

type VolumeAttachment

type VolumeAttachment struct {
	Device     *string `pulumi:"device"`
	Id         *string `pulumi:"id"`
	InstanceId *string `pulumi:"instanceId"`
}

type VolumeAttachmentArgs

type VolumeAttachmentArgs struct {
	Device     pulumi.StringPtrInput `pulumi:"device"`
	Id         pulumi.StringPtrInput `pulumi:"id"`
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
}

func (VolumeAttachmentArgs) ElementType

func (VolumeAttachmentArgs) ElementType() reflect.Type

func (VolumeAttachmentArgs) ToVolumeAttachmentOutput

func (i VolumeAttachmentArgs) ToVolumeAttachmentOutput() VolumeAttachmentOutput

func (VolumeAttachmentArgs) ToVolumeAttachmentOutputWithContext

func (i VolumeAttachmentArgs) ToVolumeAttachmentOutputWithContext(ctx context.Context) VolumeAttachmentOutput

type VolumeAttachmentArray

type VolumeAttachmentArray []VolumeAttachmentInput

func (VolumeAttachmentArray) ElementType

func (VolumeAttachmentArray) ElementType() reflect.Type

func (VolumeAttachmentArray) ToVolumeAttachmentArrayOutput

func (i VolumeAttachmentArray) ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput

func (VolumeAttachmentArray) ToVolumeAttachmentArrayOutputWithContext

func (i VolumeAttachmentArray) ToVolumeAttachmentArrayOutputWithContext(ctx context.Context) VolumeAttachmentArrayOutput

type VolumeAttachmentArrayInput

type VolumeAttachmentArrayInput interface {
	pulumi.Input

	ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput
	ToVolumeAttachmentArrayOutputWithContext(context.Context) VolumeAttachmentArrayOutput
}

VolumeAttachmentArrayInput is an input type that accepts VolumeAttachmentArray and VolumeAttachmentArrayOutput values. You can construct a concrete instance of `VolumeAttachmentArrayInput` via:

VolumeAttachmentArray{ VolumeAttachmentArgs{...} }

type VolumeAttachmentArrayOutput

type VolumeAttachmentArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentArrayOutput) ElementType

func (VolumeAttachmentArrayOutput) Index

func (VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutput

func (o VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutput() VolumeAttachmentArrayOutput

func (VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutputWithContext

func (o VolumeAttachmentArrayOutput) ToVolumeAttachmentArrayOutputWithContext(ctx context.Context) VolumeAttachmentArrayOutput

type VolumeAttachmentInput

type VolumeAttachmentInput interface {
	pulumi.Input

	ToVolumeAttachmentOutput() VolumeAttachmentOutput
	ToVolumeAttachmentOutputWithContext(context.Context) VolumeAttachmentOutput
}

VolumeAttachmentInput is an input type that accepts VolumeAttachmentArgs and VolumeAttachmentOutput values. You can construct a concrete instance of `VolumeAttachmentInput` via:

VolumeAttachmentArgs{...}

type VolumeAttachmentOutput

type VolumeAttachmentOutput struct{ *pulumi.OutputState }

func (VolumeAttachmentOutput) Device

func (VolumeAttachmentOutput) ElementType

func (VolumeAttachmentOutput) ElementType() reflect.Type

func (VolumeAttachmentOutput) Id

func (VolumeAttachmentOutput) InstanceId

func (VolumeAttachmentOutput) ToVolumeAttachmentOutput

func (o VolumeAttachmentOutput) ToVolumeAttachmentOutput() VolumeAttachmentOutput

func (VolumeAttachmentOutput) ToVolumeAttachmentOutputWithContext

func (o VolumeAttachmentOutput) ToVolumeAttachmentOutputWithContext(ctx context.Context) VolumeAttachmentOutput

type VolumeInput added in v2.10.0

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap added in v2.14.1

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType added in v2.14.1

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput added in v2.14.1

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext added in v2.14.1

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput added in v2.14.1

type VolumeMapInput interface {
	pulumi.Input

	ToVolumeMapOutput() VolumeMapOutput
	ToVolumeMapOutputWithContext(context.Context) VolumeMapOutput
}

VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. You can construct a concrete instance of `VolumeMapInput` via:

VolumeMap{ "key": VolumeArgs{...} }

type VolumeMapOutput added in v2.14.1

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType added in v2.14.1

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex added in v2.14.1

func (VolumeMapOutput) ToVolumeMapOutput added in v2.14.1

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext added in v2.14.1

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput added in v2.10.0

type VolumeOutput struct {
	*pulumi.OutputState
}

func (VolumeOutput) ElementType added in v2.10.0

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) ToVolumeOutput added in v2.10.0

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext added in v2.10.0

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) ToVolumePtrOutput added in v2.14.1

func (o VolumeOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumeOutput) ToVolumePtrOutputWithContext added in v2.14.1

func (o VolumeOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumePtrInput added in v2.14.1

type VolumePtrInput interface {
	pulumi.Input

	ToVolumePtrOutput() VolumePtrOutput
	ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput
}

type VolumePtrOutput added in v2.14.1

type VolumePtrOutput struct {
	*pulumi.OutputState
}

func (VolumePtrOutput) ElementType added in v2.14.1

func (VolumePtrOutput) ElementType() reflect.Type

func (VolumePtrOutput) ToVolumePtrOutput added in v2.14.1

func (o VolumePtrOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumePtrOutput) ToVolumePtrOutputWithContext added in v2.14.1

func (o VolumePtrOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeSchedulerHint added in v2.2.0

type VolumeSchedulerHint struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties map[string]interface{} `pulumi:"additionalProperties"`
	// The volume should be scheduled on a
	// different host from the set of volumes specified in the list provided.
	DifferentHosts []string `pulumi:"differentHosts"`
	// An instance UUID. The volume should be
	// scheduled on the same host as the instance.
	LocalToInstance *string `pulumi:"localToInstance"`
	// A conditional query that a back-end must pass in
	// order to host a volume. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter).
	// At this time, only simple queries are supported. Compound queries using
	// `and`, `or`, or `not` are not supported. An example of a simple query is:
	Query *string `pulumi:"query"`
	// A list of volume UUIDs. The volume should be
	// scheduled on the same host as another volume specified in the list provided.
	SameHosts []string `pulumi:"sameHosts"`
}

type VolumeSchedulerHintArgs added in v2.2.0

type VolumeSchedulerHintArgs struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties pulumi.MapInput `pulumi:"additionalProperties"`
	// The volume should be scheduled on a
	// different host from the set of volumes specified in the list provided.
	DifferentHosts pulumi.StringArrayInput `pulumi:"differentHosts"`
	// An instance UUID. The volume should be
	// scheduled on the same host as the instance.
	LocalToInstance pulumi.StringPtrInput `pulumi:"localToInstance"`
	// A conditional query that a back-end must pass in
	// order to host a volume. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter).
	// At this time, only simple queries are supported. Compound queries using
	// `and`, `or`, or `not` are not supported. An example of a simple query is:
	Query pulumi.StringPtrInput `pulumi:"query"`
	// A list of volume UUIDs. The volume should be
	// scheduled on the same host as another volume specified in the list provided.
	SameHosts pulumi.StringArrayInput `pulumi:"sameHosts"`
}

func (VolumeSchedulerHintArgs) ElementType added in v2.2.0

func (VolumeSchedulerHintArgs) ElementType() reflect.Type

func (VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutput added in v2.2.0

func (i VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutput() VolumeSchedulerHintOutput

func (VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutputWithContext added in v2.2.0

func (i VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutputWithContext(ctx context.Context) VolumeSchedulerHintOutput

type VolumeSchedulerHintArray added in v2.2.0

type VolumeSchedulerHintArray []VolumeSchedulerHintInput

func (VolumeSchedulerHintArray) ElementType added in v2.2.0

func (VolumeSchedulerHintArray) ElementType() reflect.Type

func (VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutput added in v2.2.0

func (i VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutput() VolumeSchedulerHintArrayOutput

func (VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutputWithContext added in v2.2.0

func (i VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutputWithContext(ctx context.Context) VolumeSchedulerHintArrayOutput

type VolumeSchedulerHintArrayInput added in v2.2.0

type VolumeSchedulerHintArrayInput interface {
	pulumi.Input

	ToVolumeSchedulerHintArrayOutput() VolumeSchedulerHintArrayOutput
	ToVolumeSchedulerHintArrayOutputWithContext(context.Context) VolumeSchedulerHintArrayOutput
}

VolumeSchedulerHintArrayInput is an input type that accepts VolumeSchedulerHintArray and VolumeSchedulerHintArrayOutput values. You can construct a concrete instance of `VolumeSchedulerHintArrayInput` via:

VolumeSchedulerHintArray{ VolumeSchedulerHintArgs{...} }

type VolumeSchedulerHintArrayOutput added in v2.2.0

type VolumeSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (VolumeSchedulerHintArrayOutput) ElementType added in v2.2.0

func (VolumeSchedulerHintArrayOutput) Index added in v2.2.0

func (VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutput added in v2.2.0

func (o VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutput() VolumeSchedulerHintArrayOutput

func (VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutputWithContext added in v2.2.0

func (o VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutputWithContext(ctx context.Context) VolumeSchedulerHintArrayOutput

type VolumeSchedulerHintInput added in v2.2.0

type VolumeSchedulerHintInput interface {
	pulumi.Input

	ToVolumeSchedulerHintOutput() VolumeSchedulerHintOutput
	ToVolumeSchedulerHintOutputWithContext(context.Context) VolumeSchedulerHintOutput
}

VolumeSchedulerHintInput is an input type that accepts VolumeSchedulerHintArgs and VolumeSchedulerHintOutput values. You can construct a concrete instance of `VolumeSchedulerHintInput` via:

VolumeSchedulerHintArgs{...}

type VolumeSchedulerHintOutput added in v2.2.0

type VolumeSchedulerHintOutput struct{ *pulumi.OutputState }

func (VolumeSchedulerHintOutput) AdditionalProperties added in v2.2.0

func (o VolumeSchedulerHintOutput) AdditionalProperties() pulumi.MapOutput

Arbitrary key/value pairs of additional properties to pass to the scheduler.

func (VolumeSchedulerHintOutput) DifferentHosts added in v2.2.0

The volume should be scheduled on a different host from the set of volumes specified in the list provided.

func (VolumeSchedulerHintOutput) ElementType added in v2.2.0

func (VolumeSchedulerHintOutput) ElementType() reflect.Type

func (VolumeSchedulerHintOutput) LocalToInstance added in v2.2.0

func (o VolumeSchedulerHintOutput) LocalToInstance() pulumi.StringPtrOutput

An instance UUID. The volume should be scheduled on the same host as the instance.

func (VolumeSchedulerHintOutput) Query added in v2.2.0

A conditional query that a back-end must pass in order to host a volume. The query must use the `JsonFilter` syntax which is described [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter). At this time, only simple queries are supported. Compound queries using `and`, `or`, or `not` are not supported. An example of a simple query is:

func (VolumeSchedulerHintOutput) SameHosts added in v2.2.0

A list of volume UUIDs. The volume should be scheduled on the same host as another volume specified in the list provided.

func (VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutput added in v2.2.0

func (o VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutput() VolumeSchedulerHintOutput

func (VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutputWithContext added in v2.2.0

func (o VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutputWithContext(ctx context.Context) VolumeSchedulerHintOutput

type VolumeState

type VolumeState struct {
	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeAttachmentArrayInput
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// When this option is set it allows extending
	// attached volumes. Note: updating size of an attached volume requires Cinder
	// support for version 3.42 and a compatible storage driver.
	EnableOnlineResize pulumi.BoolPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// Allow the volume to be attached to more than one Compute instance.
	Multiattach pulumi.BoolPtrInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeSchedulerHintArrayInput
	// The size of the volume to create (in gigabytes).
	Size pulumi.IntPtrInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

func (VolumeState) ElementType

func (VolumeState) ElementType() reflect.Type

type VolumeTypeV3 added in v2.18.0

type VolumeTypeV3 struct {
	pulumi.CustomResourceState

	// Human-readable description of the port. Changing
	// this updates the `description` of an existing volume type.
	Description pulumi.StringOutput `pulumi:"description"`
	// Key/Value pairs of metadata for the volume type.
	ExtraSpecs pulumi.MapOutput `pulumi:"extraSpecs"`
	// Whether the volume type is public. Changing
	// this updates the `isPublic` of an existing volume type.
	IsPublic pulumi.BoolOutput `pulumi:"isPublic"`
	// Name of the volume type.  Changing this
	// updates the `name` of an existing volume type.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V3 block storage volume type resource within OpenStack.

> **Note:** This usually requires admin privileges.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.NewVolumeTypeV3(ctx, "volumeType1", &blockstorage.VolumeTypeV3Args{
			Description: pulumi.String("Volume type 1"),
			ExtraSpecs: pulumi.StringMap{
				"capabilities":        pulumi.String("gpu"),
				"volume_backend_name": pulumi.String("ssd"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Volume types can be imported using the `volume_type_id`, e.g.

```sh

$ pulumi import openstack:blockstorage/volumeTypeV3:VolumeTypeV3 volume_type_1 941793f0-0a34-4bc4-b72e-a6326ae58283

```

func GetVolumeTypeV3 added in v2.18.0

func GetVolumeTypeV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeTypeV3State, opts ...pulumi.ResourceOption) (*VolumeTypeV3, error)

GetVolumeTypeV3 gets an existing VolumeTypeV3 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeTypeV3 added in v2.18.0

func NewVolumeTypeV3(ctx *pulumi.Context,
	name string, args *VolumeTypeV3Args, opts ...pulumi.ResourceOption) (*VolumeTypeV3, error)

NewVolumeTypeV3 registers a new resource with the given unique name, arguments, and options.

func (*VolumeTypeV3) ElementType added in v2.18.0

func (*VolumeTypeV3) ElementType() reflect.Type

func (*VolumeTypeV3) ToVolumeTypeV3Output added in v2.18.0

func (i *VolumeTypeV3) ToVolumeTypeV3Output() VolumeTypeV3Output

func (*VolumeTypeV3) ToVolumeTypeV3OutputWithContext added in v2.18.0

func (i *VolumeTypeV3) ToVolumeTypeV3OutputWithContext(ctx context.Context) VolumeTypeV3Output

func (*VolumeTypeV3) ToVolumeTypeV3PtrOutput added in v2.18.0

func (i *VolumeTypeV3) ToVolumeTypeV3PtrOutput() VolumeTypeV3PtrOutput

func (*VolumeTypeV3) ToVolumeTypeV3PtrOutputWithContext added in v2.18.0

func (i *VolumeTypeV3) ToVolumeTypeV3PtrOutputWithContext(ctx context.Context) VolumeTypeV3PtrOutput

type VolumeTypeV3Args added in v2.18.0

type VolumeTypeV3Args struct {
	// Human-readable description of the port. Changing
	// this updates the `description` of an existing volume type.
	Description pulumi.StringPtrInput
	// Key/Value pairs of metadata for the volume type.
	ExtraSpecs pulumi.MapInput
	// Whether the volume type is public. Changing
	// this updates the `isPublic` of an existing volume type.
	IsPublic pulumi.BoolPtrInput
	// Name of the volume type.  Changing this
	// updates the `name` of an existing volume type.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a VolumeTypeV3 resource.

func (VolumeTypeV3Args) ElementType added in v2.18.0

func (VolumeTypeV3Args) ElementType() reflect.Type

type VolumeTypeV3Array added in v2.18.0

type VolumeTypeV3Array []VolumeTypeV3Input

func (VolumeTypeV3Array) ElementType added in v2.18.0

func (VolumeTypeV3Array) ElementType() reflect.Type

func (VolumeTypeV3Array) ToVolumeTypeV3ArrayOutput added in v2.18.0

func (i VolumeTypeV3Array) ToVolumeTypeV3ArrayOutput() VolumeTypeV3ArrayOutput

func (VolumeTypeV3Array) ToVolumeTypeV3ArrayOutputWithContext added in v2.18.0

func (i VolumeTypeV3Array) ToVolumeTypeV3ArrayOutputWithContext(ctx context.Context) VolumeTypeV3ArrayOutput

type VolumeTypeV3ArrayInput added in v2.18.0

type VolumeTypeV3ArrayInput interface {
	pulumi.Input

	ToVolumeTypeV3ArrayOutput() VolumeTypeV3ArrayOutput
	ToVolumeTypeV3ArrayOutputWithContext(context.Context) VolumeTypeV3ArrayOutput
}

VolumeTypeV3ArrayInput is an input type that accepts VolumeTypeV3Array and VolumeTypeV3ArrayOutput values. You can construct a concrete instance of `VolumeTypeV3ArrayInput` via:

VolumeTypeV3Array{ VolumeTypeV3Args{...} }

type VolumeTypeV3ArrayOutput added in v2.18.0

type VolumeTypeV3ArrayOutput struct{ *pulumi.OutputState }

func (VolumeTypeV3ArrayOutput) ElementType added in v2.18.0

func (VolumeTypeV3ArrayOutput) ElementType() reflect.Type

func (VolumeTypeV3ArrayOutput) Index added in v2.18.0

func (VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutput added in v2.18.0

func (o VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutput() VolumeTypeV3ArrayOutput

func (VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutputWithContext added in v2.18.0

func (o VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutputWithContext(ctx context.Context) VolumeTypeV3ArrayOutput

type VolumeTypeV3Input added in v2.18.0

type VolumeTypeV3Input interface {
	pulumi.Input

	ToVolumeTypeV3Output() VolumeTypeV3Output
	ToVolumeTypeV3OutputWithContext(ctx context.Context) VolumeTypeV3Output
}

type VolumeTypeV3Map added in v2.18.0

type VolumeTypeV3Map map[string]VolumeTypeV3Input

func (VolumeTypeV3Map) ElementType added in v2.18.0

func (VolumeTypeV3Map) ElementType() reflect.Type

func (VolumeTypeV3Map) ToVolumeTypeV3MapOutput added in v2.18.0

func (i VolumeTypeV3Map) ToVolumeTypeV3MapOutput() VolumeTypeV3MapOutput

func (VolumeTypeV3Map) ToVolumeTypeV3MapOutputWithContext added in v2.18.0

func (i VolumeTypeV3Map) ToVolumeTypeV3MapOutputWithContext(ctx context.Context) VolumeTypeV3MapOutput

type VolumeTypeV3MapInput added in v2.18.0

type VolumeTypeV3MapInput interface {
	pulumi.Input

	ToVolumeTypeV3MapOutput() VolumeTypeV3MapOutput
	ToVolumeTypeV3MapOutputWithContext(context.Context) VolumeTypeV3MapOutput
}

VolumeTypeV3MapInput is an input type that accepts VolumeTypeV3Map and VolumeTypeV3MapOutput values. You can construct a concrete instance of `VolumeTypeV3MapInput` via:

VolumeTypeV3Map{ "key": VolumeTypeV3Args{...} }

type VolumeTypeV3MapOutput added in v2.18.0

type VolumeTypeV3MapOutput struct{ *pulumi.OutputState }

func (VolumeTypeV3MapOutput) ElementType added in v2.18.0

func (VolumeTypeV3MapOutput) ElementType() reflect.Type

func (VolumeTypeV3MapOutput) MapIndex added in v2.18.0

func (VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutput added in v2.18.0

func (o VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutput() VolumeTypeV3MapOutput

func (VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutputWithContext added in v2.18.0

func (o VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutputWithContext(ctx context.Context) VolumeTypeV3MapOutput

type VolumeTypeV3Output added in v2.18.0

type VolumeTypeV3Output struct {
	*pulumi.OutputState
}

func (VolumeTypeV3Output) ElementType added in v2.18.0

func (VolumeTypeV3Output) ElementType() reflect.Type

func (VolumeTypeV3Output) ToVolumeTypeV3Output added in v2.18.0

func (o VolumeTypeV3Output) ToVolumeTypeV3Output() VolumeTypeV3Output

func (VolumeTypeV3Output) ToVolumeTypeV3OutputWithContext added in v2.18.0

func (o VolumeTypeV3Output) ToVolumeTypeV3OutputWithContext(ctx context.Context) VolumeTypeV3Output

func (VolumeTypeV3Output) ToVolumeTypeV3PtrOutput added in v2.18.0

func (o VolumeTypeV3Output) ToVolumeTypeV3PtrOutput() VolumeTypeV3PtrOutput

func (VolumeTypeV3Output) ToVolumeTypeV3PtrOutputWithContext added in v2.18.0

func (o VolumeTypeV3Output) ToVolumeTypeV3PtrOutputWithContext(ctx context.Context) VolumeTypeV3PtrOutput

type VolumeTypeV3PtrInput added in v2.18.0

type VolumeTypeV3PtrInput interface {
	pulumi.Input

	ToVolumeTypeV3PtrOutput() VolumeTypeV3PtrOutput
	ToVolumeTypeV3PtrOutputWithContext(ctx context.Context) VolumeTypeV3PtrOutput
}

type VolumeTypeV3PtrOutput added in v2.18.0

type VolumeTypeV3PtrOutput struct {
	*pulumi.OutputState
}

func (VolumeTypeV3PtrOutput) ElementType added in v2.18.0

func (VolumeTypeV3PtrOutput) ElementType() reflect.Type

func (VolumeTypeV3PtrOutput) ToVolumeTypeV3PtrOutput added in v2.18.0

func (o VolumeTypeV3PtrOutput) ToVolumeTypeV3PtrOutput() VolumeTypeV3PtrOutput

func (VolumeTypeV3PtrOutput) ToVolumeTypeV3PtrOutputWithContext added in v2.18.0

func (o VolumeTypeV3PtrOutput) ToVolumeTypeV3PtrOutputWithContext(ctx context.Context) VolumeTypeV3PtrOutput

type VolumeTypeV3State added in v2.18.0

type VolumeTypeV3State struct {
	// Human-readable description of the port. Changing
	// this updates the `description` of an existing volume type.
	Description pulumi.StringPtrInput
	// Key/Value pairs of metadata for the volume type.
	ExtraSpecs pulumi.MapInput
	// Whether the volume type is public. Changing
	// this updates the `isPublic` of an existing volume type.
	IsPublic pulumi.BoolPtrInput
	// Name of the volume type.  Changing this
	// updates the `name` of an existing volume type.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new quotaset.
	Region pulumi.StringPtrInput
}

func (VolumeTypeV3State) ElementType added in v2.18.0

func (VolumeTypeV3State) ElementType() reflect.Type

type VolumeV1

type VolumeV1 struct {
	pulumi.CustomResourceState

	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeV1AttachmentArrayOutput `pulumi:"attachments"`
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrOutput `pulumi:"imageId"`
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapOutput `pulumi:"metadata"`
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringOutput `pulumi:"region"`
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntOutput `pulumi:"size"`
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"`
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrOutput `pulumi:"sourceVolId"`
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringOutput `pulumi:"volumeType"`
}

Manages a V1 volume resource within OpenStack.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.NewVolumeV1(ctx, "volume1", &blockstorage.VolumeV1Args{
			Description: pulumi.String("first test volume"),
			Region:      pulumi.String("RegionOne"),
			Size:        pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Volumes can be imported using the `id`, e.g.

```sh

$ pulumi import openstack:blockstorage/volumeV1:VolumeV1 volume_1 ea257959-eeb1-4c10-8d33-26f0409a755d

```

func GetVolumeV1

func GetVolumeV1(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeV1State, opts ...pulumi.ResourceOption) (*VolumeV1, error)

GetVolumeV1 gets an existing VolumeV1 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeV1

func NewVolumeV1(ctx *pulumi.Context,
	name string, args *VolumeV1Args, opts ...pulumi.ResourceOption) (*VolumeV1, error)

NewVolumeV1 registers a new resource with the given unique name, arguments, and options.

func (*VolumeV1) ElementType added in v2.10.0

func (*VolumeV1) ElementType() reflect.Type

func (*VolumeV1) ToVolumeV1Output added in v2.10.0

func (i *VolumeV1) ToVolumeV1Output() VolumeV1Output

func (*VolumeV1) ToVolumeV1OutputWithContext added in v2.10.0

func (i *VolumeV1) ToVolumeV1OutputWithContext(ctx context.Context) VolumeV1Output

func (*VolumeV1) ToVolumeV1PtrOutput added in v2.14.1

func (i *VolumeV1) ToVolumeV1PtrOutput() VolumeV1PtrOutput

func (*VolumeV1) ToVolumeV1PtrOutputWithContext added in v2.14.1

func (i *VolumeV1) ToVolumeV1PtrOutputWithContext(ctx context.Context) VolumeV1PtrOutput

type VolumeV1Args

type VolumeV1Args struct {
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

The set of arguments for constructing a VolumeV1 resource.

func (VolumeV1Args) ElementType

func (VolumeV1Args) ElementType() reflect.Type

type VolumeV1Array added in v2.14.1

type VolumeV1Array []VolumeV1Input

func (VolumeV1Array) ElementType added in v2.14.1

func (VolumeV1Array) ElementType() reflect.Type

func (VolumeV1Array) ToVolumeV1ArrayOutput added in v2.14.1

func (i VolumeV1Array) ToVolumeV1ArrayOutput() VolumeV1ArrayOutput

func (VolumeV1Array) ToVolumeV1ArrayOutputWithContext added in v2.14.1

func (i VolumeV1Array) ToVolumeV1ArrayOutputWithContext(ctx context.Context) VolumeV1ArrayOutput

type VolumeV1ArrayInput added in v2.14.1

type VolumeV1ArrayInput interface {
	pulumi.Input

	ToVolumeV1ArrayOutput() VolumeV1ArrayOutput
	ToVolumeV1ArrayOutputWithContext(context.Context) VolumeV1ArrayOutput
}

VolumeV1ArrayInput is an input type that accepts VolumeV1Array and VolumeV1ArrayOutput values. You can construct a concrete instance of `VolumeV1ArrayInput` via:

VolumeV1Array{ VolumeV1Args{...} }

type VolumeV1ArrayOutput added in v2.14.1

type VolumeV1ArrayOutput struct{ *pulumi.OutputState }

func (VolumeV1ArrayOutput) ElementType added in v2.14.1

func (VolumeV1ArrayOutput) ElementType() reflect.Type

func (VolumeV1ArrayOutput) Index added in v2.14.1

func (VolumeV1ArrayOutput) ToVolumeV1ArrayOutput added in v2.14.1

func (o VolumeV1ArrayOutput) ToVolumeV1ArrayOutput() VolumeV1ArrayOutput

func (VolumeV1ArrayOutput) ToVolumeV1ArrayOutputWithContext added in v2.14.1

func (o VolumeV1ArrayOutput) ToVolumeV1ArrayOutputWithContext(ctx context.Context) VolumeV1ArrayOutput

type VolumeV1Attachment

type VolumeV1Attachment struct {
	Device     *string `pulumi:"device"`
	Id         *string `pulumi:"id"`
	InstanceId *string `pulumi:"instanceId"`
}

type VolumeV1AttachmentArgs

type VolumeV1AttachmentArgs struct {
	Device     pulumi.StringPtrInput `pulumi:"device"`
	Id         pulumi.StringPtrInput `pulumi:"id"`
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
}

func (VolumeV1AttachmentArgs) ElementType

func (VolumeV1AttachmentArgs) ElementType() reflect.Type

func (VolumeV1AttachmentArgs) ToVolumeV1AttachmentOutput

func (i VolumeV1AttachmentArgs) ToVolumeV1AttachmentOutput() VolumeV1AttachmentOutput

func (VolumeV1AttachmentArgs) ToVolumeV1AttachmentOutputWithContext

func (i VolumeV1AttachmentArgs) ToVolumeV1AttachmentOutputWithContext(ctx context.Context) VolumeV1AttachmentOutput

type VolumeV1AttachmentArray

type VolumeV1AttachmentArray []VolumeV1AttachmentInput

func (VolumeV1AttachmentArray) ElementType

func (VolumeV1AttachmentArray) ElementType() reflect.Type

func (VolumeV1AttachmentArray) ToVolumeV1AttachmentArrayOutput

func (i VolumeV1AttachmentArray) ToVolumeV1AttachmentArrayOutput() VolumeV1AttachmentArrayOutput

func (VolumeV1AttachmentArray) ToVolumeV1AttachmentArrayOutputWithContext

func (i VolumeV1AttachmentArray) ToVolumeV1AttachmentArrayOutputWithContext(ctx context.Context) VolumeV1AttachmentArrayOutput

type VolumeV1AttachmentArrayInput

type VolumeV1AttachmentArrayInput interface {
	pulumi.Input

	ToVolumeV1AttachmentArrayOutput() VolumeV1AttachmentArrayOutput
	ToVolumeV1AttachmentArrayOutputWithContext(context.Context) VolumeV1AttachmentArrayOutput
}

VolumeV1AttachmentArrayInput is an input type that accepts VolumeV1AttachmentArray and VolumeV1AttachmentArrayOutput values. You can construct a concrete instance of `VolumeV1AttachmentArrayInput` via:

VolumeV1AttachmentArray{ VolumeV1AttachmentArgs{...} }

type VolumeV1AttachmentArrayOutput

type VolumeV1AttachmentArrayOutput struct{ *pulumi.OutputState }

func (VolumeV1AttachmentArrayOutput) ElementType

func (VolumeV1AttachmentArrayOutput) Index

func (VolumeV1AttachmentArrayOutput) ToVolumeV1AttachmentArrayOutput

func (o VolumeV1AttachmentArrayOutput) ToVolumeV1AttachmentArrayOutput() VolumeV1AttachmentArrayOutput

func (VolumeV1AttachmentArrayOutput) ToVolumeV1AttachmentArrayOutputWithContext

func (o VolumeV1AttachmentArrayOutput) ToVolumeV1AttachmentArrayOutputWithContext(ctx context.Context) VolumeV1AttachmentArrayOutput

type VolumeV1AttachmentInput

type VolumeV1AttachmentInput interface {
	pulumi.Input

	ToVolumeV1AttachmentOutput() VolumeV1AttachmentOutput
	ToVolumeV1AttachmentOutputWithContext(context.Context) VolumeV1AttachmentOutput
}

VolumeV1AttachmentInput is an input type that accepts VolumeV1AttachmentArgs and VolumeV1AttachmentOutput values. You can construct a concrete instance of `VolumeV1AttachmentInput` via:

VolumeV1AttachmentArgs{...}

type VolumeV1AttachmentOutput

type VolumeV1AttachmentOutput struct{ *pulumi.OutputState }

func (VolumeV1AttachmentOutput) Device

func (VolumeV1AttachmentOutput) ElementType

func (VolumeV1AttachmentOutput) ElementType() reflect.Type

func (VolumeV1AttachmentOutput) Id

func (VolumeV1AttachmentOutput) InstanceId

func (VolumeV1AttachmentOutput) ToVolumeV1AttachmentOutput

func (o VolumeV1AttachmentOutput) ToVolumeV1AttachmentOutput() VolumeV1AttachmentOutput

func (VolumeV1AttachmentOutput) ToVolumeV1AttachmentOutputWithContext

func (o VolumeV1AttachmentOutput) ToVolumeV1AttachmentOutputWithContext(ctx context.Context) VolumeV1AttachmentOutput

type VolumeV1Input added in v2.10.0

type VolumeV1Input interface {
	pulumi.Input

	ToVolumeV1Output() VolumeV1Output
	ToVolumeV1OutputWithContext(ctx context.Context) VolumeV1Output
}

type VolumeV1Map added in v2.14.1

type VolumeV1Map map[string]VolumeV1Input

func (VolumeV1Map) ElementType added in v2.14.1

func (VolumeV1Map) ElementType() reflect.Type

func (VolumeV1Map) ToVolumeV1MapOutput added in v2.14.1

func (i VolumeV1Map) ToVolumeV1MapOutput() VolumeV1MapOutput

func (VolumeV1Map) ToVolumeV1MapOutputWithContext added in v2.14.1

func (i VolumeV1Map) ToVolumeV1MapOutputWithContext(ctx context.Context) VolumeV1MapOutput

type VolumeV1MapInput added in v2.14.1

type VolumeV1MapInput interface {
	pulumi.Input

	ToVolumeV1MapOutput() VolumeV1MapOutput
	ToVolumeV1MapOutputWithContext(context.Context) VolumeV1MapOutput
}

VolumeV1MapInput is an input type that accepts VolumeV1Map and VolumeV1MapOutput values. You can construct a concrete instance of `VolumeV1MapInput` via:

VolumeV1Map{ "key": VolumeV1Args{...} }

type VolumeV1MapOutput added in v2.14.1

type VolumeV1MapOutput struct{ *pulumi.OutputState }

func (VolumeV1MapOutput) ElementType added in v2.14.1

func (VolumeV1MapOutput) ElementType() reflect.Type

func (VolumeV1MapOutput) MapIndex added in v2.14.1

func (VolumeV1MapOutput) ToVolumeV1MapOutput added in v2.14.1

func (o VolumeV1MapOutput) ToVolumeV1MapOutput() VolumeV1MapOutput

func (VolumeV1MapOutput) ToVolumeV1MapOutputWithContext added in v2.14.1

func (o VolumeV1MapOutput) ToVolumeV1MapOutputWithContext(ctx context.Context) VolumeV1MapOutput

type VolumeV1Output added in v2.10.0

type VolumeV1Output struct {
	*pulumi.OutputState
}

func (VolumeV1Output) ElementType added in v2.10.0

func (VolumeV1Output) ElementType() reflect.Type

func (VolumeV1Output) ToVolumeV1Output added in v2.10.0

func (o VolumeV1Output) ToVolumeV1Output() VolumeV1Output

func (VolumeV1Output) ToVolumeV1OutputWithContext added in v2.10.0

func (o VolumeV1Output) ToVolumeV1OutputWithContext(ctx context.Context) VolumeV1Output

func (VolumeV1Output) ToVolumeV1PtrOutput added in v2.14.1

func (o VolumeV1Output) ToVolumeV1PtrOutput() VolumeV1PtrOutput

func (VolumeV1Output) ToVolumeV1PtrOutputWithContext added in v2.14.1

func (o VolumeV1Output) ToVolumeV1PtrOutputWithContext(ctx context.Context) VolumeV1PtrOutput

type VolumeV1PtrInput added in v2.14.1

type VolumeV1PtrInput interface {
	pulumi.Input

	ToVolumeV1PtrOutput() VolumeV1PtrOutput
	ToVolumeV1PtrOutputWithContext(ctx context.Context) VolumeV1PtrOutput
}

type VolumeV1PtrOutput added in v2.14.1

type VolumeV1PtrOutput struct {
	*pulumi.OutputState
}

func (VolumeV1PtrOutput) ElementType added in v2.14.1

func (VolumeV1PtrOutput) ElementType() reflect.Type

func (VolumeV1PtrOutput) ToVolumeV1PtrOutput added in v2.14.1

func (o VolumeV1PtrOutput) ToVolumeV1PtrOutput() VolumeV1PtrOutput

func (VolumeV1PtrOutput) ToVolumeV1PtrOutputWithContext added in v2.14.1

func (o VolumeV1PtrOutput) ToVolumeV1PtrOutputWithContext(ctx context.Context) VolumeV1PtrOutput

type VolumeV1State

type VolumeV1State struct {
	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeV1AttachmentArrayInput
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntPtrInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

func (VolumeV1State) ElementType

func (VolumeV1State) ElementType() reflect.Type

type VolumeV2

type VolumeV2 struct {
	pulumi.CustomResourceState

	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeV2AttachmentArrayOutput `pulumi:"attachments"`
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrOutput `pulumi:"consistencyGroupId"`
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrOutput `pulumi:"imageId"`
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapOutput `pulumi:"metadata"`
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringOutput `pulumi:"region"`
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeV2SchedulerHintArrayOutput `pulumi:"schedulerHints"`
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntOutput `pulumi:"size"`
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"`
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrOutput `pulumi:"sourceReplica"`
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrOutput `pulumi:"sourceVolId"`
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringOutput `pulumi:"volumeType"`
}

Manages a V2 volume resource within OpenStack.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.NewVolumeV2(ctx, "volume1", &blockstorage.VolumeV2Args{
			Description: pulumi.String("first test volume"),
			Region:      pulumi.String("RegionOne"),
			Size:        pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Volumes can be imported using the `id`, e.g.

```sh

$ pulumi import openstack:blockstorage/volumeV2:VolumeV2 volume_1 ea257959-eeb1-4c10-8d33-26f0409a755d

```

func GetVolumeV2

func GetVolumeV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeV2State, opts ...pulumi.ResourceOption) (*VolumeV2, error)

GetVolumeV2 gets an existing VolumeV2 resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeV2

func NewVolumeV2(ctx *pulumi.Context,
	name string, args *VolumeV2Args, opts ...pulumi.ResourceOption) (*VolumeV2, error)

NewVolumeV2 registers a new resource with the given unique name, arguments, and options.

func (*VolumeV2) ElementType added in v2.10.0

func (*VolumeV2) ElementType() reflect.Type

func (*VolumeV2) ToVolumeV2Output added in v2.10.0

func (i *VolumeV2) ToVolumeV2Output() VolumeV2Output

func (*VolumeV2) ToVolumeV2OutputWithContext added in v2.10.0

func (i *VolumeV2) ToVolumeV2OutputWithContext(ctx context.Context) VolumeV2Output

func (*VolumeV2) ToVolumeV2PtrOutput added in v2.14.1

func (i *VolumeV2) ToVolumeV2PtrOutput() VolumeV2PtrOutput

func (*VolumeV2) ToVolumeV2PtrOutputWithContext added in v2.14.1

func (i *VolumeV2) ToVolumeV2PtrOutputWithContext(ctx context.Context) VolumeV2PtrOutput

type VolumeV2Args

type VolumeV2Args struct {
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeV2SchedulerHintArrayInput
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

The set of arguments for constructing a VolumeV2 resource.

func (VolumeV2Args) ElementType

func (VolumeV2Args) ElementType() reflect.Type

type VolumeV2Array added in v2.14.1

type VolumeV2Array []VolumeV2Input

func (VolumeV2Array) ElementType added in v2.14.1

func (VolumeV2Array) ElementType() reflect.Type

func (VolumeV2Array) ToVolumeV2ArrayOutput added in v2.14.1

func (i VolumeV2Array) ToVolumeV2ArrayOutput() VolumeV2ArrayOutput

func (VolumeV2Array) ToVolumeV2ArrayOutputWithContext added in v2.14.1

func (i VolumeV2Array) ToVolumeV2ArrayOutputWithContext(ctx context.Context) VolumeV2ArrayOutput

type VolumeV2ArrayInput added in v2.14.1

type VolumeV2ArrayInput interface {
	pulumi.Input

	ToVolumeV2ArrayOutput() VolumeV2ArrayOutput
	ToVolumeV2ArrayOutputWithContext(context.Context) VolumeV2ArrayOutput
}

VolumeV2ArrayInput is an input type that accepts VolumeV2Array and VolumeV2ArrayOutput values. You can construct a concrete instance of `VolumeV2ArrayInput` via:

VolumeV2Array{ VolumeV2Args{...} }

type VolumeV2ArrayOutput added in v2.14.1

type VolumeV2ArrayOutput struct{ *pulumi.OutputState }

func (VolumeV2ArrayOutput) ElementType added in v2.14.1

func (VolumeV2ArrayOutput) ElementType() reflect.Type

func (VolumeV2ArrayOutput) Index added in v2.14.1

func (VolumeV2ArrayOutput) ToVolumeV2ArrayOutput added in v2.14.1

func (o VolumeV2ArrayOutput) ToVolumeV2ArrayOutput() VolumeV2ArrayOutput

func (VolumeV2ArrayOutput) ToVolumeV2ArrayOutputWithContext added in v2.14.1

func (o VolumeV2ArrayOutput) ToVolumeV2ArrayOutputWithContext(ctx context.Context) VolumeV2ArrayOutput

type VolumeV2Attachment

type VolumeV2Attachment struct {
	Device     *string `pulumi:"device"`
	Id         *string `pulumi:"id"`
	InstanceId *string `pulumi:"instanceId"`
}

type VolumeV2AttachmentArgs

type VolumeV2AttachmentArgs struct {
	Device     pulumi.StringPtrInput `pulumi:"device"`
	Id         pulumi.StringPtrInput `pulumi:"id"`
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
}

func (VolumeV2AttachmentArgs) ElementType

func (VolumeV2AttachmentArgs) ElementType() reflect.Type

func (VolumeV2AttachmentArgs) ToVolumeV2AttachmentOutput

func (i VolumeV2AttachmentArgs) ToVolumeV2AttachmentOutput() VolumeV2AttachmentOutput

func (VolumeV2AttachmentArgs) ToVolumeV2AttachmentOutputWithContext

func (i VolumeV2AttachmentArgs) ToVolumeV2AttachmentOutputWithContext(ctx context.Context) VolumeV2AttachmentOutput

type VolumeV2AttachmentArray

type VolumeV2AttachmentArray []VolumeV2AttachmentInput

func (VolumeV2AttachmentArray) ElementType

func (VolumeV2AttachmentArray) ElementType() reflect.Type

func (VolumeV2AttachmentArray) ToVolumeV2AttachmentArrayOutput

func (i VolumeV2AttachmentArray) ToVolumeV2AttachmentArrayOutput() VolumeV2AttachmentArrayOutput

func (VolumeV2AttachmentArray) ToVolumeV2AttachmentArrayOutputWithContext

func (i VolumeV2AttachmentArray) ToVolumeV2AttachmentArrayOutputWithContext(ctx context.Context) VolumeV2AttachmentArrayOutput

type VolumeV2AttachmentArrayInput

type VolumeV2AttachmentArrayInput interface {
	pulumi.Input

	ToVolumeV2AttachmentArrayOutput() VolumeV2AttachmentArrayOutput
	ToVolumeV2AttachmentArrayOutputWithContext(context.Context) VolumeV2AttachmentArrayOutput
}

VolumeV2AttachmentArrayInput is an input type that accepts VolumeV2AttachmentArray and VolumeV2AttachmentArrayOutput values. You can construct a concrete instance of `VolumeV2AttachmentArrayInput` via:

VolumeV2AttachmentArray{ VolumeV2AttachmentArgs{...} }

type VolumeV2AttachmentArrayOutput

type VolumeV2AttachmentArrayOutput struct{ *pulumi.OutputState }

func (VolumeV2AttachmentArrayOutput) ElementType

func (VolumeV2AttachmentArrayOutput) Index

func (VolumeV2AttachmentArrayOutput) ToVolumeV2AttachmentArrayOutput

func (o VolumeV2AttachmentArrayOutput) ToVolumeV2AttachmentArrayOutput() VolumeV2AttachmentArrayOutput

func (VolumeV2AttachmentArrayOutput) ToVolumeV2AttachmentArrayOutputWithContext

func (o VolumeV2AttachmentArrayOutput) ToVolumeV2AttachmentArrayOutputWithContext(ctx context.Context) VolumeV2AttachmentArrayOutput

type VolumeV2AttachmentInput

type VolumeV2AttachmentInput interface {
	pulumi.Input

	ToVolumeV2AttachmentOutput() VolumeV2AttachmentOutput
	ToVolumeV2AttachmentOutputWithContext(context.Context) VolumeV2AttachmentOutput
}

VolumeV2AttachmentInput is an input type that accepts VolumeV2AttachmentArgs and VolumeV2AttachmentOutput values. You can construct a concrete instance of `VolumeV2AttachmentInput` via:

VolumeV2AttachmentArgs{...}

type VolumeV2AttachmentOutput

type VolumeV2AttachmentOutput struct{ *pulumi.OutputState }

func (VolumeV2AttachmentOutput) Device

func (VolumeV2AttachmentOutput) ElementType

func (VolumeV2AttachmentOutput) ElementType() reflect.Type

func (VolumeV2AttachmentOutput) Id

func (VolumeV2AttachmentOutput) InstanceId

func (VolumeV2AttachmentOutput) ToVolumeV2AttachmentOutput

func (o VolumeV2AttachmentOutput) ToVolumeV2AttachmentOutput() VolumeV2AttachmentOutput

func (VolumeV2AttachmentOutput) ToVolumeV2AttachmentOutputWithContext

func (o VolumeV2AttachmentOutput) ToVolumeV2AttachmentOutputWithContext(ctx context.Context) VolumeV2AttachmentOutput

type VolumeV2Input added in v2.10.0

type VolumeV2Input interface {
	pulumi.Input

	ToVolumeV2Output() VolumeV2Output
	ToVolumeV2OutputWithContext(ctx context.Context) VolumeV2Output
}

type VolumeV2Map added in v2.14.1

type VolumeV2Map map[string]VolumeV2Input

func (VolumeV2Map) ElementType added in v2.14.1

func (VolumeV2Map) ElementType() reflect.Type

func (VolumeV2Map) ToVolumeV2MapOutput added in v2.14.1

func (i VolumeV2Map) ToVolumeV2MapOutput() VolumeV2MapOutput

func (VolumeV2Map) ToVolumeV2MapOutputWithContext added in v2.14.1

func (i VolumeV2Map) ToVolumeV2MapOutputWithContext(ctx context.Context) VolumeV2MapOutput

type VolumeV2MapInput added in v2.14.1

type VolumeV2MapInput interface {
	pulumi.Input

	ToVolumeV2MapOutput() VolumeV2MapOutput
	ToVolumeV2MapOutputWithContext(context.Context) VolumeV2MapOutput
}

VolumeV2MapInput is an input type that accepts VolumeV2Map and VolumeV2MapOutput values. You can construct a concrete instance of `VolumeV2MapInput` via:

VolumeV2Map{ "key": VolumeV2Args{...} }

type VolumeV2MapOutput added in v2.14.1

type VolumeV2MapOutput struct{ *pulumi.OutputState }

func (VolumeV2MapOutput) ElementType added in v2.14.1

func (VolumeV2MapOutput) ElementType() reflect.Type

func (VolumeV2MapOutput) MapIndex added in v2.14.1

func (VolumeV2MapOutput) ToVolumeV2MapOutput added in v2.14.1

func (o VolumeV2MapOutput) ToVolumeV2MapOutput() VolumeV2MapOutput

func (VolumeV2MapOutput) ToVolumeV2MapOutputWithContext added in v2.14.1

func (o VolumeV2MapOutput) ToVolumeV2MapOutputWithContext(ctx context.Context) VolumeV2MapOutput

type VolumeV2Output added in v2.10.0

type VolumeV2Output struct {
	*pulumi.OutputState
}

func (VolumeV2Output) ElementType added in v2.10.0

func (VolumeV2Output) ElementType() reflect.Type

func (VolumeV2Output) ToVolumeV2Output added in v2.10.0

func (o VolumeV2Output) ToVolumeV2Output() VolumeV2Output

func (VolumeV2Output) ToVolumeV2OutputWithContext added in v2.10.0

func (o VolumeV2Output) ToVolumeV2OutputWithContext(ctx context.Context) VolumeV2Output

func (VolumeV2Output) ToVolumeV2PtrOutput added in v2.14.1

func (o VolumeV2Output) ToVolumeV2PtrOutput() VolumeV2PtrOutput

func (VolumeV2Output) ToVolumeV2PtrOutputWithContext added in v2.14.1

func (o VolumeV2Output) ToVolumeV2PtrOutputWithContext(ctx context.Context) VolumeV2PtrOutput

type VolumeV2PtrInput added in v2.14.1

type VolumeV2PtrInput interface {
	pulumi.Input

	ToVolumeV2PtrOutput() VolumeV2PtrOutput
	ToVolumeV2PtrOutputWithContext(ctx context.Context) VolumeV2PtrOutput
}

type VolumeV2PtrOutput added in v2.14.1

type VolumeV2PtrOutput struct {
	*pulumi.OutputState
}

func (VolumeV2PtrOutput) ElementType added in v2.14.1

func (VolumeV2PtrOutput) ElementType() reflect.Type

func (VolumeV2PtrOutput) ToVolumeV2PtrOutput added in v2.14.1

func (o VolumeV2PtrOutput) ToVolumeV2PtrOutput() VolumeV2PtrOutput

func (VolumeV2PtrOutput) ToVolumeV2PtrOutputWithContext added in v2.14.1

func (o VolumeV2PtrOutput) ToVolumeV2PtrOutputWithContext(ctx context.Context) VolumeV2PtrOutput

type VolumeV2SchedulerHint added in v2.2.0

type VolumeV2SchedulerHint struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties map[string]interface{} `pulumi:"additionalProperties"`
	// The volume should be scheduled on a
	// different host from the set of volumes specified in the list provided.
	DifferentHosts []string `pulumi:"differentHosts"`
	// An instance UUID. The volume should be
	// scheduled on the same host as the instance.
	LocalToInstance *string `pulumi:"localToInstance"`
	// A conditional query that a back-end must pass in
	// order to host a volume. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter).
	// At this time, only simple queries are supported. Compound queries using
	// `and`, `or`, or `not` are not supported. An example of a simple query is:
	Query *string `pulumi:"query"`
	// A list of volume UUIDs. The volume should be
	// scheduled on the same host as another volume specified in the list provided.
	SameHosts []string `pulumi:"sameHosts"`
}

type VolumeV2SchedulerHintArgs added in v2.2.0

type VolumeV2SchedulerHintArgs struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties pulumi.MapInput `pulumi:"additionalProperties"`
	// The volume should be scheduled on a
	// different host from the set of volumes specified in the list provided.
	DifferentHosts pulumi.StringArrayInput `pulumi:"differentHosts"`
	// An instance UUID. The volume should be
	// scheduled on the same host as the instance.
	LocalToInstance pulumi.StringPtrInput `pulumi:"localToInstance"`
	// A conditional query that a back-end must pass in
	// order to host a volume. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter).
	// At this time, only simple queries are supported. Compound queries using
	// `and`, `or`, or `not` are not supported. An example of a simple query is:
	Query pulumi.StringPtrInput `pulumi:"query"`
	// A list of volume UUIDs. The volume should be
	// scheduled on the same host as another volume specified in the list provided.
	SameHosts pulumi.StringArrayInput `pulumi:"sameHosts"`
}

func (VolumeV2SchedulerHintArgs) ElementType added in v2.2.0

func (VolumeV2SchedulerHintArgs) ElementType() reflect.Type

func (VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutput added in v2.2.0

func (i VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutput() VolumeV2SchedulerHintOutput

func (VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutputWithContext added in v2.2.0

func (i VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutputWithContext(ctx context.Context) VolumeV2SchedulerHintOutput

type VolumeV2SchedulerHintArray added in v2.2.0

type VolumeV2SchedulerHintArray []VolumeV2SchedulerHintInput

func (VolumeV2SchedulerHintArray) ElementType added in v2.2.0

func (VolumeV2SchedulerHintArray) ElementType() reflect.Type

func (VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutput added in v2.2.0

func (i VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutput() VolumeV2SchedulerHintArrayOutput

func (VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutputWithContext added in v2.2.0

func (i VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutputWithContext(ctx context.Context) VolumeV2SchedulerHintArrayOutput

type VolumeV2SchedulerHintArrayInput added in v2.2.0

type VolumeV2SchedulerHintArrayInput interface {
	pulumi.Input

	ToVolumeV2SchedulerHintArrayOutput() VolumeV2SchedulerHintArrayOutput
	ToVolumeV2SchedulerHintArrayOutputWithContext(context.Context) VolumeV2SchedulerHintArrayOutput
}

VolumeV2SchedulerHintArrayInput is an input type that accepts VolumeV2SchedulerHintArray and VolumeV2SchedulerHintArrayOutput values. You can construct a concrete instance of `VolumeV2SchedulerHintArrayInput` via:

VolumeV2SchedulerHintArray{ VolumeV2SchedulerHintArgs{...} }

type VolumeV2SchedulerHintArrayOutput added in v2.2.0

type VolumeV2SchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (VolumeV2SchedulerHintArrayOutput) ElementType added in v2.2.0

func (VolumeV2SchedulerHintArrayOutput) Index added in v2.2.0

func (VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutput added in v2.2.0

func (o VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutput() VolumeV2SchedulerHintArrayOutput

func (VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutputWithContext added in v2.2.0

func (o VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutputWithContext(ctx context.Context) VolumeV2SchedulerHintArrayOutput

type VolumeV2SchedulerHintInput added in v2.2.0

type VolumeV2SchedulerHintInput interface {
	pulumi.Input

	ToVolumeV2SchedulerHintOutput() VolumeV2SchedulerHintOutput
	ToVolumeV2SchedulerHintOutputWithContext(context.Context) VolumeV2SchedulerHintOutput
}

VolumeV2SchedulerHintInput is an input type that accepts VolumeV2SchedulerHintArgs and VolumeV2SchedulerHintOutput values. You can construct a concrete instance of `VolumeV2SchedulerHintInput` via:

VolumeV2SchedulerHintArgs{...}

type VolumeV2SchedulerHintOutput added in v2.2.0

type VolumeV2SchedulerHintOutput struct{ *pulumi.OutputState }

func (VolumeV2SchedulerHintOutput) AdditionalProperties added in v2.2.0

func (o VolumeV2SchedulerHintOutput) AdditionalProperties() pulumi.MapOutput

Arbitrary key/value pairs of additional properties to pass to the scheduler.

func (VolumeV2SchedulerHintOutput) DifferentHosts added in v2.2.0

The volume should be scheduled on a different host from the set of volumes specified in the list provided.

func (VolumeV2SchedulerHintOutput) ElementType added in v2.2.0

func (VolumeV2SchedulerHintOutput) LocalToInstance added in v2.2.0

An instance UUID. The volume should be scheduled on the same host as the instance.

func (VolumeV2SchedulerHintOutput) Query added in v2.2.0

A conditional query that a back-end must pass in order to host a volume. The query must use the `JsonFilter` syntax which is described [here](https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html#jsonfilter). At this time, only simple queries are supported. Compound queries using `and`, `or`, or `not` are not supported. An example of a simple query is:

func (VolumeV2SchedulerHintOutput) SameHosts added in v2.2.0

A list of volume UUIDs. The volume should be scheduled on the same host as another volume specified in the list provided.

func (VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutput added in v2.2.0

func (o VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutput() VolumeV2SchedulerHintOutput

func (VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutputWithContext added in v2.2.0

func (o VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutputWithContext(ctx context.Context) VolumeV2SchedulerHintOutput

type VolumeV2State

type VolumeV2State struct {
	// If a volume is attached to an instance, this attribute will
	// display the Attachment ID, Instance ID, and the Device as the Instance
	// sees it.
	Attachments VolumeV2AttachmentArrayInput
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// The consistency group to place the volume
	// in.
	ConsistencyGroupId pulumi.StringPtrInput
	// A description of the volume. Changing this updates
	// the volume's description.
	Description pulumi.StringPtrInput
	// The image ID from which to create the volume.
	// Changing this creates a new volume.
	ImageId pulumi.StringPtrInput
	// Metadata key/value pairs to associate with the volume.
	// Changing this updates the existing volume metadata.
	Metadata pulumi.MapInput
	// A unique name for the volume. Changing this updates the
	// volume's name.
	Name pulumi.StringPtrInput
	// The region in which to create the volume. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new volume.
	Region pulumi.StringPtrInput
	// Provide the Cinder scheduler with hints on where
	// to instantiate a volume in the OpenStack cloud. The available hints are described below.
	SchedulerHints VolumeV2SchedulerHintArrayInput
	// The size of the volume to create (in gigabytes). Changing
	// this creates a new volume.
	Size pulumi.IntPtrInput
	// The snapshot ID from which to create the volume.
	// Changing this creates a new volume.
	SnapshotId pulumi.StringPtrInput
	// The volume ID to replicate with.
	SourceReplica pulumi.StringPtrInput
	// The volume ID from which to create the volume.
	// Changing this creates a new volume.
	SourceVolId pulumi.StringPtrInput
	// The type of volume to create.
	// Changing this creates a new volume.
	VolumeType pulumi.StringPtrInput
}

func (VolumeV2State) ElementType

func (VolumeV2State) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL