blockstorage

package
v3.15.2 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2024 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 GetAvailabilityZonesV3OutputArgs added in v3.5.0

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

A collection of arguments for invoking getAvailabilityZonesV3.

func (GetAvailabilityZonesV3OutputArgs) ElementType added in v3.5.0

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

type GetAvailabilityZonesV3ResultOutput added in v3.5.0

type GetAvailabilityZonesV3ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAvailabilityZonesV3.

func GetAvailabilityZonesV3Output added in v3.5.0

func (GetAvailabilityZonesV3ResultOutput) ElementType added in v3.5.0

func (GetAvailabilityZonesV3ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetAvailabilityZonesV3ResultOutput) Names added in v3.5.0

The names of the availability zones, ordered alphanumerically, that match the queried `state`.

func (GetAvailabilityZonesV3ResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetAvailabilityZonesV3ResultOutput) State added in v3.5.0

See Argument Reference above.

func (GetAvailabilityZonesV3ResultOutput) ToGetAvailabilityZonesV3ResultOutput added in v3.5.0

func (o GetAvailabilityZonesV3ResultOutput) ToGetAvailabilityZonesV3ResultOutput() GetAvailabilityZonesV3ResultOutput

func (GetAvailabilityZonesV3ResultOutput) ToGetAvailabilityZonesV3ResultOutputWithContext added in v3.5.0

func (o GetAvailabilityZonesV3ResultOutput) ToGetAvailabilityZonesV3ResultOutputWithContext(ctx context.Context) GetAvailabilityZonesV3ResultOutput

type GetQuotasetV3Args added in v3.7.0

type GetQuotasetV3Args struct {
	// The id of the project to retrieve the quotaset.
	ProjectId string `pulumi:"projectId"`
	// The region in which to obtain the V3 Blockstorage client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getQuotasetV3.

type GetQuotasetV3OutputArgs added in v3.7.0

type GetQuotasetV3OutputArgs struct {
	// The id of the project to retrieve the quotaset.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// The region in which to obtain the V3 Blockstorage client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getQuotasetV3.

func (GetQuotasetV3OutputArgs) ElementType added in v3.7.0

func (GetQuotasetV3OutputArgs) ElementType() reflect.Type

type GetQuotasetV3Result added in v3.7.0

type GetQuotasetV3Result struct {
	// The size (GB) of backups that are allowed.
	BackupGigabytes int `pulumi:"backupGigabytes"`
	// The number of backups that are allowed.
	Backups int `pulumi:"backups"`
	// The size (GB) of volumes and snapshots that are allowed.
	Gigabytes int `pulumi:"gigabytes"`
	// The number of groups that are allowed.
	Groups int `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The size (GB) of volumes that are allowed for each volume.
	PerVolumeGigabytes int `pulumi:"perVolumeGigabytes"`
	// See Argument Reference above.
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The number of snapshots that are allowed.
	Snapshots int `pulumi:"snapshots"`
	// Map with gigabytes_{volume_type}, snapshots_{volume_type}, volumes_{volume_type} for each volume type.
	VolumeTypeQuota map[string]interface{} `pulumi:"volumeTypeQuota"`
	// The number of volumes that are allowed.
	Volumes int `pulumi:"volumes"`
}

A collection of values returned by getQuotasetV3.

func GetQuotasetV3 added in v3.7.0

func GetQuotasetV3(ctx *pulumi.Context, args *GetQuotasetV3Args, opts ...pulumi.InvokeOption) (*GetQuotasetV3Result, error)

Use this data source to get the blockstorage quotaset v3 of an OpenStack project.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.GetQuotasetV3(ctx, &blockstorage.GetQuotasetV3Args{
			ProjectId: "2e367a3d29f94fd988e6ec54e305ec9d",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetQuotasetV3ResultOutput added in v3.7.0

type GetQuotasetV3ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQuotasetV3.

func GetQuotasetV3Output added in v3.7.0

func GetQuotasetV3Output(ctx *pulumi.Context, args GetQuotasetV3OutputArgs, opts ...pulumi.InvokeOption) GetQuotasetV3ResultOutput

func (GetQuotasetV3ResultOutput) BackupGigabytes added in v3.7.0

func (o GetQuotasetV3ResultOutput) BackupGigabytes() pulumi.IntOutput

The size (GB) of backups that are allowed.

func (GetQuotasetV3ResultOutput) Backups added in v3.7.0

The number of backups that are allowed.

func (GetQuotasetV3ResultOutput) ElementType added in v3.7.0

func (GetQuotasetV3ResultOutput) ElementType() reflect.Type

func (GetQuotasetV3ResultOutput) Gigabytes added in v3.7.0

The size (GB) of volumes and snapshots that are allowed.

func (GetQuotasetV3ResultOutput) Groups added in v3.7.0

The number of groups that are allowed.

func (GetQuotasetV3ResultOutput) Id added in v3.7.0

The provider-assigned unique ID for this managed resource.

func (GetQuotasetV3ResultOutput) PerVolumeGigabytes added in v3.7.0

func (o GetQuotasetV3ResultOutput) PerVolumeGigabytes() pulumi.IntOutput

The size (GB) of volumes that are allowed for each volume.

func (GetQuotasetV3ResultOutput) ProjectId added in v3.7.0

See Argument Reference above.

func (GetQuotasetV3ResultOutput) Region added in v3.7.0

See Argument Reference above.

func (GetQuotasetV3ResultOutput) Snapshots added in v3.7.0

The number of snapshots that are allowed.

func (GetQuotasetV3ResultOutput) ToGetQuotasetV3ResultOutput added in v3.7.0

func (o GetQuotasetV3ResultOutput) ToGetQuotasetV3ResultOutput() GetQuotasetV3ResultOutput

func (GetQuotasetV3ResultOutput) ToGetQuotasetV3ResultOutputWithContext added in v3.7.0

func (o GetQuotasetV3ResultOutput) ToGetQuotasetV3ResultOutputWithContext(ctx context.Context) GetQuotasetV3ResultOutput

func (GetQuotasetV3ResultOutput) VolumeTypeQuota added in v3.7.0

func (o GetQuotasetV3ResultOutput) VolumeTypeQuota() pulumi.MapOutput

Map with gigabytes_{volume_type}, snapshots_{volume_type}, volumes_{volume_type} for each volume type.

func (GetQuotasetV3ResultOutput) Volumes added in v3.7.0

The number of volumes that are allowed.

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 GetSnapshotV2OutputArgs added in v3.5.0

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

A collection of arguments for invoking getSnapshotV2.

func (GetSnapshotV2OutputArgs) ElementType added in v3.5.0

func (GetSnapshotV2OutputArgs) ElementType() reflect.Type

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

type GetSnapshotV2ResultOutput added in v3.5.0

type GetSnapshotV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshotV2.

func GetSnapshotV2Output added in v3.5.0

func GetSnapshotV2Output(ctx *pulumi.Context, args GetSnapshotV2OutputArgs, opts ...pulumi.InvokeOption) GetSnapshotV2ResultOutput

func (GetSnapshotV2ResultOutput) Description added in v3.5.0

The snapshot's description.

func (GetSnapshotV2ResultOutput) ElementType added in v3.5.0

func (GetSnapshotV2ResultOutput) ElementType() reflect.Type

func (GetSnapshotV2ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetSnapshotV2ResultOutput) Metadata added in v3.5.0

The snapshot's metadata.

func (GetSnapshotV2ResultOutput) MostRecent added in v3.5.0

func (GetSnapshotV2ResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetSnapshotV2ResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetSnapshotV2ResultOutput) Size added in v3.5.0

The size of the snapshot.

func (GetSnapshotV2ResultOutput) Status added in v3.5.0

See Argument Reference above.

func (GetSnapshotV2ResultOutput) ToGetSnapshotV2ResultOutput added in v3.5.0

func (o GetSnapshotV2ResultOutput) ToGetSnapshotV2ResultOutput() GetSnapshotV2ResultOutput

func (GetSnapshotV2ResultOutput) ToGetSnapshotV2ResultOutputWithContext added in v3.5.0

func (o GetSnapshotV2ResultOutput) ToGetSnapshotV2ResultOutputWithContext(ctx context.Context) GetSnapshotV2ResultOutput

func (GetSnapshotV2ResultOutput) VolumeId added in v3.5.0

See Argument Reference above.

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 GetSnapshotV3OutputArgs added in v3.5.0

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

A collection of arguments for invoking getSnapshotV3.

func (GetSnapshotV3OutputArgs) ElementType added in v3.5.0

func (GetSnapshotV3OutputArgs) ElementType() reflect.Type

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

type GetSnapshotV3ResultOutput added in v3.5.0

type GetSnapshotV3ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshotV3.

func GetSnapshotV3Output added in v3.5.0

func GetSnapshotV3Output(ctx *pulumi.Context, args GetSnapshotV3OutputArgs, opts ...pulumi.InvokeOption) GetSnapshotV3ResultOutput

func (GetSnapshotV3ResultOutput) Description added in v3.5.0

The snapshot's description.

func (GetSnapshotV3ResultOutput) ElementType added in v3.5.0

func (GetSnapshotV3ResultOutput) ElementType() reflect.Type

func (GetSnapshotV3ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetSnapshotV3ResultOutput) Metadata added in v3.5.0

The snapshot's metadata.

func (GetSnapshotV3ResultOutput) MostRecent added in v3.5.0

func (GetSnapshotV3ResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetSnapshotV3ResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetSnapshotV3ResultOutput) Size added in v3.5.0

The size of the snapshot.

func (GetSnapshotV3ResultOutput) Status added in v3.5.0

See Argument Reference above.

func (GetSnapshotV3ResultOutput) ToGetSnapshotV3ResultOutput added in v3.5.0

func (o GetSnapshotV3ResultOutput) ToGetSnapshotV3ResultOutput() GetSnapshotV3ResultOutput

func (GetSnapshotV3ResultOutput) ToGetSnapshotV3ResultOutputWithContext added in v3.5.0

func (o GetSnapshotV3ResultOutput) ToGetSnapshotV3ResultOutputWithContext(ctx context.Context) GetSnapshotV3ResultOutput

func (GetSnapshotV3ResultOutput) VolumeId added in v3.5.0

See Argument Reference above.

type GetVolumeV3Args

type GetVolumeV3Args struct {
	// Indicates if the volume is bootable.
	Bootable *string `pulumi:"bootable"`
	// The OpenStack host on which the volume is located.
	Host *string `pulumi:"host"`
	// 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 GetVolumeV3Attachment added in v3.15.0

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

type GetVolumeV3AttachmentArgs added in v3.15.0

type GetVolumeV3AttachmentArgs struct {
	Device     pulumi.StringInput `pulumi:"device"`
	Id         pulumi.StringInput `pulumi:"id"`
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
}

func (GetVolumeV3AttachmentArgs) ElementType added in v3.15.0

func (GetVolumeV3AttachmentArgs) ElementType() reflect.Type

func (GetVolumeV3AttachmentArgs) ToGetVolumeV3AttachmentOutput added in v3.15.0

func (i GetVolumeV3AttachmentArgs) ToGetVolumeV3AttachmentOutput() GetVolumeV3AttachmentOutput

func (GetVolumeV3AttachmentArgs) ToGetVolumeV3AttachmentOutputWithContext added in v3.15.0

func (i GetVolumeV3AttachmentArgs) ToGetVolumeV3AttachmentOutputWithContext(ctx context.Context) GetVolumeV3AttachmentOutput

type GetVolumeV3AttachmentArray added in v3.15.0

type GetVolumeV3AttachmentArray []GetVolumeV3AttachmentInput

func (GetVolumeV3AttachmentArray) ElementType added in v3.15.0

func (GetVolumeV3AttachmentArray) ElementType() reflect.Type

func (GetVolumeV3AttachmentArray) ToGetVolumeV3AttachmentArrayOutput added in v3.15.0

func (i GetVolumeV3AttachmentArray) ToGetVolumeV3AttachmentArrayOutput() GetVolumeV3AttachmentArrayOutput

func (GetVolumeV3AttachmentArray) ToGetVolumeV3AttachmentArrayOutputWithContext added in v3.15.0

func (i GetVolumeV3AttachmentArray) ToGetVolumeV3AttachmentArrayOutputWithContext(ctx context.Context) GetVolumeV3AttachmentArrayOutput

type GetVolumeV3AttachmentArrayInput added in v3.15.0

type GetVolumeV3AttachmentArrayInput interface {
	pulumi.Input

	ToGetVolumeV3AttachmentArrayOutput() GetVolumeV3AttachmentArrayOutput
	ToGetVolumeV3AttachmentArrayOutputWithContext(context.Context) GetVolumeV3AttachmentArrayOutput
}

GetVolumeV3AttachmentArrayInput is an input type that accepts GetVolumeV3AttachmentArray and GetVolumeV3AttachmentArrayOutput values. You can construct a concrete instance of `GetVolumeV3AttachmentArrayInput` via:

GetVolumeV3AttachmentArray{ GetVolumeV3AttachmentArgs{...} }

type GetVolumeV3AttachmentArrayOutput added in v3.15.0

type GetVolumeV3AttachmentArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeV3AttachmentArrayOutput) ElementType added in v3.15.0

func (GetVolumeV3AttachmentArrayOutput) Index added in v3.15.0

func (GetVolumeV3AttachmentArrayOutput) ToGetVolumeV3AttachmentArrayOutput added in v3.15.0

func (o GetVolumeV3AttachmentArrayOutput) ToGetVolumeV3AttachmentArrayOutput() GetVolumeV3AttachmentArrayOutput

func (GetVolumeV3AttachmentArrayOutput) ToGetVolumeV3AttachmentArrayOutputWithContext added in v3.15.0

func (o GetVolumeV3AttachmentArrayOutput) ToGetVolumeV3AttachmentArrayOutputWithContext(ctx context.Context) GetVolumeV3AttachmentArrayOutput

type GetVolumeV3AttachmentInput added in v3.15.0

type GetVolumeV3AttachmentInput interface {
	pulumi.Input

	ToGetVolumeV3AttachmentOutput() GetVolumeV3AttachmentOutput
	ToGetVolumeV3AttachmentOutputWithContext(context.Context) GetVolumeV3AttachmentOutput
}

GetVolumeV3AttachmentInput is an input type that accepts GetVolumeV3AttachmentArgs and GetVolumeV3AttachmentOutput values. You can construct a concrete instance of `GetVolumeV3AttachmentInput` via:

GetVolumeV3AttachmentArgs{...}

type GetVolumeV3AttachmentOutput added in v3.15.0

type GetVolumeV3AttachmentOutput struct{ *pulumi.OutputState }

func (GetVolumeV3AttachmentOutput) Device added in v3.15.0

func (GetVolumeV3AttachmentOutput) ElementType added in v3.15.0

func (GetVolumeV3AttachmentOutput) Id added in v3.15.0

func (GetVolumeV3AttachmentOutput) InstanceId added in v3.15.0

func (GetVolumeV3AttachmentOutput) ToGetVolumeV3AttachmentOutput added in v3.15.0

func (o GetVolumeV3AttachmentOutput) ToGetVolumeV3AttachmentOutput() GetVolumeV3AttachmentOutput

func (GetVolumeV3AttachmentOutput) ToGetVolumeV3AttachmentOutputWithContext added in v3.15.0

func (o GetVolumeV3AttachmentOutput) ToGetVolumeV3AttachmentOutputWithContext(ctx context.Context) GetVolumeV3AttachmentOutput

type GetVolumeV3OutputArgs added in v3.5.0

type GetVolumeV3OutputArgs struct {
	// Indicates if the volume is bootable.
	Bootable pulumi.StringPtrInput `pulumi:"bootable"`
	// The OpenStack host on which the volume is located.
	Host pulumi.StringPtrInput `pulumi:"host"`
	// Metadata key/value pairs associated with the volume.
	Metadata pulumi.MapInput `pulumi:"metadata"`
	// The name of the volume.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V3 Block Storage
	// client. If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The status of the volume.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The type of the volume.
	VolumeType pulumi.StringPtrInput `pulumi:"volumeType"`
}

A collection of arguments for invoking getVolumeV3.

func (GetVolumeV3OutputArgs) ElementType added in v3.5.0

func (GetVolumeV3OutputArgs) ElementType() reflect.Type

type GetVolumeV3Result

type GetVolumeV3Result 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 []GetVolumeV3Attachment `pulumi:"attachments"`
	// Indicates if the volume is bootable.
	Bootable string `pulumi:"bootable"`
	// The OpenStack host on which the volume is located.
	Host string `pulumi:"host"`
	// 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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

type GetVolumeV3ResultOutput added in v3.5.0

type GetVolumeV3ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolumeV3.

func GetVolumeV3Output added in v3.5.0

func GetVolumeV3Output(ctx *pulumi.Context, args GetVolumeV3OutputArgs, opts ...pulumi.InvokeOption) GetVolumeV3ResultOutput

func (GetVolumeV3ResultOutput) Attachments added in v3.15.0

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.

func (GetVolumeV3ResultOutput) Bootable added in v3.5.0

Indicates if the volume is bootable.

func (GetVolumeV3ResultOutput) ElementType added in v3.5.0

func (GetVolumeV3ResultOutput) ElementType() reflect.Type

func (GetVolumeV3ResultOutput) Host added in v3.8.0

The OpenStack host on which the volume is located.

func (GetVolumeV3ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetVolumeV3ResultOutput) Metadata added in v3.5.0

See Argument Reference above.

func (GetVolumeV3ResultOutput) Multiattach added in v3.5.0

func (o GetVolumeV3ResultOutput) Multiattach() pulumi.BoolOutput

Indicates if the volume can be attached to more then one server.

func (GetVolumeV3ResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetVolumeV3ResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetVolumeV3ResultOutput) Size added in v3.5.0

The size of the volume in GBs.

func (GetVolumeV3ResultOutput) SourceVolumeId added in v3.5.0

func (o GetVolumeV3ResultOutput) SourceVolumeId() pulumi.StringOutput

The ID of the volume from which the current volume was created.

func (GetVolumeV3ResultOutput) Status added in v3.5.0

See Argument Reference above.

func (GetVolumeV3ResultOutput) ToGetVolumeV3ResultOutput added in v3.5.0

func (o GetVolumeV3ResultOutput) ToGetVolumeV3ResultOutput() GetVolumeV3ResultOutput

func (GetVolumeV3ResultOutput) ToGetVolumeV3ResultOutputWithContext added in v3.5.0

func (o GetVolumeV3ResultOutput) ToGetVolumeV3ResultOutputWithContext(ctx context.Context) GetVolumeV3ResultOutput

func (GetVolumeV3ResultOutput) VolumeType added in v3.5.0

The type of the volume.

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 LookupVolumeV2OutputArgs added in v3.5.0

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

A collection of arguments for invoking getVolumeV2.

func (LookupVolumeV2OutputArgs) ElementType added in v3.5.0

func (LookupVolumeV2OutputArgs) ElementType() reflect.Type

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

type LookupVolumeV2ResultOutput added in v3.5.0

type LookupVolumeV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolumeV2.

func LookupVolumeV2Output added in v3.5.0

func LookupVolumeV2Output(ctx *pulumi.Context, args LookupVolumeV2OutputArgs, opts ...pulumi.InvokeOption) LookupVolumeV2ResultOutput

func (LookupVolumeV2ResultOutput) Bootable added in v3.5.0

Indicates if the volume is bootable.

func (LookupVolumeV2ResultOutput) ElementType added in v3.5.0

func (LookupVolumeV2ResultOutput) ElementType() reflect.Type

func (LookupVolumeV2ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupVolumeV2ResultOutput) Metadata added in v3.5.0

See Argument Reference above.

func (LookupVolumeV2ResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupVolumeV2ResultOutput) Region added in v3.5.0

See Argument Reference above.

func (LookupVolumeV2ResultOutput) Size added in v3.5.0

The size of the volume in GBs.

func (LookupVolumeV2ResultOutput) SourceVolumeId added in v3.5.0

func (o LookupVolumeV2ResultOutput) SourceVolumeId() pulumi.StringOutput

The ID of the volume from which the current volume was created.

func (LookupVolumeV2ResultOutput) Status added in v3.5.0

See Argument Reference above.

func (LookupVolumeV2ResultOutput) ToLookupVolumeV2ResultOutput added in v3.5.0

func (o LookupVolumeV2ResultOutput) ToLookupVolumeV2ResultOutput() LookupVolumeV2ResultOutput

func (LookupVolumeV2ResultOutput) ToLookupVolumeV2ResultOutputWithContext added in v3.5.0

func (o LookupVolumeV2ResultOutput) ToLookupVolumeV2ResultOutputWithContext(ctx context.Context) LookupVolumeV2ResultOutput

func (LookupVolumeV2ResultOutput) VolumeType added in v3.5.0

The type of the volume.

type QosAssociationV3 added in v3.7.0

type QosAssociationV3 struct {
	pulumi.CustomResourceState

	// ID of the qos to associate. Changing this creates
	// a new qos association.
	QosId pulumi.StringOutput `pulumi:"qosId"`
	// The region in which to create the qos association.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new qos association.
	Region pulumi.StringOutput `pulumi:"region"`
	// ID of the volumeType to associate.
	// Changing this creates a new qos association.
	VolumeTypeId pulumi.StringOutput `pulumi:"volumeTypeId"`
}

Manages a V3 block storage Qos Association resource within OpenStack.

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

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		qos, err := blockstorage.NewQosV3(ctx, "qos", &blockstorage.QosV3Args{
			Consumer: pulumi.String("front-end"),
			Specs: pulumi.Map{
				"read_iops_sec": pulumi.Any("20000"),
			},
		})
		if err != nil {
			return err
		}
		volumeType, err := blockstorage.NewVolumeTypeV3(ctx, "volumeType", nil)
		if err != nil {
			return err
		}
		_, err = blockstorage.NewQosAssociationV3(ctx, "qosAssociation", &blockstorage.QosAssociationV3Args{
			QosId:        qos.ID(),
			VolumeTypeId: volumeType.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Qos association can be imported using the `qos_id/volume_type_id`, e.g.

```sh $ pulumi import openstack:blockstorage/qosAssociationV3:QosAssociationV3 qos_association 941793f0-0a34-4bc4-b72e-a6326ae58283/ea257959-eeb1-4c10-8d33-26f0409a755d ```

func GetQosAssociationV3 added in v3.7.0

func GetQosAssociationV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosAssociationV3State, opts ...pulumi.ResourceOption) (*QosAssociationV3, error)

GetQosAssociationV3 gets an existing QosAssociationV3 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 NewQosAssociationV3 added in v3.7.0

func NewQosAssociationV3(ctx *pulumi.Context,
	name string, args *QosAssociationV3Args, opts ...pulumi.ResourceOption) (*QosAssociationV3, error)

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

func (*QosAssociationV3) ElementType added in v3.7.0

func (*QosAssociationV3) ElementType() reflect.Type

func (*QosAssociationV3) ToQosAssociationV3Output added in v3.7.0

func (i *QosAssociationV3) ToQosAssociationV3Output() QosAssociationV3Output

func (*QosAssociationV3) ToQosAssociationV3OutputWithContext added in v3.7.0

func (i *QosAssociationV3) ToQosAssociationV3OutputWithContext(ctx context.Context) QosAssociationV3Output

type QosAssociationV3Args added in v3.7.0

type QosAssociationV3Args struct {
	// ID of the qos to associate. Changing this creates
	// a new qos association.
	QosId pulumi.StringInput
	// The region in which to create the qos association.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new qos association.
	Region pulumi.StringPtrInput
	// ID of the volumeType to associate.
	// Changing this creates a new qos association.
	VolumeTypeId pulumi.StringInput
}

The set of arguments for constructing a QosAssociationV3 resource.

func (QosAssociationV3Args) ElementType added in v3.7.0

func (QosAssociationV3Args) ElementType() reflect.Type

type QosAssociationV3Array added in v3.7.0

type QosAssociationV3Array []QosAssociationV3Input

func (QosAssociationV3Array) ElementType added in v3.7.0

func (QosAssociationV3Array) ElementType() reflect.Type

func (QosAssociationV3Array) ToQosAssociationV3ArrayOutput added in v3.7.0

func (i QosAssociationV3Array) ToQosAssociationV3ArrayOutput() QosAssociationV3ArrayOutput

func (QosAssociationV3Array) ToQosAssociationV3ArrayOutputWithContext added in v3.7.0

func (i QosAssociationV3Array) ToQosAssociationV3ArrayOutputWithContext(ctx context.Context) QosAssociationV3ArrayOutput

type QosAssociationV3ArrayInput added in v3.7.0

type QosAssociationV3ArrayInput interface {
	pulumi.Input

	ToQosAssociationV3ArrayOutput() QosAssociationV3ArrayOutput
	ToQosAssociationV3ArrayOutputWithContext(context.Context) QosAssociationV3ArrayOutput
}

QosAssociationV3ArrayInput is an input type that accepts QosAssociationV3Array and QosAssociationV3ArrayOutput values. You can construct a concrete instance of `QosAssociationV3ArrayInput` via:

QosAssociationV3Array{ QosAssociationV3Args{...} }

type QosAssociationV3ArrayOutput added in v3.7.0

type QosAssociationV3ArrayOutput struct{ *pulumi.OutputState }

func (QosAssociationV3ArrayOutput) ElementType added in v3.7.0

func (QosAssociationV3ArrayOutput) Index added in v3.7.0

func (QosAssociationV3ArrayOutput) ToQosAssociationV3ArrayOutput added in v3.7.0

func (o QosAssociationV3ArrayOutput) ToQosAssociationV3ArrayOutput() QosAssociationV3ArrayOutput

func (QosAssociationV3ArrayOutput) ToQosAssociationV3ArrayOutputWithContext added in v3.7.0

func (o QosAssociationV3ArrayOutput) ToQosAssociationV3ArrayOutputWithContext(ctx context.Context) QosAssociationV3ArrayOutput

type QosAssociationV3Input added in v3.7.0

type QosAssociationV3Input interface {
	pulumi.Input

	ToQosAssociationV3Output() QosAssociationV3Output
	ToQosAssociationV3OutputWithContext(ctx context.Context) QosAssociationV3Output
}

type QosAssociationV3Map added in v3.7.0

type QosAssociationV3Map map[string]QosAssociationV3Input

func (QosAssociationV3Map) ElementType added in v3.7.0

func (QosAssociationV3Map) ElementType() reflect.Type

func (QosAssociationV3Map) ToQosAssociationV3MapOutput added in v3.7.0

func (i QosAssociationV3Map) ToQosAssociationV3MapOutput() QosAssociationV3MapOutput

func (QosAssociationV3Map) ToQosAssociationV3MapOutputWithContext added in v3.7.0

func (i QosAssociationV3Map) ToQosAssociationV3MapOutputWithContext(ctx context.Context) QosAssociationV3MapOutput

type QosAssociationV3MapInput added in v3.7.0

type QosAssociationV3MapInput interface {
	pulumi.Input

	ToQosAssociationV3MapOutput() QosAssociationV3MapOutput
	ToQosAssociationV3MapOutputWithContext(context.Context) QosAssociationV3MapOutput
}

QosAssociationV3MapInput is an input type that accepts QosAssociationV3Map and QosAssociationV3MapOutput values. You can construct a concrete instance of `QosAssociationV3MapInput` via:

QosAssociationV3Map{ "key": QosAssociationV3Args{...} }

type QosAssociationV3MapOutput added in v3.7.0

type QosAssociationV3MapOutput struct{ *pulumi.OutputState }

func (QosAssociationV3MapOutput) ElementType added in v3.7.0

func (QosAssociationV3MapOutput) ElementType() reflect.Type

func (QosAssociationV3MapOutput) MapIndex added in v3.7.0

func (QosAssociationV3MapOutput) ToQosAssociationV3MapOutput added in v3.7.0

func (o QosAssociationV3MapOutput) ToQosAssociationV3MapOutput() QosAssociationV3MapOutput

func (QosAssociationV3MapOutput) ToQosAssociationV3MapOutputWithContext added in v3.7.0

func (o QosAssociationV3MapOutput) ToQosAssociationV3MapOutputWithContext(ctx context.Context) QosAssociationV3MapOutput

type QosAssociationV3Output added in v3.7.0

type QosAssociationV3Output struct{ *pulumi.OutputState }

func (QosAssociationV3Output) ElementType added in v3.7.0

func (QosAssociationV3Output) ElementType() reflect.Type

func (QosAssociationV3Output) QosId added in v3.9.0

ID of the qos to associate. Changing this creates a new qos association.

func (QosAssociationV3Output) Region added in v3.9.0

The region in which to create the qos association. If omitted, the `region` argument of the provider is used. Changing this creates a new qos association.

func (QosAssociationV3Output) ToQosAssociationV3Output added in v3.7.0

func (o QosAssociationV3Output) ToQosAssociationV3Output() QosAssociationV3Output

func (QosAssociationV3Output) ToQosAssociationV3OutputWithContext added in v3.7.0

func (o QosAssociationV3Output) ToQosAssociationV3OutputWithContext(ctx context.Context) QosAssociationV3Output

func (QosAssociationV3Output) VolumeTypeId added in v3.9.0

func (o QosAssociationV3Output) VolumeTypeId() pulumi.StringOutput

ID of the volumeType to associate. Changing this creates a new qos association.

type QosAssociationV3State added in v3.7.0

type QosAssociationV3State struct {
	// ID of the qos to associate. Changing this creates
	// a new qos association.
	QosId pulumi.StringPtrInput
	// The region in which to create the qos association.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new qos association.
	Region pulumi.StringPtrInput
	// ID of the volumeType to associate.
	// Changing this creates a new qos association.
	VolumeTypeId pulumi.StringPtrInput
}

func (QosAssociationV3State) ElementType added in v3.7.0

func (QosAssociationV3State) ElementType() reflect.Type

type QosV3 added in v3.7.0

type QosV3 struct {
	pulumi.CustomResourceState

	// The consumer of qos. Can be one of `front-end`,
	// `back-end` or `both`. Changing this updates the `consumer` of an
	// existing qos.
	Consumer pulumi.StringPtrOutput `pulumi:"consumer"`
	// Name of the qos.  Changing this creates a new qos.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the qos. If omitted,
	// the `region` argument of the provider is used. Changing this creates
	// a new qos.
	Region pulumi.StringOutput `pulumi:"region"`
	// Key/Value pairs of specs for the qos.
	Specs pulumi.MapOutput `pulumi:"specs"`
}

Manages a V3 block storage Quality-Of-Servirce (qos) resource within OpenStack.

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

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := blockstorage.NewQosV3(ctx, "qos", &blockstorage.QosV3Args{
			Consumer: pulumi.String("back-end"),
			Specs: pulumi.Map{
				"read_iops_sec":  pulumi.Any("40000"),
				"write_iops_sec": pulumi.Any("40000"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Qos can be imported using the `qos_id`, e.g.

```sh $ pulumi import openstack:blockstorage/qosV3:QosV3 qos 941793f0-0a34-4bc4-b72e-a6326ae58283 ```

func GetQosV3 added in v3.7.0

func GetQosV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosV3State, opts ...pulumi.ResourceOption) (*QosV3, error)

GetQosV3 gets an existing QosV3 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 NewQosV3 added in v3.7.0

func NewQosV3(ctx *pulumi.Context,
	name string, args *QosV3Args, opts ...pulumi.ResourceOption) (*QosV3, error)

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

func (*QosV3) ElementType added in v3.7.0

func (*QosV3) ElementType() reflect.Type

func (*QosV3) ToQosV3Output added in v3.7.0

func (i *QosV3) ToQosV3Output() QosV3Output

func (*QosV3) ToQosV3OutputWithContext added in v3.7.0

func (i *QosV3) ToQosV3OutputWithContext(ctx context.Context) QosV3Output

type QosV3Args added in v3.7.0

type QosV3Args struct {
	// The consumer of qos. Can be one of `front-end`,
	// `back-end` or `both`. Changing this updates the `consumer` of an
	// existing qos.
	Consumer pulumi.StringPtrInput
	// Name of the qos.  Changing this creates a new qos.
	Name pulumi.StringPtrInput
	// The region in which to create the qos. If omitted,
	// the `region` argument of the provider is used. Changing this creates
	// a new qos.
	Region pulumi.StringPtrInput
	// Key/Value pairs of specs for the qos.
	Specs pulumi.MapInput
}

The set of arguments for constructing a QosV3 resource.

func (QosV3Args) ElementType added in v3.7.0

func (QosV3Args) ElementType() reflect.Type

type QosV3Array added in v3.7.0

type QosV3Array []QosV3Input

func (QosV3Array) ElementType added in v3.7.0

func (QosV3Array) ElementType() reflect.Type

func (QosV3Array) ToQosV3ArrayOutput added in v3.7.0

func (i QosV3Array) ToQosV3ArrayOutput() QosV3ArrayOutput

func (QosV3Array) ToQosV3ArrayOutputWithContext added in v3.7.0

func (i QosV3Array) ToQosV3ArrayOutputWithContext(ctx context.Context) QosV3ArrayOutput

type QosV3ArrayInput added in v3.7.0

type QosV3ArrayInput interface {
	pulumi.Input

	ToQosV3ArrayOutput() QosV3ArrayOutput
	ToQosV3ArrayOutputWithContext(context.Context) QosV3ArrayOutput
}

QosV3ArrayInput is an input type that accepts QosV3Array and QosV3ArrayOutput values. You can construct a concrete instance of `QosV3ArrayInput` via:

QosV3Array{ QosV3Args{...} }

type QosV3ArrayOutput added in v3.7.0

type QosV3ArrayOutput struct{ *pulumi.OutputState }

func (QosV3ArrayOutput) ElementType added in v3.7.0

func (QosV3ArrayOutput) ElementType() reflect.Type

func (QosV3ArrayOutput) Index added in v3.7.0

func (QosV3ArrayOutput) ToQosV3ArrayOutput added in v3.7.0

func (o QosV3ArrayOutput) ToQosV3ArrayOutput() QosV3ArrayOutput

func (QosV3ArrayOutput) ToQosV3ArrayOutputWithContext added in v3.7.0

func (o QosV3ArrayOutput) ToQosV3ArrayOutputWithContext(ctx context.Context) QosV3ArrayOutput

type QosV3Input added in v3.7.0

type QosV3Input interface {
	pulumi.Input

	ToQosV3Output() QosV3Output
	ToQosV3OutputWithContext(ctx context.Context) QosV3Output
}

type QosV3Map added in v3.7.0

type QosV3Map map[string]QosV3Input

func (QosV3Map) ElementType added in v3.7.0

func (QosV3Map) ElementType() reflect.Type

func (QosV3Map) ToQosV3MapOutput added in v3.7.0

func (i QosV3Map) ToQosV3MapOutput() QosV3MapOutput

func (QosV3Map) ToQosV3MapOutputWithContext added in v3.7.0

func (i QosV3Map) ToQosV3MapOutputWithContext(ctx context.Context) QosV3MapOutput

type QosV3MapInput added in v3.7.0

type QosV3MapInput interface {
	pulumi.Input

	ToQosV3MapOutput() QosV3MapOutput
	ToQosV3MapOutputWithContext(context.Context) QosV3MapOutput
}

QosV3MapInput is an input type that accepts QosV3Map and QosV3MapOutput values. You can construct a concrete instance of `QosV3MapInput` via:

QosV3Map{ "key": QosV3Args{...} }

type QosV3MapOutput added in v3.7.0

type QosV3MapOutput struct{ *pulumi.OutputState }

func (QosV3MapOutput) ElementType added in v3.7.0

func (QosV3MapOutput) ElementType() reflect.Type

func (QosV3MapOutput) MapIndex added in v3.7.0

func (QosV3MapOutput) ToQosV3MapOutput added in v3.7.0

func (o QosV3MapOutput) ToQosV3MapOutput() QosV3MapOutput

func (QosV3MapOutput) ToQosV3MapOutputWithContext added in v3.7.0

func (o QosV3MapOutput) ToQosV3MapOutputWithContext(ctx context.Context) QosV3MapOutput

type QosV3Output added in v3.7.0

type QosV3Output struct{ *pulumi.OutputState }

func (QosV3Output) Consumer added in v3.9.0

func (o QosV3Output) Consumer() pulumi.StringPtrOutput

The consumer of qos. Can be one of `front-end`, `back-end` or `both`. Changing this updates the `consumer` of an existing qos.

func (QosV3Output) ElementType added in v3.7.0

func (QosV3Output) ElementType() reflect.Type

func (QosV3Output) Name added in v3.9.0

func (o QosV3Output) Name() pulumi.StringOutput

Name of the qos. Changing this creates a new qos.

func (QosV3Output) Region added in v3.9.0

func (o QosV3Output) Region() pulumi.StringOutput

The region in which to create the qos. If omitted, the `region` argument of the provider is used. Changing this creates a new qos.

func (QosV3Output) Specs added in v3.9.0

func (o QosV3Output) Specs() pulumi.MapOutput

Key/Value pairs of specs for the qos.

func (QosV3Output) ToQosV3Output added in v3.7.0

func (o QosV3Output) ToQosV3Output() QosV3Output

func (QosV3Output) ToQosV3OutputWithContext added in v3.7.0

func (o QosV3Output) ToQosV3OutputWithContext(ctx context.Context) QosV3Output

type QosV3State added in v3.7.0

type QosV3State struct {
	// The consumer of qos. Can be one of `front-end`,
	// `back-end` or `both`. Changing this updates the `consumer` of an
	// existing qos.
	Consumer pulumi.StringPtrInput
	// Name of the qos.  Changing this creates a new qos.
	Name pulumi.StringPtrInput
	// The region in which to create the qos. If omitted,
	// the `region` argument of the provider is used. Changing this creates
	// a new qos.
	Region pulumi.StringPtrInput
	// Key/Value pairs of specs for the qos.
	Specs pulumi.MapInput
}

func (QosV3State) ElementType added in v3.7.0

func (QosV3State) ElementType() reflect.Type

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/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.Map{
				"volumes_ssd":   pulumi.Any(30),
				"gigabytes_ssd": pulumi.Any(500),
				"snapshots_ssd": pulumi.Any(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## 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

func (*QuoteSetV2) ElementType() reflect.Type

func (*QuoteSetV2) ToQuoteSetV2Output

func (i *QuoteSetV2) ToQuoteSetV2Output() QuoteSetV2Output

func (*QuoteSetV2) ToQuoteSetV2OutputWithContext

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

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

type QuoteSetV2Array []QuoteSetV2Input

func (QuoteSetV2Array) ElementType

func (QuoteSetV2Array) ElementType() reflect.Type

func (QuoteSetV2Array) ToQuoteSetV2ArrayOutput

func (i QuoteSetV2Array) ToQuoteSetV2ArrayOutput() QuoteSetV2ArrayOutput

func (QuoteSetV2Array) ToQuoteSetV2ArrayOutputWithContext

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

type QuoteSetV2ArrayInput

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

type QuoteSetV2ArrayOutput struct{ *pulumi.OutputState }

func (QuoteSetV2ArrayOutput) ElementType

func (QuoteSetV2ArrayOutput) ElementType() reflect.Type

func (QuoteSetV2ArrayOutput) Index

func (QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutput

func (o QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutput() QuoteSetV2ArrayOutput

func (QuoteSetV2ArrayOutput) ToQuoteSetV2ArrayOutputWithContext

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

type QuoteSetV2Input

type QuoteSetV2Input interface {
	pulumi.Input

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

type QuoteSetV2Map

type QuoteSetV2Map map[string]QuoteSetV2Input

func (QuoteSetV2Map) ElementType

func (QuoteSetV2Map) ElementType() reflect.Type

func (QuoteSetV2Map) ToQuoteSetV2MapOutput

func (i QuoteSetV2Map) ToQuoteSetV2MapOutput() QuoteSetV2MapOutput

func (QuoteSetV2Map) ToQuoteSetV2MapOutputWithContext

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

type QuoteSetV2MapInput

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

type QuoteSetV2MapOutput struct{ *pulumi.OutputState }

func (QuoteSetV2MapOutput) ElementType

func (QuoteSetV2MapOutput) ElementType() reflect.Type

func (QuoteSetV2MapOutput) MapIndex

func (QuoteSetV2MapOutput) ToQuoteSetV2MapOutput

func (o QuoteSetV2MapOutput) ToQuoteSetV2MapOutput() QuoteSetV2MapOutput

func (QuoteSetV2MapOutput) ToQuoteSetV2MapOutputWithContext

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

type QuoteSetV2Output

type QuoteSetV2Output struct{ *pulumi.OutputState }

func (QuoteSetV2Output) BackupGigabytes added in v3.9.0

func (o QuoteSetV2Output) BackupGigabytes() pulumi.IntOutput

Quota value for backup gigabytes. Changing this updates the existing quotaset.

func (QuoteSetV2Output) Backups added in v3.9.0

func (o QuoteSetV2Output) Backups() pulumi.IntOutput

Quota value for backups. Changing this updates the existing quotaset.

func (QuoteSetV2Output) ElementType

func (QuoteSetV2Output) ElementType() reflect.Type

func (QuoteSetV2Output) Gigabytes added in v3.9.0

func (o QuoteSetV2Output) Gigabytes() pulumi.IntOutput

Quota value for gigabytes. Changing this updates the existing quotaset.

func (QuoteSetV2Output) Groups added in v3.9.0

func (o QuoteSetV2Output) Groups() pulumi.IntOutput

Quota value for groups. Changing this updates the existing quotaset.

func (QuoteSetV2Output) PerVolumeGigabytes added in v3.9.0

func (o QuoteSetV2Output) PerVolumeGigabytes() pulumi.IntOutput

Quota value for gigabytes per volume . Changing this updates the existing quotaset.

func (QuoteSetV2Output) ProjectId added in v3.9.0

func (o QuoteSetV2Output) ProjectId() pulumi.StringOutput

ID of the project to manage quotas. Changing this creates a new quotaset.

func (QuoteSetV2Output) Region added in v3.9.0

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new quotaset.

func (QuoteSetV2Output) Snapshots added in v3.9.0

func (o QuoteSetV2Output) Snapshots() pulumi.IntOutput

Quota value for snapshots. Changing this updates the existing quotaset.

func (QuoteSetV2Output) ToQuoteSetV2Output

func (o QuoteSetV2Output) ToQuoteSetV2Output() QuoteSetV2Output

func (QuoteSetV2Output) ToQuoteSetV2OutputWithContext

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

func (QuoteSetV2Output) VolumeTypeQuota added in v3.9.0

func (o QuoteSetV2Output) VolumeTypeQuota() pulumi.MapOutput

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>`.

func (QuoteSetV2Output) Volumes added in v3.9.0

func (o QuoteSetV2Output) Volumes() pulumi.IntOutput

Quota value for volumes. Changing this updates the existing quotaset.

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/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.Map{
				"volumes_ssd":   pulumi.Any(30),
				"gigabytes_ssd": pulumi.Any(500),
				"snapshots_ssd": pulumi.Any(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## 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

func (*QuoteSetV3) ElementType() reflect.Type

func (*QuoteSetV3) ToQuoteSetV3Output

func (i *QuoteSetV3) ToQuoteSetV3Output() QuoteSetV3Output

func (*QuoteSetV3) ToQuoteSetV3OutputWithContext

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

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

type QuoteSetV3Array []QuoteSetV3Input

func (QuoteSetV3Array) ElementType

func (QuoteSetV3Array) ElementType() reflect.Type

func (QuoteSetV3Array) ToQuoteSetV3ArrayOutput

func (i QuoteSetV3Array) ToQuoteSetV3ArrayOutput() QuoteSetV3ArrayOutput

func (QuoteSetV3Array) ToQuoteSetV3ArrayOutputWithContext

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

type QuoteSetV3ArrayInput

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

type QuoteSetV3ArrayOutput struct{ *pulumi.OutputState }

func (QuoteSetV3ArrayOutput) ElementType

func (QuoteSetV3ArrayOutput) ElementType() reflect.Type

func (QuoteSetV3ArrayOutput) Index

func (QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutput

func (o QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutput() QuoteSetV3ArrayOutput

func (QuoteSetV3ArrayOutput) ToQuoteSetV3ArrayOutputWithContext

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

type QuoteSetV3Input

type QuoteSetV3Input interface {
	pulumi.Input

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

type QuoteSetV3Map

type QuoteSetV3Map map[string]QuoteSetV3Input

func (QuoteSetV3Map) ElementType

func (QuoteSetV3Map) ElementType() reflect.Type

func (QuoteSetV3Map) ToQuoteSetV3MapOutput

func (i QuoteSetV3Map) ToQuoteSetV3MapOutput() QuoteSetV3MapOutput

func (QuoteSetV3Map) ToQuoteSetV3MapOutputWithContext

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

type QuoteSetV3MapInput

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

type QuoteSetV3MapOutput struct{ *pulumi.OutputState }

func (QuoteSetV3MapOutput) ElementType

func (QuoteSetV3MapOutput) ElementType() reflect.Type

func (QuoteSetV3MapOutput) MapIndex

func (QuoteSetV3MapOutput) ToQuoteSetV3MapOutput

func (o QuoteSetV3MapOutput) ToQuoteSetV3MapOutput() QuoteSetV3MapOutput

func (QuoteSetV3MapOutput) ToQuoteSetV3MapOutputWithContext

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

type QuoteSetV3Output

type QuoteSetV3Output struct{ *pulumi.OutputState }

func (QuoteSetV3Output) BackupGigabytes added in v3.9.0

func (o QuoteSetV3Output) BackupGigabytes() pulumi.IntOutput

Quota value for backup gigabytes. Changing this updates the existing quotaset.

func (QuoteSetV3Output) Backups added in v3.9.0

func (o QuoteSetV3Output) Backups() pulumi.IntOutput

Quota value for backups. Changing this updates the existing quotaset.

func (QuoteSetV3Output) ElementType

func (QuoteSetV3Output) ElementType() reflect.Type

func (QuoteSetV3Output) Gigabytes added in v3.9.0

func (o QuoteSetV3Output) Gigabytes() pulumi.IntOutput

Quota value for gigabytes. Changing this updates the existing quotaset.

func (QuoteSetV3Output) Groups added in v3.9.0

func (o QuoteSetV3Output) Groups() pulumi.IntOutput

Quota value for groups. Changing this updates the existing quotaset.

func (QuoteSetV3Output) PerVolumeGigabytes added in v3.9.0

func (o QuoteSetV3Output) PerVolumeGigabytes() pulumi.IntOutput

Quota value for gigabytes per volume . Changing this updates the existing quotaset.

func (QuoteSetV3Output) ProjectId added in v3.9.0

func (o QuoteSetV3Output) ProjectId() pulumi.StringOutput

ID of the project to manage quotas. Changing this creates a new quotaset.

func (QuoteSetV3Output) Region added in v3.9.0

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new quotaset.

func (QuoteSetV3Output) Snapshots added in v3.9.0

func (o QuoteSetV3Output) Snapshots() pulumi.IntOutput

Quota value for snapshots. Changing this updates the existing quotaset.

func (QuoteSetV3Output) ToQuoteSetV3Output

func (o QuoteSetV3Output) ToQuoteSetV3Output() QuoteSetV3Output

func (QuoteSetV3Output) ToQuoteSetV3OutputWithContext

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

func (QuoteSetV3Output) VolumeTypeQuota added in v3.9.0

func (o QuoteSetV3Output) VolumeTypeQuota() pulumi.MapOutput

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>`.

func (QuoteSetV3Output) Volumes added in v3.9.0

func (o QuoteSetV3Output) Volumes() pulumi.IntOutput

Quota value for volumes. Changing this updates the existing quotaset.

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 backup ID from which to create the volume.
	// Conflicts with `snapshotId`, `sourceVolId`, `imageId`. Changing this
	// creates a new volume. Requires microversion >= 3.47.
	BackupId pulumi.StringPtrOutput `pulumi:"backupId"`
	// 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.
	// Conflicts with `snapshotId`, `sourceVolId`, `backupId`. 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"`
	// (Optional) Allow the volume to be attached to more than one Compute instance.
	//
	// Deprecated: multiattach parameter has been deprecated and removed on Openstack Bobcat. The default behavior is to use multiattach enabled volume types
	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.
	// Conflicts with `sourceVolId`, `imageId`, `backupId`. 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.
	// Conflicts with `snapshotId`, `imageId`, `backupId`. 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` <!--End PulumiCodeChooser -->

## 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

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext

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

type VolumeArgs

type VolumeArgs struct {
	// The availability zone for the volume.
	// Changing this creates a new volume.
	AvailabilityZone pulumi.StringPtrInput
	// The backup ID from which to create the volume.
	// Conflicts with `snapshotId`, `sourceVolId`, `imageId`. Changing this
	// creates a new volume. Requires microversion >= 3.47.
	BackupId 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.
	// Conflicts with `snapshotId`, `sourceVolId`, `backupId`. 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
	// (Optional) Allow the volume to be attached to more than one Compute instance.
	//
	// Deprecated: multiattach parameter has been deprecated and removed on Openstack Bobcat. The default behavior is to use multiattach enabled volume types
	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.
	// Conflicts with `sourceVolId`, `imageId`, `backupId`. 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.
	// Conflicts with `snapshotId`, `imageId`, `backupId`. 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

type VolumeArray []VolumeInput

func (VolumeArray) ElementType

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext

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

type VolumeArrayInput

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

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index

func (VolumeArrayOutput) ToVolumeArrayOutput

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext

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"`
}

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

> **Note:** This resource does not actually attach a volume to an instance. Please use the `compute.VolumeAttach` resource for that.

> **Note:** All arguments including the `data` computed attribute will be stored in the raw state as plain-text. Read more about sensitive data in state.

Creates a general purpose attachment connection to a Block Storage volume using the OpenStack Block Storage (Cinder) v3 API.

Depending on your Block Storage service configuration, this resource can assist in attaching a volume to a non-OpenStack resource such as a bare-metal server or a remote virtual machine in a different cloud provider.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume1, err := blockstorage.NewVolume(ctx, "volume1", &blockstorage.VolumeArgs{
			Size: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = blockstorage.NewVolumeAttach(ctx, "va1", &blockstorage.VolumeAttachArgs{
			VolumeId:  volume1.ID(),
			Device:    pulumi.String("auto"),
			HostName:  pulumi.String("devstack"),
			IpAddress: pulumi.String("192.168.255.10"),
			Initiator: pulumi.String("iqn.1993-08.org.debian:01:e9861fb1859"),
			OsType:    pulumi.String("linux2"),
			Platform:  pulumi.String("x86_64"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

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

func (*VolumeAttach) ElementType() reflect.Type

func (*VolumeAttach) ToVolumeAttachOutput

func (i *VolumeAttach) ToVolumeAttachOutput() VolumeAttachOutput

func (*VolumeAttach) ToVolumeAttachOutputWithContext

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

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

type VolumeAttachArray []VolumeAttachInput

func (VolumeAttachArray) ElementType

func (VolumeAttachArray) ElementType() reflect.Type

func (VolumeAttachArray) ToVolumeAttachArrayOutput

func (i VolumeAttachArray) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArray) ToVolumeAttachArrayOutputWithContext

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

type VolumeAttachArrayInput

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

type VolumeAttachArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachArrayOutput) ElementType

func (VolumeAttachArrayOutput) ElementType() reflect.Type

func (VolumeAttachArrayOutput) Index

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutput

func (o VolumeAttachArrayOutput) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutputWithContext

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

type VolumeAttachInput

type VolumeAttachInput interface {
	pulumi.Input

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

type VolumeAttachMap

type VolumeAttachMap map[string]VolumeAttachInput

func (VolumeAttachMap) ElementType

func (VolumeAttachMap) ElementType() reflect.Type

func (VolumeAttachMap) ToVolumeAttachMapOutput

func (i VolumeAttachMap) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMap) ToVolumeAttachMapOutputWithContext

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

type VolumeAttachMapInput

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

type VolumeAttachMapOutput struct{ *pulumi.OutputState }

func (VolumeAttachMapOutput) ElementType

func (VolumeAttachMapOutput) ElementType() reflect.Type

func (VolumeAttachMapOutput) MapIndex

func (VolumeAttachMapOutput) ToVolumeAttachMapOutput

func (o VolumeAttachMapOutput) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMapOutput) ToVolumeAttachMapOutputWithContext

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

type VolumeAttachOutput

type VolumeAttachOutput struct{ *pulumi.OutputState }

func (VolumeAttachOutput) AttachMode added in v3.9.0

func (o VolumeAttachOutput) AttachMode() pulumi.StringPtrOutput

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`.

func (VolumeAttachOutput) Data added in v3.9.0

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.

func (VolumeAttachOutput) Device added in v3.9.0

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`.

func (VolumeAttachOutput) DriverVolumeType added in v3.9.0

func (o VolumeAttachOutput) DriverVolumeType() pulumi.StringOutput

The storage driver that the volume is based on.

func (VolumeAttachOutput) ElementType

func (VolumeAttachOutput) ElementType() reflect.Type

func (VolumeAttachOutput) HostName added in v3.9.0

func (o VolumeAttachOutput) HostName() pulumi.StringOutput

The host to attach the volume to.

func (VolumeAttachOutput) Initiator added in v3.9.0

The iSCSI initiator string to make the connection.

func (VolumeAttachOutput) IpAddress added in v3.9.0

The IP address of the `hostName` above.

func (VolumeAttachOutput) MountPointBase added in v3.9.0

func (o VolumeAttachOutput) MountPointBase() pulumi.StringOutput

A mount point base name for shared storage.

func (VolumeAttachOutput) Multipath added in v3.9.0

func (o VolumeAttachOutput) Multipath() pulumi.BoolPtrOutput

Whether to connect to this volume via multipath.

func (VolumeAttachOutput) OsType added in v3.9.0

The iSCSI initiator OS type.

func (VolumeAttachOutput) Platform added in v3.9.0

The iSCSI initiator platform.

func (VolumeAttachOutput) Region added in v3.9.0

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.

func (VolumeAttachOutput) ToVolumeAttachOutput

func (o VolumeAttachOutput) ToVolumeAttachOutput() VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachOutputWithContext

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

func (VolumeAttachOutput) VolumeId added in v3.9.0

func (o VolumeAttachOutput) VolumeId() pulumi.StringOutput

The ID of the Volume to attach to an Instance.

func (VolumeAttachOutput) Wwnn added in v3.9.0

A wwnn name. Used for Fibre Channel connections.

func (VolumeAttachOutput) Wwpns added in v3.9.0

An array of wwpn strings. Used for Fibre Channel connections.

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"`
	// Deprecated: instance_id is no longer used in this resource
	InstanceId pulumi.StringPtrOutput `pulumi:"instanceId"`
	// 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"`
}

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

> **Note:** This resource does not actually attach a volume to an instance. Please use the `compute.VolumeAttach` resource for that.

> **Note:** All arguments including the `data` computed attribute will be stored in the raw state as plain-text. Read more about sensitive data in state.

Creates a general purpose attachment connection to a Block Storage volume using the OpenStack Block Storage (Cinder) v2 API.

Depending on your Block Storage service configuration, this resource can assist in attaching a volume to a non-OpenStack resource such as a bare-metal server or a remote virtual machine in a different cloud provider.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume1, err := blockstorage.NewVolumeV2(ctx, "volume1", &blockstorage.VolumeV2Args{
			Size: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = blockstorage.NewVolumeAttachV2(ctx, "va1", &blockstorage.VolumeAttachV2Args{
			VolumeId:  volume1.ID(),
			Device:    pulumi.String("auto"),
			HostName:  pulumi.String("devstack"),
			IpAddress: pulumi.String("192.168.255.10"),
			Initiator: pulumi.String("iqn.1993-08.org.debian:01:e9861fb1859"),
			OsType:    pulumi.String("linux2"),
			Platform:  pulumi.String("x86_64"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

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

func (*VolumeAttachV2) ElementType() reflect.Type

func (*VolumeAttachV2) ToVolumeAttachV2Output

func (i *VolumeAttachV2) ToVolumeAttachV2Output() VolumeAttachV2Output

func (*VolumeAttachV2) ToVolumeAttachV2OutputWithContext

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

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
	// Deprecated: instance_id is no longer used in this resource
	InstanceId 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

type VolumeAttachV2Array []VolumeAttachV2Input

func (VolumeAttachV2Array) ElementType

func (VolumeAttachV2Array) ElementType() reflect.Type

func (VolumeAttachV2Array) ToVolumeAttachV2ArrayOutput

func (i VolumeAttachV2Array) ToVolumeAttachV2ArrayOutput() VolumeAttachV2ArrayOutput

func (VolumeAttachV2Array) ToVolumeAttachV2ArrayOutputWithContext

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

type VolumeAttachV2ArrayInput

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

type VolumeAttachV2ArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachV2ArrayOutput) ElementType

func (VolumeAttachV2ArrayOutput) ElementType() reflect.Type

func (VolumeAttachV2ArrayOutput) Index

func (VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutput

func (o VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutput() VolumeAttachV2ArrayOutput

func (VolumeAttachV2ArrayOutput) ToVolumeAttachV2ArrayOutputWithContext

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

type VolumeAttachV2Input

type VolumeAttachV2Input interface {
	pulumi.Input

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

type VolumeAttachV2Map

type VolumeAttachV2Map map[string]VolumeAttachV2Input

func (VolumeAttachV2Map) ElementType

func (VolumeAttachV2Map) ElementType() reflect.Type

func (VolumeAttachV2Map) ToVolumeAttachV2MapOutput

func (i VolumeAttachV2Map) ToVolumeAttachV2MapOutput() VolumeAttachV2MapOutput

func (VolumeAttachV2Map) ToVolumeAttachV2MapOutputWithContext

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

type VolumeAttachV2MapInput

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

type VolumeAttachV2MapOutput struct{ *pulumi.OutputState }

func (VolumeAttachV2MapOutput) ElementType

func (VolumeAttachV2MapOutput) ElementType() reflect.Type

func (VolumeAttachV2MapOutput) MapIndex

func (VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutput

func (o VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutput() VolumeAttachV2MapOutput

func (VolumeAttachV2MapOutput) ToVolumeAttachV2MapOutputWithContext

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

type VolumeAttachV2Output

type VolumeAttachV2Output struct{ *pulumi.OutputState }

func (VolumeAttachV2Output) AttachMode added in v3.9.0

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`.

func (VolumeAttachV2Output) Data added in v3.9.0

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.

func (VolumeAttachV2Output) Device added in v3.9.0

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`.

func (VolumeAttachV2Output) DriverVolumeType added in v3.9.0

func (o VolumeAttachV2Output) DriverVolumeType() pulumi.StringOutput

The storage driver that the volume is based on.

func (VolumeAttachV2Output) ElementType

func (VolumeAttachV2Output) ElementType() reflect.Type

func (VolumeAttachV2Output) HostName added in v3.9.0

The host to attach the volume to.

func (VolumeAttachV2Output) Initiator added in v3.9.0

The iSCSI initiator string to make the connection.

func (VolumeAttachV2Output) InstanceId deprecated added in v3.9.0

Deprecated: instance_id is no longer used in this resource

func (VolumeAttachV2Output) IpAddress added in v3.9.0

The IP address of the `hostName` above.

func (VolumeAttachV2Output) MountPointBase added in v3.9.0

func (o VolumeAttachV2Output) MountPointBase() pulumi.StringOutput

A mount point base name for shared storage.

func (VolumeAttachV2Output) Multipath added in v3.9.0

Whether to connect to this volume via multipath.

func (VolumeAttachV2Output) OsType added in v3.9.0

The iSCSI initiator OS type.

func (VolumeAttachV2Output) Platform added in v3.9.0

The iSCSI initiator platform.

func (VolumeAttachV2Output) Region added in v3.9.0

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.

func (VolumeAttachV2Output) ToVolumeAttachV2Output

func (o VolumeAttachV2Output) ToVolumeAttachV2Output() VolumeAttachV2Output

func (VolumeAttachV2Output) ToVolumeAttachV2OutputWithContext

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

func (VolumeAttachV2Output) VolumeId added in v3.9.0

The ID of the Volume to attach to an Instance.

func (VolumeAttachV2Output) Wwnn added in v3.9.0

A wwnn name. Used for Fibre Channel connections.

func (VolumeAttachV2Output) Wwpns added in v3.9.0

An array of wwpn strings. Used for Fibre Channel connections.

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
	// Deprecated: instance_id is no longer used in this resource
	InstanceId 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

type VolumeInput interface {
	pulumi.Input

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

type VolumeMap

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext

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

type VolumeMapInput

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

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex

func (VolumeMapOutput) ToVolumeMapOutput

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext

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

type VolumeOutput

type VolumeOutput struct{ *pulumi.OutputState }

func (VolumeOutput) Attachments added in v3.9.0

func (o VolumeOutput) Attachments() VolumeAttachmentArrayOutput

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.

func (VolumeOutput) AvailabilityZone added in v3.9.0

func (o VolumeOutput) AvailabilityZone() pulumi.StringOutput

The availability zone for the volume. Changing this creates a new volume.

func (VolumeOutput) BackupId added in v3.15.0

func (o VolumeOutput) BackupId() pulumi.StringPtrOutput

The backup ID from which to create the volume. Conflicts with `snapshotId`, `sourceVolId`, `imageId`. Changing this creates a new volume. Requires microversion >= 3.47.

func (VolumeOutput) ConsistencyGroupId added in v3.9.0

func (o VolumeOutput) ConsistencyGroupId() pulumi.StringPtrOutput

The consistency group to place the volume in.

func (VolumeOutput) Description added in v3.9.0

func (o VolumeOutput) Description() pulumi.StringPtrOutput

A description of the volume. Changing this updates the volume's description.

func (VolumeOutput) ElementType

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) EnableOnlineResize added in v3.9.0

func (o VolumeOutput) EnableOnlineResize() pulumi.BoolPtrOutput

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.

func (VolumeOutput) ImageId added in v3.9.0

func (o VolumeOutput) ImageId() pulumi.StringPtrOutput

The image ID from which to create the volume. Conflicts with `snapshotId`, `sourceVolId`, `backupId`. Changing this creates a new volume.

func (VolumeOutput) Metadata added in v3.9.0

func (o VolumeOutput) Metadata() pulumi.MapOutput

Metadata key/value pairs to associate with the volume. Changing this updates the existing volume metadata.

func (VolumeOutput) Multiattach deprecated added in v3.9.0

func (o VolumeOutput) Multiattach() pulumi.BoolPtrOutput

(Optional) Allow the volume to be attached to more than one Compute instance.

Deprecated: multiattach parameter has been deprecated and removed on Openstack Bobcat. The default behavior is to use multiattach enabled volume types

func (VolumeOutput) Name added in v3.9.0

func (o VolumeOutput) Name() pulumi.StringOutput

A unique name for the volume. Changing this updates the volume's name.

func (VolumeOutput) Region added in v3.9.0

func (o VolumeOutput) Region() pulumi.StringOutput

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new volume.

func (VolumeOutput) SchedulerHints added in v3.9.0

func (o VolumeOutput) SchedulerHints() VolumeSchedulerHintArrayOutput

Provide the Cinder scheduler with hints on where to instantiate a volume in the OpenStack cloud. The available hints are described below.

func (VolumeOutput) Size added in v3.9.0

func (o VolumeOutput) Size() pulumi.IntOutput

The size of the volume to create (in gigabytes).

func (VolumeOutput) SnapshotId added in v3.9.0

func (o VolumeOutput) SnapshotId() pulumi.StringPtrOutput

The snapshot ID from which to create the volume. Conflicts with `sourceVolId`, `imageId`, `backupId`. Changing this creates a new volume.

func (VolumeOutput) SourceReplica added in v3.9.0

func (o VolumeOutput) SourceReplica() pulumi.StringPtrOutput

The volume ID to replicate with.

func (VolumeOutput) SourceVolId added in v3.9.0

func (o VolumeOutput) SourceVolId() pulumi.StringPtrOutput

The volume ID from which to create the volume. Conflicts with `snapshotId`, `imageId`, `backupId`. Changing this creates a new volume.

func (VolumeOutput) ToVolumeOutput

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext

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

func (VolumeOutput) VolumeType added in v3.9.0

func (o VolumeOutput) VolumeType() pulumi.StringOutput

The type of volume to create. Changing this creates a new volume.

type VolumeSchedulerHint

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

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

func (VolumeSchedulerHintArgs) ElementType() reflect.Type

func (VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutput

func (i VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutput() VolumeSchedulerHintOutput

func (VolumeSchedulerHintArgs) ToVolumeSchedulerHintOutputWithContext

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

type VolumeSchedulerHintArray

type VolumeSchedulerHintArray []VolumeSchedulerHintInput

func (VolumeSchedulerHintArray) ElementType

func (VolumeSchedulerHintArray) ElementType() reflect.Type

func (VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutput

func (i VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutput() VolumeSchedulerHintArrayOutput

func (VolumeSchedulerHintArray) ToVolumeSchedulerHintArrayOutputWithContext

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

type VolumeSchedulerHintArrayInput

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

type VolumeSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (VolumeSchedulerHintArrayOutput) ElementType

func (VolumeSchedulerHintArrayOutput) Index

func (VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutput

func (o VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutput() VolumeSchedulerHintArrayOutput

func (VolumeSchedulerHintArrayOutput) ToVolumeSchedulerHintArrayOutputWithContext

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

type VolumeSchedulerHintInput

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

type VolumeSchedulerHintOutput struct{ *pulumi.OutputState }

func (VolumeSchedulerHintOutput) AdditionalProperties

func (o VolumeSchedulerHintOutput) AdditionalProperties() pulumi.MapOutput

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

func (VolumeSchedulerHintOutput) DifferentHosts

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

func (VolumeSchedulerHintOutput) ElementType

func (VolumeSchedulerHintOutput) ElementType() reflect.Type

func (VolumeSchedulerHintOutput) LocalToInstance

func (o VolumeSchedulerHintOutput) LocalToInstance() pulumi.StringPtrOutput

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

func (VolumeSchedulerHintOutput) Query

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

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

func (o VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutput() VolumeSchedulerHintOutput

func (VolumeSchedulerHintOutput) ToVolumeSchedulerHintOutputWithContext

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 backup ID from which to create the volume.
	// Conflicts with `snapshotId`, `sourceVolId`, `imageId`. Changing this
	// creates a new volume. Requires microversion >= 3.47.
	BackupId 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.
	// Conflicts with `snapshotId`, `sourceVolId`, `backupId`. 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
	// (Optional) Allow the volume to be attached to more than one Compute instance.
	//
	// Deprecated: multiattach parameter has been deprecated and removed on Openstack Bobcat. The default behavior is to use multiattach enabled volume types
	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.
	// Conflicts with `sourceVolId`, `imageId`, `backupId`. 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.
	// Conflicts with `snapshotId`, `imageId`, `backupId`. 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 VolumeTypeAccessV3 added in v3.1.0

type VolumeTypeAccessV3 struct {
	pulumi.CustomResourceState

	// ID of the project to give access to. Changing this
	// creates a new resource.
	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"`
	// ID of the volume type to give access to. Changing
	// this creates a new resource.
	VolumeTypeId pulumi.StringOutput `pulumi:"volumeTypeId"`
}

Manages a V3 block storage volume type access resource within OpenStack.

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

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		volumeType1, err := blockstorage.NewVolumeTypeV3(ctx, "volumeType1", &blockstorage.VolumeTypeV3Args{
			IsPublic: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = blockstorage.NewVolumeTypeAccessV3(ctx, "volumeTypeAccess", &blockstorage.VolumeTypeAccessV3Args{
			ProjectId:    project1.ID(),
			VolumeTypeId: volumeType1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:blockstorage/volumeTypeAccessV3:VolumeTypeAccessV3 volume_type_access 941793f0-0a34-4bc4-b72e-a6326ae58283/ed498e81f0cc448bae0ad4f8f21bf67f ```

func GetVolumeTypeAccessV3 added in v3.1.0

func GetVolumeTypeAccessV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeTypeAccessV3State, opts ...pulumi.ResourceOption) (*VolumeTypeAccessV3, error)

GetVolumeTypeAccessV3 gets an existing VolumeTypeAccessV3 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 NewVolumeTypeAccessV3 added in v3.1.0

func NewVolumeTypeAccessV3(ctx *pulumi.Context,
	name string, args *VolumeTypeAccessV3Args, opts ...pulumi.ResourceOption) (*VolumeTypeAccessV3, error)

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

func (*VolumeTypeAccessV3) ElementType added in v3.1.0

func (*VolumeTypeAccessV3) ElementType() reflect.Type

func (*VolumeTypeAccessV3) ToVolumeTypeAccessV3Output added in v3.1.0

func (i *VolumeTypeAccessV3) ToVolumeTypeAccessV3Output() VolumeTypeAccessV3Output

func (*VolumeTypeAccessV3) ToVolumeTypeAccessV3OutputWithContext added in v3.1.0

func (i *VolumeTypeAccessV3) ToVolumeTypeAccessV3OutputWithContext(ctx context.Context) VolumeTypeAccessV3Output

type VolumeTypeAccessV3Args added in v3.1.0

type VolumeTypeAccessV3Args struct {
	// ID of the project to give access to. Changing this
	// creates a new resource.
	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
	// ID of the volume type to give access to. Changing
	// this creates a new resource.
	VolumeTypeId pulumi.StringInput
}

The set of arguments for constructing a VolumeTypeAccessV3 resource.

func (VolumeTypeAccessV3Args) ElementType added in v3.1.0

func (VolumeTypeAccessV3Args) ElementType() reflect.Type

type VolumeTypeAccessV3Array added in v3.1.0

type VolumeTypeAccessV3Array []VolumeTypeAccessV3Input

func (VolumeTypeAccessV3Array) ElementType added in v3.1.0

func (VolumeTypeAccessV3Array) ElementType() reflect.Type

func (VolumeTypeAccessV3Array) ToVolumeTypeAccessV3ArrayOutput added in v3.1.0

func (i VolumeTypeAccessV3Array) ToVolumeTypeAccessV3ArrayOutput() VolumeTypeAccessV3ArrayOutput

func (VolumeTypeAccessV3Array) ToVolumeTypeAccessV3ArrayOutputWithContext added in v3.1.0

func (i VolumeTypeAccessV3Array) ToVolumeTypeAccessV3ArrayOutputWithContext(ctx context.Context) VolumeTypeAccessV3ArrayOutput

type VolumeTypeAccessV3ArrayInput added in v3.1.0

type VolumeTypeAccessV3ArrayInput interface {
	pulumi.Input

	ToVolumeTypeAccessV3ArrayOutput() VolumeTypeAccessV3ArrayOutput
	ToVolumeTypeAccessV3ArrayOutputWithContext(context.Context) VolumeTypeAccessV3ArrayOutput
}

VolumeTypeAccessV3ArrayInput is an input type that accepts VolumeTypeAccessV3Array and VolumeTypeAccessV3ArrayOutput values. You can construct a concrete instance of `VolumeTypeAccessV3ArrayInput` via:

VolumeTypeAccessV3Array{ VolumeTypeAccessV3Args{...} }

type VolumeTypeAccessV3ArrayOutput added in v3.1.0

type VolumeTypeAccessV3ArrayOutput struct{ *pulumi.OutputState }

func (VolumeTypeAccessV3ArrayOutput) ElementType added in v3.1.0

func (VolumeTypeAccessV3ArrayOutput) Index added in v3.1.0

func (VolumeTypeAccessV3ArrayOutput) ToVolumeTypeAccessV3ArrayOutput added in v3.1.0

func (o VolumeTypeAccessV3ArrayOutput) ToVolumeTypeAccessV3ArrayOutput() VolumeTypeAccessV3ArrayOutput

func (VolumeTypeAccessV3ArrayOutput) ToVolumeTypeAccessV3ArrayOutputWithContext added in v3.1.0

func (o VolumeTypeAccessV3ArrayOutput) ToVolumeTypeAccessV3ArrayOutputWithContext(ctx context.Context) VolumeTypeAccessV3ArrayOutput

type VolumeTypeAccessV3Input added in v3.1.0

type VolumeTypeAccessV3Input interface {
	pulumi.Input

	ToVolumeTypeAccessV3Output() VolumeTypeAccessV3Output
	ToVolumeTypeAccessV3OutputWithContext(ctx context.Context) VolumeTypeAccessV3Output
}

type VolumeTypeAccessV3Map added in v3.1.0

type VolumeTypeAccessV3Map map[string]VolumeTypeAccessV3Input

func (VolumeTypeAccessV3Map) ElementType added in v3.1.0

func (VolumeTypeAccessV3Map) ElementType() reflect.Type

func (VolumeTypeAccessV3Map) ToVolumeTypeAccessV3MapOutput added in v3.1.0

func (i VolumeTypeAccessV3Map) ToVolumeTypeAccessV3MapOutput() VolumeTypeAccessV3MapOutput

func (VolumeTypeAccessV3Map) ToVolumeTypeAccessV3MapOutputWithContext added in v3.1.0

func (i VolumeTypeAccessV3Map) ToVolumeTypeAccessV3MapOutputWithContext(ctx context.Context) VolumeTypeAccessV3MapOutput

type VolumeTypeAccessV3MapInput added in v3.1.0

type VolumeTypeAccessV3MapInput interface {
	pulumi.Input

	ToVolumeTypeAccessV3MapOutput() VolumeTypeAccessV3MapOutput
	ToVolumeTypeAccessV3MapOutputWithContext(context.Context) VolumeTypeAccessV3MapOutput
}

VolumeTypeAccessV3MapInput is an input type that accepts VolumeTypeAccessV3Map and VolumeTypeAccessV3MapOutput values. You can construct a concrete instance of `VolumeTypeAccessV3MapInput` via:

VolumeTypeAccessV3Map{ "key": VolumeTypeAccessV3Args{...} }

type VolumeTypeAccessV3MapOutput added in v3.1.0

type VolumeTypeAccessV3MapOutput struct{ *pulumi.OutputState }

func (VolumeTypeAccessV3MapOutput) ElementType added in v3.1.0

func (VolumeTypeAccessV3MapOutput) MapIndex added in v3.1.0

func (VolumeTypeAccessV3MapOutput) ToVolumeTypeAccessV3MapOutput added in v3.1.0

func (o VolumeTypeAccessV3MapOutput) ToVolumeTypeAccessV3MapOutput() VolumeTypeAccessV3MapOutput

func (VolumeTypeAccessV3MapOutput) ToVolumeTypeAccessV3MapOutputWithContext added in v3.1.0

func (o VolumeTypeAccessV3MapOutput) ToVolumeTypeAccessV3MapOutputWithContext(ctx context.Context) VolumeTypeAccessV3MapOutput

type VolumeTypeAccessV3Output added in v3.1.0

type VolumeTypeAccessV3Output struct{ *pulumi.OutputState }

func (VolumeTypeAccessV3Output) ElementType added in v3.1.0

func (VolumeTypeAccessV3Output) ElementType() reflect.Type

func (VolumeTypeAccessV3Output) ProjectId added in v3.9.0

ID of the project to give access to. Changing this creates a new resource.

func (VolumeTypeAccessV3Output) Region added in v3.9.0

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new quotaset.

func (VolumeTypeAccessV3Output) ToVolumeTypeAccessV3Output added in v3.1.0

func (o VolumeTypeAccessV3Output) ToVolumeTypeAccessV3Output() VolumeTypeAccessV3Output

func (VolumeTypeAccessV3Output) ToVolumeTypeAccessV3OutputWithContext added in v3.1.0

func (o VolumeTypeAccessV3Output) ToVolumeTypeAccessV3OutputWithContext(ctx context.Context) VolumeTypeAccessV3Output

func (VolumeTypeAccessV3Output) VolumeTypeId added in v3.9.0

func (o VolumeTypeAccessV3Output) VolumeTypeId() pulumi.StringOutput

ID of the volume type to give access to. Changing this creates a new resource.

type VolumeTypeAccessV3State added in v3.1.0

type VolumeTypeAccessV3State struct {
	// ID of the project to give access to. Changing this
	// creates a new resource.
	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
	// ID of the volume type to give access to. Changing
	// this creates a new resource.
	VolumeTypeId pulumi.StringPtrInput
}

func (VolumeTypeAccessV3State) ElementType added in v3.1.0

func (VolumeTypeAccessV3State) ElementType() reflect.Type

type VolumeTypeV3

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v3/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.Map{
				"capabilities":        pulumi.Any("gpu"),
				"volume_backend_name": pulumi.Any("ssd"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## 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

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

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

func (*VolumeTypeV3) ElementType() reflect.Type

func (*VolumeTypeV3) ToVolumeTypeV3Output

func (i *VolumeTypeV3) ToVolumeTypeV3Output() VolumeTypeV3Output

func (*VolumeTypeV3) ToVolumeTypeV3OutputWithContext

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

type VolumeTypeV3Args

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

func (VolumeTypeV3Args) ElementType() reflect.Type

type VolumeTypeV3Array

type VolumeTypeV3Array []VolumeTypeV3Input

func (VolumeTypeV3Array) ElementType

func (VolumeTypeV3Array) ElementType() reflect.Type

func (VolumeTypeV3Array) ToVolumeTypeV3ArrayOutput

func (i VolumeTypeV3Array) ToVolumeTypeV3ArrayOutput() VolumeTypeV3ArrayOutput

func (VolumeTypeV3Array) ToVolumeTypeV3ArrayOutputWithContext

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

type VolumeTypeV3ArrayInput

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

type VolumeTypeV3ArrayOutput struct{ *pulumi.OutputState }

func (VolumeTypeV3ArrayOutput) ElementType

func (VolumeTypeV3ArrayOutput) ElementType() reflect.Type

func (VolumeTypeV3ArrayOutput) Index

func (VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutput

func (o VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutput() VolumeTypeV3ArrayOutput

func (VolumeTypeV3ArrayOutput) ToVolumeTypeV3ArrayOutputWithContext

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

type VolumeTypeV3Input

type VolumeTypeV3Input interface {
	pulumi.Input

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

type VolumeTypeV3Map

type VolumeTypeV3Map map[string]VolumeTypeV3Input

func (VolumeTypeV3Map) ElementType

func (VolumeTypeV3Map) ElementType() reflect.Type

func (VolumeTypeV3Map) ToVolumeTypeV3MapOutput

func (i VolumeTypeV3Map) ToVolumeTypeV3MapOutput() VolumeTypeV3MapOutput

func (VolumeTypeV3Map) ToVolumeTypeV3MapOutputWithContext

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

type VolumeTypeV3MapInput

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

type VolumeTypeV3MapOutput struct{ *pulumi.OutputState }

func (VolumeTypeV3MapOutput) ElementType

func (VolumeTypeV3MapOutput) ElementType() reflect.Type

func (VolumeTypeV3MapOutput) MapIndex

func (VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutput

func (o VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutput() VolumeTypeV3MapOutput

func (VolumeTypeV3MapOutput) ToVolumeTypeV3MapOutputWithContext

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

type VolumeTypeV3Output

type VolumeTypeV3Output struct{ *pulumi.OutputState }

func (VolumeTypeV3Output) Description added in v3.9.0

func (o VolumeTypeV3Output) Description() pulumi.StringOutput

Human-readable description of the port. Changing this updates the `description` of an existing volume type.

func (VolumeTypeV3Output) ElementType

func (VolumeTypeV3Output) ElementType() reflect.Type

func (VolumeTypeV3Output) ExtraSpecs added in v3.9.0

func (o VolumeTypeV3Output) ExtraSpecs() pulumi.MapOutput

Key/Value pairs of metadata for the volume type.

func (VolumeTypeV3Output) IsPublic added in v3.9.0

func (o VolumeTypeV3Output) IsPublic() pulumi.BoolOutput

Whether the volume type is public. Changing this updates the `isPublic` of an existing volume type.

func (VolumeTypeV3Output) Name added in v3.9.0

Name of the volume type. Changing this updates the `name` of an existing volume type.

func (VolumeTypeV3Output) Region added in v3.9.0

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new quotaset.

func (VolumeTypeV3Output) ToVolumeTypeV3Output

func (o VolumeTypeV3Output) ToVolumeTypeV3Output() VolumeTypeV3Output

func (VolumeTypeV3Output) ToVolumeTypeV3OutputWithContext

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

type VolumeTypeV3State

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

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` <!--End PulumiCodeChooser -->

## 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

func (*VolumeV1) ElementType() reflect.Type

func (*VolumeV1) ToVolumeV1Output

func (i *VolumeV1) ToVolumeV1Output() VolumeV1Output

func (*VolumeV1) ToVolumeV1OutputWithContext

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

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

type VolumeV1Array []VolumeV1Input

func (VolumeV1Array) ElementType

func (VolumeV1Array) ElementType() reflect.Type

func (VolumeV1Array) ToVolumeV1ArrayOutput

func (i VolumeV1Array) ToVolumeV1ArrayOutput() VolumeV1ArrayOutput

func (VolumeV1Array) ToVolumeV1ArrayOutputWithContext

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

type VolumeV1ArrayInput

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

type VolumeV1ArrayOutput struct{ *pulumi.OutputState }

func (VolumeV1ArrayOutput) ElementType

func (VolumeV1ArrayOutput) ElementType() reflect.Type

func (VolumeV1ArrayOutput) Index

func (VolumeV1ArrayOutput) ToVolumeV1ArrayOutput

func (o VolumeV1ArrayOutput) ToVolumeV1ArrayOutput() VolumeV1ArrayOutput

func (VolumeV1ArrayOutput) ToVolumeV1ArrayOutputWithContext

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

type VolumeV1Input interface {
	pulumi.Input

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

type VolumeV1Map

type VolumeV1Map map[string]VolumeV1Input

func (VolumeV1Map) ElementType

func (VolumeV1Map) ElementType() reflect.Type

func (VolumeV1Map) ToVolumeV1MapOutput

func (i VolumeV1Map) ToVolumeV1MapOutput() VolumeV1MapOutput

func (VolumeV1Map) ToVolumeV1MapOutputWithContext

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

type VolumeV1MapInput

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

type VolumeV1MapOutput struct{ *pulumi.OutputState }

func (VolumeV1MapOutput) ElementType

func (VolumeV1MapOutput) ElementType() reflect.Type

func (VolumeV1MapOutput) MapIndex

func (VolumeV1MapOutput) ToVolumeV1MapOutput

func (o VolumeV1MapOutput) ToVolumeV1MapOutput() VolumeV1MapOutput

func (VolumeV1MapOutput) ToVolumeV1MapOutputWithContext

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

type VolumeV1Output

type VolumeV1Output struct{ *pulumi.OutputState }

func (VolumeV1Output) Attachments added in v3.9.0

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.

func (VolumeV1Output) AvailabilityZone added in v3.9.0

func (o VolumeV1Output) AvailabilityZone() pulumi.StringOutput

The availability zone for the volume. Changing this creates a new volume.

func (VolumeV1Output) Description added in v3.9.0

func (o VolumeV1Output) Description() pulumi.StringPtrOutput

A description of the volume. Changing this updates the volume's description.

func (VolumeV1Output) ElementType

func (VolumeV1Output) ElementType() reflect.Type

func (VolumeV1Output) ImageId added in v3.9.0

The image ID from which to create the volume. Changing this creates a new volume.

func (VolumeV1Output) Metadata added in v3.9.0

func (o VolumeV1Output) Metadata() pulumi.MapOutput

Metadata key/value pairs to associate with the volume. Changing this updates the existing volume metadata.

func (VolumeV1Output) Name added in v3.9.0

A unique name for the volume. Changing this updates the volume's name.

func (VolumeV1Output) Region added in v3.9.0

func (o VolumeV1Output) Region() pulumi.StringOutput

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new volume.

func (VolumeV1Output) Size added in v3.9.0

func (o VolumeV1Output) Size() pulumi.IntOutput

The size of the volume to create (in gigabytes). Changing this creates a new volume.

func (VolumeV1Output) SnapshotId added in v3.9.0

func (o VolumeV1Output) SnapshotId() pulumi.StringPtrOutput

The snapshot ID from which to create the volume. Changing this creates a new volume.

func (VolumeV1Output) SourceVolId added in v3.9.0

func (o VolumeV1Output) SourceVolId() pulumi.StringPtrOutput

The volume ID from which to create the volume. Changing this creates a new volume.

func (VolumeV1Output) ToVolumeV1Output

func (o VolumeV1Output) ToVolumeV1Output() VolumeV1Output

func (VolumeV1Output) ToVolumeV1OutputWithContext

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

func (VolumeV1Output) VolumeType added in v3.9.0

func (o VolumeV1Output) VolumeType() pulumi.StringOutput

The type of volume to create. Changing this creates a new volume.

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/blockstorage"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` <!--End PulumiCodeChooser -->

## 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

func (*VolumeV2) ElementType() reflect.Type

func (*VolumeV2) ToVolumeV2Output

func (i *VolumeV2) ToVolumeV2Output() VolumeV2Output

func (*VolumeV2) ToVolumeV2OutputWithContext

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

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

type VolumeV2Array []VolumeV2Input

func (VolumeV2Array) ElementType

func (VolumeV2Array) ElementType() reflect.Type

func (VolumeV2Array) ToVolumeV2ArrayOutput

func (i VolumeV2Array) ToVolumeV2ArrayOutput() VolumeV2ArrayOutput

func (VolumeV2Array) ToVolumeV2ArrayOutputWithContext

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

type VolumeV2ArrayInput

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

type VolumeV2ArrayOutput struct{ *pulumi.OutputState }

func (VolumeV2ArrayOutput) ElementType

func (VolumeV2ArrayOutput) ElementType() reflect.Type

func (VolumeV2ArrayOutput) Index

func (VolumeV2ArrayOutput) ToVolumeV2ArrayOutput

func (o VolumeV2ArrayOutput) ToVolumeV2ArrayOutput() VolumeV2ArrayOutput

func (VolumeV2ArrayOutput) ToVolumeV2ArrayOutputWithContext

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

type VolumeV2Input interface {
	pulumi.Input

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

type VolumeV2Map

type VolumeV2Map map[string]VolumeV2Input

func (VolumeV2Map) ElementType

func (VolumeV2Map) ElementType() reflect.Type

func (VolumeV2Map) ToVolumeV2MapOutput

func (i VolumeV2Map) ToVolumeV2MapOutput() VolumeV2MapOutput

func (VolumeV2Map) ToVolumeV2MapOutputWithContext

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

type VolumeV2MapInput

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

type VolumeV2MapOutput struct{ *pulumi.OutputState }

func (VolumeV2MapOutput) ElementType

func (VolumeV2MapOutput) ElementType() reflect.Type

func (VolumeV2MapOutput) MapIndex

func (VolumeV2MapOutput) ToVolumeV2MapOutput

func (o VolumeV2MapOutput) ToVolumeV2MapOutput() VolumeV2MapOutput

func (VolumeV2MapOutput) ToVolumeV2MapOutputWithContext

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

type VolumeV2Output

type VolumeV2Output struct{ *pulumi.OutputState }

func (VolumeV2Output) Attachments added in v3.9.0

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.

func (VolumeV2Output) AvailabilityZone added in v3.9.0

func (o VolumeV2Output) AvailabilityZone() pulumi.StringOutput

The availability zone for the volume. Changing this creates a new volume.

func (VolumeV2Output) ConsistencyGroupId added in v3.9.0

func (o VolumeV2Output) ConsistencyGroupId() pulumi.StringPtrOutput

The consistency group to place the volume in.

func (VolumeV2Output) Description added in v3.9.0

func (o VolumeV2Output) Description() pulumi.StringPtrOutput

A description of the volume. Changing this updates the volume's description.

func (VolumeV2Output) ElementType

func (VolumeV2Output) ElementType() reflect.Type

func (VolumeV2Output) ImageId added in v3.9.0

The image ID from which to create the volume. Changing this creates a new volume.

func (VolumeV2Output) Metadata added in v3.9.0

func (o VolumeV2Output) Metadata() pulumi.MapOutput

Metadata key/value pairs to associate with the volume. Changing this updates the existing volume metadata.

func (VolumeV2Output) Name added in v3.9.0

A unique name for the volume. Changing this updates the volume's name.

func (VolumeV2Output) Region added in v3.9.0

func (o VolumeV2Output) Region() pulumi.StringOutput

The region in which to create the volume. If omitted, the `region` argument of the provider is used. Changing this creates a new volume.

func (VolumeV2Output) SchedulerHints added in v3.9.0

Provide the Cinder scheduler with hints on where to instantiate a volume in the OpenStack cloud. The available hints are described below.

func (VolumeV2Output) Size added in v3.9.0

func (o VolumeV2Output) Size() pulumi.IntOutput

The size of the volume to create (in gigabytes). Changing this creates a new volume.

func (VolumeV2Output) SnapshotId added in v3.9.0

func (o VolumeV2Output) SnapshotId() pulumi.StringPtrOutput

The snapshot ID from which to create the volume. Changing this creates a new volume.

func (VolumeV2Output) SourceReplica added in v3.9.0

func (o VolumeV2Output) SourceReplica() pulumi.StringPtrOutput

The volume ID to replicate with.

func (VolumeV2Output) SourceVolId added in v3.9.0

func (o VolumeV2Output) SourceVolId() pulumi.StringPtrOutput

The volume ID from which to create the volume. Changing this creates a new volume.

func (VolumeV2Output) ToVolumeV2Output

func (o VolumeV2Output) ToVolumeV2Output() VolumeV2Output

func (VolumeV2Output) ToVolumeV2OutputWithContext

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

func (VolumeV2Output) VolumeType added in v3.9.0

func (o VolumeV2Output) VolumeType() pulumi.StringOutput

The type of volume to create. Changing this creates a new volume.

type VolumeV2SchedulerHint

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

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

func (VolumeV2SchedulerHintArgs) ElementType() reflect.Type

func (VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutput

func (i VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutput() VolumeV2SchedulerHintOutput

func (VolumeV2SchedulerHintArgs) ToVolumeV2SchedulerHintOutputWithContext

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

type VolumeV2SchedulerHintArray

type VolumeV2SchedulerHintArray []VolumeV2SchedulerHintInput

func (VolumeV2SchedulerHintArray) ElementType

func (VolumeV2SchedulerHintArray) ElementType() reflect.Type

func (VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutput

func (i VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutput() VolumeV2SchedulerHintArrayOutput

func (VolumeV2SchedulerHintArray) ToVolumeV2SchedulerHintArrayOutputWithContext

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

type VolumeV2SchedulerHintArrayInput

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

type VolumeV2SchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (VolumeV2SchedulerHintArrayOutput) ElementType

func (VolumeV2SchedulerHintArrayOutput) Index

func (VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutput

func (o VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutput() VolumeV2SchedulerHintArrayOutput

func (VolumeV2SchedulerHintArrayOutput) ToVolumeV2SchedulerHintArrayOutputWithContext

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

type VolumeV2SchedulerHintInput

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

type VolumeV2SchedulerHintOutput struct{ *pulumi.OutputState }

func (VolumeV2SchedulerHintOutput) AdditionalProperties

func (o VolumeV2SchedulerHintOutput) AdditionalProperties() pulumi.MapOutput

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

func (VolumeV2SchedulerHintOutput) DifferentHosts

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

func (VolumeV2SchedulerHintOutput) ElementType

func (VolumeV2SchedulerHintOutput) LocalToInstance

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

func (VolumeV2SchedulerHintOutput) Query

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

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

func (o VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutput() VolumeV2SchedulerHintOutput

func (VolumeV2SchedulerHintOutput) ToVolumeV2SchedulerHintOutputWithContext

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