compute

package
v4.0.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 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 AggregateV2

type AggregateV2 struct {
	pulumi.CustomResourceState

	// The list of hosts contained in the Host Aggregate. The hosts must be added
	// to Openstack and visible in the web interface, or the provider will fail to add them to the host
	// aggregate.
	Hosts pulumi.StringArrayOutput `pulumi:"hosts"`
	// The metadata of the Host Aggregate. Can be useful to indicate scheduler hints.
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// The name of the Host Aggregate
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the Host Aggregate. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new Host Aggregate.
	Region pulumi.StringOutput `pulumi:"region"`
	// The name of the Availability Zone to use. If ommited, it will take the default
	// availability zone.
	Zone pulumi.StringPtrOutput `pulumi:"zone"`
}

Manages a Host Aggregate within Openstack Nova.

## Example Usage

### Full example

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewAggregateV2(ctx, "dell_servers", &compute.AggregateV2Args{
			Region: pulumi.String("RegionOne"),
			Name:   pulumi.String("dell_servers"),
			Zone:   pulumi.String("nova"),
			Metadata: pulumi.StringMap{
				"cpus": pulumi.String("56"),
			},
			Hosts: pulumi.StringArray{
				pulumi.String("myhost01.example.com"),
				pulumi.String("myhost02.example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Minimum required example

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewAggregateV2(ctx, "test", &compute.AggregateV2Args{
			Name: pulumi.String("test"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

You can import an existing Host Aggregate by their ID.

```sh $ pulumi import openstack:compute/aggregateV2:AggregateV2 myaggregate 24 ```

The ID can be obtained with an openstack command:

$ openstack aggregate list

+----+------+-------------------+

| ID | Name | Availability Zone |

+----+------+-------------------+

| 59 | test | None |

+----+------+-------------------+

func GetAggregateV2

func GetAggregateV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AggregateV2State, opts ...pulumi.ResourceOption) (*AggregateV2, error)

GetAggregateV2 gets an existing AggregateV2 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 NewAggregateV2

func NewAggregateV2(ctx *pulumi.Context,
	name string, args *AggregateV2Args, opts ...pulumi.ResourceOption) (*AggregateV2, error)

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

func (*AggregateV2) ElementType

func (*AggregateV2) ElementType() reflect.Type

func (*AggregateV2) ToAggregateV2Output

func (i *AggregateV2) ToAggregateV2Output() AggregateV2Output

func (*AggregateV2) ToAggregateV2OutputWithContext

func (i *AggregateV2) ToAggregateV2OutputWithContext(ctx context.Context) AggregateV2Output

type AggregateV2Args

type AggregateV2Args struct {
	// The list of hosts contained in the Host Aggregate. The hosts must be added
	// to Openstack and visible in the web interface, or the provider will fail to add them to the host
	// aggregate.
	Hosts pulumi.StringArrayInput
	// The metadata of the Host Aggregate. Can be useful to indicate scheduler hints.
	Metadata pulumi.StringMapInput
	// The name of the Host Aggregate
	Name pulumi.StringPtrInput
	// The region in which to create the Host Aggregate. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new Host Aggregate.
	Region pulumi.StringPtrInput
	// The name of the Availability Zone to use. If ommited, it will take the default
	// availability zone.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a AggregateV2 resource.

func (AggregateV2Args) ElementType

func (AggregateV2Args) ElementType() reflect.Type

type AggregateV2Array

type AggregateV2Array []AggregateV2Input

func (AggregateV2Array) ElementType

func (AggregateV2Array) ElementType() reflect.Type

func (AggregateV2Array) ToAggregateV2ArrayOutput

func (i AggregateV2Array) ToAggregateV2ArrayOutput() AggregateV2ArrayOutput

func (AggregateV2Array) ToAggregateV2ArrayOutputWithContext

func (i AggregateV2Array) ToAggregateV2ArrayOutputWithContext(ctx context.Context) AggregateV2ArrayOutput

type AggregateV2ArrayInput

type AggregateV2ArrayInput interface {
	pulumi.Input

	ToAggregateV2ArrayOutput() AggregateV2ArrayOutput
	ToAggregateV2ArrayOutputWithContext(context.Context) AggregateV2ArrayOutput
}

AggregateV2ArrayInput is an input type that accepts AggregateV2Array and AggregateV2ArrayOutput values. You can construct a concrete instance of `AggregateV2ArrayInput` via:

AggregateV2Array{ AggregateV2Args{...} }

type AggregateV2ArrayOutput

type AggregateV2ArrayOutput struct{ *pulumi.OutputState }

func (AggregateV2ArrayOutput) ElementType

func (AggregateV2ArrayOutput) ElementType() reflect.Type

func (AggregateV2ArrayOutput) Index

func (AggregateV2ArrayOutput) ToAggregateV2ArrayOutput

func (o AggregateV2ArrayOutput) ToAggregateV2ArrayOutput() AggregateV2ArrayOutput

func (AggregateV2ArrayOutput) ToAggregateV2ArrayOutputWithContext

func (o AggregateV2ArrayOutput) ToAggregateV2ArrayOutputWithContext(ctx context.Context) AggregateV2ArrayOutput

type AggregateV2Input

type AggregateV2Input interface {
	pulumi.Input

	ToAggregateV2Output() AggregateV2Output
	ToAggregateV2OutputWithContext(ctx context.Context) AggregateV2Output
}

type AggregateV2Map

type AggregateV2Map map[string]AggregateV2Input

func (AggregateV2Map) ElementType

func (AggregateV2Map) ElementType() reflect.Type

func (AggregateV2Map) ToAggregateV2MapOutput

func (i AggregateV2Map) ToAggregateV2MapOutput() AggregateV2MapOutput

func (AggregateV2Map) ToAggregateV2MapOutputWithContext

func (i AggregateV2Map) ToAggregateV2MapOutputWithContext(ctx context.Context) AggregateV2MapOutput

type AggregateV2MapInput

type AggregateV2MapInput interface {
	pulumi.Input

	ToAggregateV2MapOutput() AggregateV2MapOutput
	ToAggregateV2MapOutputWithContext(context.Context) AggregateV2MapOutput
}

AggregateV2MapInput is an input type that accepts AggregateV2Map and AggregateV2MapOutput values. You can construct a concrete instance of `AggregateV2MapInput` via:

AggregateV2Map{ "key": AggregateV2Args{...} }

type AggregateV2MapOutput

type AggregateV2MapOutput struct{ *pulumi.OutputState }

func (AggregateV2MapOutput) ElementType

func (AggregateV2MapOutput) ElementType() reflect.Type

func (AggregateV2MapOutput) MapIndex

func (AggregateV2MapOutput) ToAggregateV2MapOutput

func (o AggregateV2MapOutput) ToAggregateV2MapOutput() AggregateV2MapOutput

func (AggregateV2MapOutput) ToAggregateV2MapOutputWithContext

func (o AggregateV2MapOutput) ToAggregateV2MapOutputWithContext(ctx context.Context) AggregateV2MapOutput

type AggregateV2Output

type AggregateV2Output struct{ *pulumi.OutputState }

func (AggregateV2Output) ElementType

func (AggregateV2Output) ElementType() reflect.Type

func (AggregateV2Output) Hosts

The list of hosts contained in the Host Aggregate. The hosts must be added to Openstack and visible in the web interface, or the provider will fail to add them to the host aggregate.

func (AggregateV2Output) Metadata

The metadata of the Host Aggregate. Can be useful to indicate scheduler hints.

func (AggregateV2Output) Name

The name of the Host Aggregate

func (AggregateV2Output) Region

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

func (AggregateV2Output) ToAggregateV2Output

func (o AggregateV2Output) ToAggregateV2Output() AggregateV2Output

func (AggregateV2Output) ToAggregateV2OutputWithContext

func (o AggregateV2Output) ToAggregateV2OutputWithContext(ctx context.Context) AggregateV2Output

func (AggregateV2Output) Zone

The name of the Availability Zone to use. If ommited, it will take the default availability zone.

type AggregateV2State

type AggregateV2State struct {
	// The list of hosts contained in the Host Aggregate. The hosts must be added
	// to Openstack and visible in the web interface, or the provider will fail to add them to the host
	// aggregate.
	Hosts pulumi.StringArrayInput
	// The metadata of the Host Aggregate. Can be useful to indicate scheduler hints.
	Metadata pulumi.StringMapInput
	// The name of the Host Aggregate
	Name pulumi.StringPtrInput
	// The region in which to create the Host Aggregate. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new Host Aggregate.
	Region pulumi.StringPtrInput
	// The name of the Availability Zone to use. If ommited, it will take the default
	// availability zone.
	Zone pulumi.StringPtrInput
}

func (AggregateV2State) ElementType

func (AggregateV2State) ElementType() reflect.Type

type Flavor

type Flavor struct {
	pulumi.CustomResourceState

	// The description of the flavor. Changing this
	// updates the description of the flavor. Requires microversion >= 2.55.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The amount of disk space in GiB to use for the root
	// (/) partition. Changing this creates a new flavor.
	Disk pulumi.IntOutput `pulumi:"disk"`
	// The amount of ephemeral in GiB. If unspecified,
	// the default is 0. Changing this creates a new flavor.
	Ephemeral pulumi.IntPtrOutput `pulumi:"ephemeral"`
	// Key/Value pairs of metadata for the flavor.
	ExtraSpecs pulumi.MapOutput `pulumi:"extraSpecs"`
	// Unique ID (integer or UUID) of flavor to create. Changing
	// this creates a new flavor.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// Whether the flavor is public. Changing this creates
	// a new flavor.
	IsPublic pulumi.BoolPtrOutput `pulumi:"isPublic"`
	// A unique name for the flavor. Changing this creates a new
	// flavor.
	Name pulumi.StringOutput `pulumi:"name"`
	// The amount of RAM to use, in megabytes. Changing this
	// creates a new flavor.
	Ram pulumi.IntOutput `pulumi:"ram"`
	// The region in which to obtain the V2 Compute client.
	// Flavors are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor.
	Region pulumi.StringOutput `pulumi:"region"`
	// RX/TX bandwith factor. The default is 1. Changing
	// this creates a new flavor.
	RxTxFactor pulumi.Float64PtrOutput `pulumi:"rxTxFactor"`
	// The amount of disk space in megabytes to use. If
	// unspecified, the default is 0. Changing this creates a new flavor.
	Swap pulumi.IntPtrOutput `pulumi:"swap"`
	// The number of virtual CPUs to use. Changing this creates
	// a new flavor.
	Vcpus pulumi.IntOutput `pulumi:"vcpus"`
}

Manages a V2 flavor resource within OpenStack.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewFlavor(ctx, "test-flavor", &compute.FlavorArgs{
			Name:  pulumi.String("my-flavor"),
			Ram:   pulumi.Int(8096),
			Vcpus: pulumi.Int(2),
			Disk:  pulumi.Int(20),
			ExtraSpecs: pulumi.Map{
				"hw:cpu_policy":        pulumi.Any("CPU-POLICY"),
				"hw:cpu_thread_policy": pulumi.Any("CPU-THREAD-POLICY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Flavors can be imported using the `ID`, e.g.

```sh $ pulumi import openstack:compute/flavor:Flavor my-flavor 4142e64b-1b35-44a0-9b1e-5affc7af1106 ```

func GetFlavor

func GetFlavor(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlavorState, opts ...pulumi.ResourceOption) (*Flavor, error)

GetFlavor gets an existing Flavor 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 NewFlavor

func NewFlavor(ctx *pulumi.Context,
	name string, args *FlavorArgs, opts ...pulumi.ResourceOption) (*Flavor, error)

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

func (*Flavor) ElementType

func (*Flavor) ElementType() reflect.Type

func (*Flavor) ToFlavorOutput

func (i *Flavor) ToFlavorOutput() FlavorOutput

func (*Flavor) ToFlavorOutputWithContext

func (i *Flavor) ToFlavorOutputWithContext(ctx context.Context) FlavorOutput

type FlavorAccess

type FlavorAccess struct {
	pulumi.CustomResourceState

	// The UUID of flavor to use. Changing this creates a new flavor access.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor access.
	Region pulumi.StringOutput `pulumi:"region"`
	// The UUID of tenant which is allowed to use the flavor.
	// Changing this creates a new flavor access.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a project access for flavor V2 resource within OpenStack.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

***

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/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, "project_1", &identity.ProjectArgs{
			Name: pulumi.String("my-project"),
		})
		if err != nil {
			return err
		}
		flavor1, err := compute.NewFlavor(ctx, "flavor_1", &compute.FlavorArgs{
			Name:     pulumi.String("my-flavor"),
			Ram:      pulumi.Int(8096),
			Vcpus:    pulumi.Int(2),
			Disk:     pulumi.Int(20),
			IsPublic: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewFlavorAccess(ctx, "access_1", &compute.FlavorAccessArgs{
			TenantId: project1.ID(),
			FlavorId: flavor1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported by specifying all two arguments, separated by a forward slash:

```sh $ pulumi import openstack:compute/flavorAccess:FlavorAccess access_1 flavor_id/tenant_id ```

func GetFlavorAccess

func GetFlavorAccess(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlavorAccessState, opts ...pulumi.ResourceOption) (*FlavorAccess, error)

GetFlavorAccess gets an existing FlavorAccess 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 NewFlavorAccess

func NewFlavorAccess(ctx *pulumi.Context,
	name string, args *FlavorAccessArgs, opts ...pulumi.ResourceOption) (*FlavorAccess, error)

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

func (*FlavorAccess) ElementType

func (*FlavorAccess) ElementType() reflect.Type

func (*FlavorAccess) ToFlavorAccessOutput

func (i *FlavorAccess) ToFlavorAccessOutput() FlavorAccessOutput

func (*FlavorAccess) ToFlavorAccessOutputWithContext

func (i *FlavorAccess) ToFlavorAccessOutputWithContext(ctx context.Context) FlavorAccessOutput

type FlavorAccessArgs

type FlavorAccessArgs struct {
	// The UUID of flavor to use. Changing this creates a new flavor access.
	FlavorId pulumi.StringInput
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor access.
	Region pulumi.StringPtrInput
	// The UUID of tenant which is allowed to use the flavor.
	// Changing this creates a new flavor access.
	TenantId pulumi.StringInput
}

The set of arguments for constructing a FlavorAccess resource.

func (FlavorAccessArgs) ElementType

func (FlavorAccessArgs) ElementType() reflect.Type

type FlavorAccessArray

type FlavorAccessArray []FlavorAccessInput

func (FlavorAccessArray) ElementType

func (FlavorAccessArray) ElementType() reflect.Type

func (FlavorAccessArray) ToFlavorAccessArrayOutput

func (i FlavorAccessArray) ToFlavorAccessArrayOutput() FlavorAccessArrayOutput

func (FlavorAccessArray) ToFlavorAccessArrayOutputWithContext

func (i FlavorAccessArray) ToFlavorAccessArrayOutputWithContext(ctx context.Context) FlavorAccessArrayOutput

type FlavorAccessArrayInput

type FlavorAccessArrayInput interface {
	pulumi.Input

	ToFlavorAccessArrayOutput() FlavorAccessArrayOutput
	ToFlavorAccessArrayOutputWithContext(context.Context) FlavorAccessArrayOutput
}

FlavorAccessArrayInput is an input type that accepts FlavorAccessArray and FlavorAccessArrayOutput values. You can construct a concrete instance of `FlavorAccessArrayInput` via:

FlavorAccessArray{ FlavorAccessArgs{...} }

type FlavorAccessArrayOutput

type FlavorAccessArrayOutput struct{ *pulumi.OutputState }

func (FlavorAccessArrayOutput) ElementType

func (FlavorAccessArrayOutput) ElementType() reflect.Type

func (FlavorAccessArrayOutput) Index

func (FlavorAccessArrayOutput) ToFlavorAccessArrayOutput

func (o FlavorAccessArrayOutput) ToFlavorAccessArrayOutput() FlavorAccessArrayOutput

func (FlavorAccessArrayOutput) ToFlavorAccessArrayOutputWithContext

func (o FlavorAccessArrayOutput) ToFlavorAccessArrayOutputWithContext(ctx context.Context) FlavorAccessArrayOutput

type FlavorAccessInput

type FlavorAccessInput interface {
	pulumi.Input

	ToFlavorAccessOutput() FlavorAccessOutput
	ToFlavorAccessOutputWithContext(ctx context.Context) FlavorAccessOutput
}

type FlavorAccessMap

type FlavorAccessMap map[string]FlavorAccessInput

func (FlavorAccessMap) ElementType

func (FlavorAccessMap) ElementType() reflect.Type

func (FlavorAccessMap) ToFlavorAccessMapOutput

func (i FlavorAccessMap) ToFlavorAccessMapOutput() FlavorAccessMapOutput

func (FlavorAccessMap) ToFlavorAccessMapOutputWithContext

func (i FlavorAccessMap) ToFlavorAccessMapOutputWithContext(ctx context.Context) FlavorAccessMapOutput

type FlavorAccessMapInput

type FlavorAccessMapInput interface {
	pulumi.Input

	ToFlavorAccessMapOutput() FlavorAccessMapOutput
	ToFlavorAccessMapOutputWithContext(context.Context) FlavorAccessMapOutput
}

FlavorAccessMapInput is an input type that accepts FlavorAccessMap and FlavorAccessMapOutput values. You can construct a concrete instance of `FlavorAccessMapInput` via:

FlavorAccessMap{ "key": FlavorAccessArgs{...} }

type FlavorAccessMapOutput

type FlavorAccessMapOutput struct{ *pulumi.OutputState }

func (FlavorAccessMapOutput) ElementType

func (FlavorAccessMapOutput) ElementType() reflect.Type

func (FlavorAccessMapOutput) MapIndex

func (FlavorAccessMapOutput) ToFlavorAccessMapOutput

func (o FlavorAccessMapOutput) ToFlavorAccessMapOutput() FlavorAccessMapOutput

func (FlavorAccessMapOutput) ToFlavorAccessMapOutputWithContext

func (o FlavorAccessMapOutput) ToFlavorAccessMapOutputWithContext(ctx context.Context) FlavorAccessMapOutput

type FlavorAccessOutput

type FlavorAccessOutput struct{ *pulumi.OutputState }

func (FlavorAccessOutput) ElementType

func (FlavorAccessOutput) ElementType() reflect.Type

func (FlavorAccessOutput) FlavorId

func (o FlavorAccessOutput) FlavorId() pulumi.StringOutput

The UUID of flavor to use. Changing this creates a new flavor access.

func (FlavorAccessOutput) Region

The region in which to obtain the V2 Compute client. If omitted, the `region` argument of the provider is used. Changing this creates a new flavor access.

func (FlavorAccessOutput) TenantId

func (o FlavorAccessOutput) TenantId() pulumi.StringOutput

The UUID of tenant which is allowed to use the flavor. Changing this creates a new flavor access.

func (FlavorAccessOutput) ToFlavorAccessOutput

func (o FlavorAccessOutput) ToFlavorAccessOutput() FlavorAccessOutput

func (FlavorAccessOutput) ToFlavorAccessOutputWithContext

func (o FlavorAccessOutput) ToFlavorAccessOutputWithContext(ctx context.Context) FlavorAccessOutput

type FlavorAccessState

type FlavorAccessState struct {
	// The UUID of flavor to use. Changing this creates a new flavor access.
	FlavorId pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor access.
	Region pulumi.StringPtrInput
	// The UUID of tenant which is allowed to use the flavor.
	// Changing this creates a new flavor access.
	TenantId pulumi.StringPtrInput
}

func (FlavorAccessState) ElementType

func (FlavorAccessState) ElementType() reflect.Type

type FlavorArgs

type FlavorArgs struct {
	// The description of the flavor. Changing this
	// updates the description of the flavor. Requires microversion >= 2.55.
	Description pulumi.StringPtrInput
	// The amount of disk space in GiB to use for the root
	// (/) partition. Changing this creates a new flavor.
	Disk pulumi.IntInput
	// The amount of ephemeral in GiB. If unspecified,
	// the default is 0. Changing this creates a new flavor.
	Ephemeral pulumi.IntPtrInput
	// Key/Value pairs of metadata for the flavor.
	ExtraSpecs pulumi.MapInput
	// Unique ID (integer or UUID) of flavor to create. Changing
	// this creates a new flavor.
	FlavorId pulumi.StringPtrInput
	// Whether the flavor is public. Changing this creates
	// a new flavor.
	IsPublic pulumi.BoolPtrInput
	// A unique name for the flavor. Changing this creates a new
	// flavor.
	Name pulumi.StringPtrInput
	// The amount of RAM to use, in megabytes. Changing this
	// creates a new flavor.
	Ram pulumi.IntInput
	// The region in which to obtain the V2 Compute client.
	// Flavors are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor.
	Region pulumi.StringPtrInput
	// RX/TX bandwith factor. The default is 1. Changing
	// this creates a new flavor.
	RxTxFactor pulumi.Float64PtrInput
	// The amount of disk space in megabytes to use. If
	// unspecified, the default is 0. Changing this creates a new flavor.
	Swap pulumi.IntPtrInput
	// The number of virtual CPUs to use. Changing this creates
	// a new flavor.
	Vcpus pulumi.IntInput
}

The set of arguments for constructing a Flavor resource.

func (FlavorArgs) ElementType

func (FlavorArgs) ElementType() reflect.Type

type FlavorArray

type FlavorArray []FlavorInput

func (FlavorArray) ElementType

func (FlavorArray) ElementType() reflect.Type

func (FlavorArray) ToFlavorArrayOutput

func (i FlavorArray) ToFlavorArrayOutput() FlavorArrayOutput

func (FlavorArray) ToFlavorArrayOutputWithContext

func (i FlavorArray) ToFlavorArrayOutputWithContext(ctx context.Context) FlavorArrayOutput

type FlavorArrayInput

type FlavorArrayInput interface {
	pulumi.Input

	ToFlavorArrayOutput() FlavorArrayOutput
	ToFlavorArrayOutputWithContext(context.Context) FlavorArrayOutput
}

FlavorArrayInput is an input type that accepts FlavorArray and FlavorArrayOutput values. You can construct a concrete instance of `FlavorArrayInput` via:

FlavorArray{ FlavorArgs{...} }

type FlavorArrayOutput

type FlavorArrayOutput struct{ *pulumi.OutputState }

func (FlavorArrayOutput) ElementType

func (FlavorArrayOutput) ElementType() reflect.Type

func (FlavorArrayOutput) Index

func (FlavorArrayOutput) ToFlavorArrayOutput

func (o FlavorArrayOutput) ToFlavorArrayOutput() FlavorArrayOutput

func (FlavorArrayOutput) ToFlavorArrayOutputWithContext

func (o FlavorArrayOutput) ToFlavorArrayOutputWithContext(ctx context.Context) FlavorArrayOutput

type FlavorInput

type FlavorInput interface {
	pulumi.Input

	ToFlavorOutput() FlavorOutput
	ToFlavorOutputWithContext(ctx context.Context) FlavorOutput
}

type FlavorMap

type FlavorMap map[string]FlavorInput

func (FlavorMap) ElementType

func (FlavorMap) ElementType() reflect.Type

func (FlavorMap) ToFlavorMapOutput

func (i FlavorMap) ToFlavorMapOutput() FlavorMapOutput

func (FlavorMap) ToFlavorMapOutputWithContext

func (i FlavorMap) ToFlavorMapOutputWithContext(ctx context.Context) FlavorMapOutput

type FlavorMapInput

type FlavorMapInput interface {
	pulumi.Input

	ToFlavorMapOutput() FlavorMapOutput
	ToFlavorMapOutputWithContext(context.Context) FlavorMapOutput
}

FlavorMapInput is an input type that accepts FlavorMap and FlavorMapOutput values. You can construct a concrete instance of `FlavorMapInput` via:

FlavorMap{ "key": FlavorArgs{...} }

type FlavorMapOutput

type FlavorMapOutput struct{ *pulumi.OutputState }

func (FlavorMapOutput) ElementType

func (FlavorMapOutput) ElementType() reflect.Type

func (FlavorMapOutput) MapIndex

func (FlavorMapOutput) ToFlavorMapOutput

func (o FlavorMapOutput) ToFlavorMapOutput() FlavorMapOutput

func (FlavorMapOutput) ToFlavorMapOutputWithContext

func (o FlavorMapOutput) ToFlavorMapOutputWithContext(ctx context.Context) FlavorMapOutput

type FlavorOutput

type FlavorOutput struct{ *pulumi.OutputState }

func (FlavorOutput) Description

func (o FlavorOutput) Description() pulumi.StringPtrOutput

The description of the flavor. Changing this updates the description of the flavor. Requires microversion >= 2.55.

func (FlavorOutput) Disk

func (o FlavorOutput) Disk() pulumi.IntOutput

The amount of disk space in GiB to use for the root (/) partition. Changing this creates a new flavor.

func (FlavorOutput) ElementType

func (FlavorOutput) ElementType() reflect.Type

func (FlavorOutput) Ephemeral

func (o FlavorOutput) Ephemeral() pulumi.IntPtrOutput

The amount of ephemeral in GiB. If unspecified, the default is 0. Changing this creates a new flavor.

func (FlavorOutput) ExtraSpecs

func (o FlavorOutput) ExtraSpecs() pulumi.MapOutput

Key/Value pairs of metadata for the flavor.

func (FlavorOutput) FlavorId

func (o FlavorOutput) FlavorId() pulumi.StringOutput

Unique ID (integer or UUID) of flavor to create. Changing this creates a new flavor.

func (FlavorOutput) IsPublic

func (o FlavorOutput) IsPublic() pulumi.BoolPtrOutput

Whether the flavor is public. Changing this creates a new flavor.

func (FlavorOutput) Name

func (o FlavorOutput) Name() pulumi.StringOutput

A unique name for the flavor. Changing this creates a new flavor.

func (FlavorOutput) Ram

func (o FlavorOutput) Ram() pulumi.IntOutput

The amount of RAM to use, in megabytes. Changing this creates a new flavor.

func (FlavorOutput) Region

func (o FlavorOutput) Region() pulumi.StringOutput

The region in which to obtain the V2 Compute client. Flavors are associated with accounts, but a Compute client is needed to create one. If omitted, the `region` argument of the provider is used. Changing this creates a new flavor.

func (FlavorOutput) RxTxFactor

func (o FlavorOutput) RxTxFactor() pulumi.Float64PtrOutput

RX/TX bandwith factor. The default is 1. Changing this creates a new flavor.

func (FlavorOutput) Swap

func (o FlavorOutput) Swap() pulumi.IntPtrOutput

The amount of disk space in megabytes to use. If unspecified, the default is 0. Changing this creates a new flavor.

func (FlavorOutput) ToFlavorOutput

func (o FlavorOutput) ToFlavorOutput() FlavorOutput

func (FlavorOutput) ToFlavorOutputWithContext

func (o FlavorOutput) ToFlavorOutputWithContext(ctx context.Context) FlavorOutput

func (FlavorOutput) Vcpus

func (o FlavorOutput) Vcpus() pulumi.IntOutput

The number of virtual CPUs to use. Changing this creates a new flavor.

type FlavorState

type FlavorState struct {
	// The description of the flavor. Changing this
	// updates the description of the flavor. Requires microversion >= 2.55.
	Description pulumi.StringPtrInput
	// The amount of disk space in GiB to use for the root
	// (/) partition. Changing this creates a new flavor.
	Disk pulumi.IntPtrInput
	// The amount of ephemeral in GiB. If unspecified,
	// the default is 0. Changing this creates a new flavor.
	Ephemeral pulumi.IntPtrInput
	// Key/Value pairs of metadata for the flavor.
	ExtraSpecs pulumi.MapInput
	// Unique ID (integer or UUID) of flavor to create. Changing
	// this creates a new flavor.
	FlavorId pulumi.StringPtrInput
	// Whether the flavor is public. Changing this creates
	// a new flavor.
	IsPublic pulumi.BoolPtrInput
	// A unique name for the flavor. Changing this creates a new
	// flavor.
	Name pulumi.StringPtrInput
	// The amount of RAM to use, in megabytes. Changing this
	// creates a new flavor.
	Ram pulumi.IntPtrInput
	// The region in which to obtain the V2 Compute client.
	// Flavors are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new flavor.
	Region pulumi.StringPtrInput
	// RX/TX bandwith factor. The default is 1. Changing
	// this creates a new flavor.
	RxTxFactor pulumi.Float64PtrInput
	// The amount of disk space in megabytes to use. If
	// unspecified, the default is 0. Changing this creates a new flavor.
	Swap pulumi.IntPtrInput
	// The number of virtual CPUs to use. Changing this creates
	// a new flavor.
	Vcpus pulumi.IntPtrInput
}

func (FlavorState) ElementType

func (FlavorState) ElementType() reflect.Type

type FloatingIp

type FloatingIp struct {
	pulumi.CustomResourceState

	// The actual floating IP address itself.
	Address pulumi.StringOutput `pulumi:"address"`
	// The fixed IP address corresponding to the floating IP.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// UUID of the compute instance associated with the floating IP.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringOutput `pulumi:"pool"`
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a floating IP that can be used with
	// a compute instance. If omitted, the `region` argument of the provider
	// is used. Changing this creates a new floating IP (which may or may not
	// have a different address).
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 floating IP resource within OpenStack Nova (compute) that can be used for compute instances.

Please note that managing floating IPs through the OpenStack Compute API has been deprecated. Unless you are using an older OpenStack environment, it is recommended to use the `networking.FloatingIp` resource instead, which uses the OpenStack Networking API.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewFloatingIp(ctx, "floatip_1", &compute.FloatingIpArgs{
			Pool: pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Floating IPs can be imported using the `id`, e.g.

```sh $ pulumi import openstack:compute/floatingIp:FloatingIp floatip_1 89c60255-9bd6-460c-822a-e2b959ede9d2 ```

func GetFloatingIp

func GetFloatingIp(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FloatingIpState, opts ...pulumi.ResourceOption) (*FloatingIp, error)

GetFloatingIp gets an existing FloatingIp 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 NewFloatingIp

func NewFloatingIp(ctx *pulumi.Context,
	name string, args *FloatingIpArgs, opts ...pulumi.ResourceOption) (*FloatingIp, error)

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

func (*FloatingIp) ElementType

func (*FloatingIp) ElementType() reflect.Type

func (*FloatingIp) ToFloatingIpOutput

func (i *FloatingIp) ToFloatingIpOutput() FloatingIpOutput

func (*FloatingIp) ToFloatingIpOutputWithContext

func (i *FloatingIp) ToFloatingIpOutputWithContext(ctx context.Context) FloatingIpOutput

type FloatingIpArgs

type FloatingIpArgs struct {
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringInput
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a floating IP that can be used with
	// a compute instance. If omitted, the `region` argument of the provider
	// is used. Changing this creates a new floating IP (which may or may not
	// have a different address).
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a FloatingIp resource.

func (FloatingIpArgs) ElementType

func (FloatingIpArgs) ElementType() reflect.Type

type FloatingIpArray

type FloatingIpArray []FloatingIpInput

func (FloatingIpArray) ElementType

func (FloatingIpArray) ElementType() reflect.Type

func (FloatingIpArray) ToFloatingIpArrayOutput

func (i FloatingIpArray) ToFloatingIpArrayOutput() FloatingIpArrayOutput

func (FloatingIpArray) ToFloatingIpArrayOutputWithContext

func (i FloatingIpArray) ToFloatingIpArrayOutputWithContext(ctx context.Context) FloatingIpArrayOutput

type FloatingIpArrayInput

type FloatingIpArrayInput interface {
	pulumi.Input

	ToFloatingIpArrayOutput() FloatingIpArrayOutput
	ToFloatingIpArrayOutputWithContext(context.Context) FloatingIpArrayOutput
}

FloatingIpArrayInput is an input type that accepts FloatingIpArray and FloatingIpArrayOutput values. You can construct a concrete instance of `FloatingIpArrayInput` via:

FloatingIpArray{ FloatingIpArgs{...} }

type FloatingIpArrayOutput

type FloatingIpArrayOutput struct{ *pulumi.OutputState }

func (FloatingIpArrayOutput) ElementType

func (FloatingIpArrayOutput) ElementType() reflect.Type

func (FloatingIpArrayOutput) Index

func (FloatingIpArrayOutput) ToFloatingIpArrayOutput

func (o FloatingIpArrayOutput) ToFloatingIpArrayOutput() FloatingIpArrayOutput

func (FloatingIpArrayOutput) ToFloatingIpArrayOutputWithContext

func (o FloatingIpArrayOutput) ToFloatingIpArrayOutputWithContext(ctx context.Context) FloatingIpArrayOutput

type FloatingIpAssociate

type FloatingIpAssociate struct {
	pulumi.CustomResourceState

	// The specific IP address to direct traffic to.
	FixedIp pulumi.StringPtrOutput `pulumi:"fixedIp"`
	// The floating IP to associate.
	FloatingIp pulumi.StringOutput `pulumi:"floatingIp"`
	// The instance to associte the floating IP with.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new floatingip_associate.
	Region              pulumi.StringOutput  `pulumi:"region"`
	WaitUntilAssociated pulumi.BoolPtrOutput `pulumi:"waitUntilAssociated"`
}

Associate a floating IP to an instance.

## Example Usage

### Automatically detect the correct network

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name:     pulumi.String("instance_1"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		fip1, err := networking.NewFloatingIp(ctx, "fip_1", &networking.FloatingIpArgs{
			Pool: pulumi.String("my_pool"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewFloatingIpAssociate(ctx, "fip_1", &compute.FloatingIpAssociateArgs{
			FloatingIp: fip1.Address,
			InstanceId: instance1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Explicitly set the network to attach to

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name:     pulumi.String("instance_1"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Name: pulumi.String("my_network"),
				},
				&compute.InstanceNetworkArgs{
					Name: pulumi.String("default"),
				},
			},
		})
		if err != nil {
			return err
		}
		fip1, err := networking.NewFloatingIp(ctx, "fip_1", &networking.FloatingIpArgs{
			Pool: pulumi.String("my_pool"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewFloatingIpAssociate(ctx, "fip_1", &compute.FloatingIpAssociateArgs{
			FloatingIp: fip1.Address,
			InstanceId: instance1.ID(),
			FixedIp: instance1.Networks.ApplyT(func(networks []compute.InstanceNetwork) (*string, error) {
				return &networks[1].FixedIpV4, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource can be imported by specifying all three arguments, separated by a forward slash:

```sh $ pulumi import openstack:compute/floatingIpAssociate:FloatingIpAssociate fip_1 floating_ip/instance_id/fixed_ip ```

func GetFloatingIpAssociate

func GetFloatingIpAssociate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FloatingIpAssociateState, opts ...pulumi.ResourceOption) (*FloatingIpAssociate, error)

GetFloatingIpAssociate gets an existing FloatingIpAssociate 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 NewFloatingIpAssociate

func NewFloatingIpAssociate(ctx *pulumi.Context,
	name string, args *FloatingIpAssociateArgs, opts ...pulumi.ResourceOption) (*FloatingIpAssociate, error)

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

func (*FloatingIpAssociate) ElementType

func (*FloatingIpAssociate) ElementType() reflect.Type

func (*FloatingIpAssociate) ToFloatingIpAssociateOutput

func (i *FloatingIpAssociate) ToFloatingIpAssociateOutput() FloatingIpAssociateOutput

func (*FloatingIpAssociate) ToFloatingIpAssociateOutputWithContext

func (i *FloatingIpAssociate) ToFloatingIpAssociateOutputWithContext(ctx context.Context) FloatingIpAssociateOutput

type FloatingIpAssociateArgs

type FloatingIpAssociateArgs struct {
	// The specific IP address to direct traffic to.
	FixedIp pulumi.StringPtrInput
	// The floating IP to associate.
	FloatingIp pulumi.StringInput
	// The instance to associte the floating IP with.
	InstanceId pulumi.StringInput
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new floatingip_associate.
	Region              pulumi.StringPtrInput
	WaitUntilAssociated pulumi.BoolPtrInput
}

The set of arguments for constructing a FloatingIpAssociate resource.

func (FloatingIpAssociateArgs) ElementType

func (FloatingIpAssociateArgs) ElementType() reflect.Type

type FloatingIpAssociateArray

type FloatingIpAssociateArray []FloatingIpAssociateInput

func (FloatingIpAssociateArray) ElementType

func (FloatingIpAssociateArray) ElementType() reflect.Type

func (FloatingIpAssociateArray) ToFloatingIpAssociateArrayOutput

func (i FloatingIpAssociateArray) ToFloatingIpAssociateArrayOutput() FloatingIpAssociateArrayOutput

func (FloatingIpAssociateArray) ToFloatingIpAssociateArrayOutputWithContext

func (i FloatingIpAssociateArray) ToFloatingIpAssociateArrayOutputWithContext(ctx context.Context) FloatingIpAssociateArrayOutput

type FloatingIpAssociateArrayInput

type FloatingIpAssociateArrayInput interface {
	pulumi.Input

	ToFloatingIpAssociateArrayOutput() FloatingIpAssociateArrayOutput
	ToFloatingIpAssociateArrayOutputWithContext(context.Context) FloatingIpAssociateArrayOutput
}

FloatingIpAssociateArrayInput is an input type that accepts FloatingIpAssociateArray and FloatingIpAssociateArrayOutput values. You can construct a concrete instance of `FloatingIpAssociateArrayInput` via:

FloatingIpAssociateArray{ FloatingIpAssociateArgs{...} }

type FloatingIpAssociateArrayOutput

type FloatingIpAssociateArrayOutput struct{ *pulumi.OutputState }

func (FloatingIpAssociateArrayOutput) ElementType

func (FloatingIpAssociateArrayOutput) Index

func (FloatingIpAssociateArrayOutput) ToFloatingIpAssociateArrayOutput

func (o FloatingIpAssociateArrayOutput) ToFloatingIpAssociateArrayOutput() FloatingIpAssociateArrayOutput

func (FloatingIpAssociateArrayOutput) ToFloatingIpAssociateArrayOutputWithContext

func (o FloatingIpAssociateArrayOutput) ToFloatingIpAssociateArrayOutputWithContext(ctx context.Context) FloatingIpAssociateArrayOutput

type FloatingIpAssociateInput

type FloatingIpAssociateInput interface {
	pulumi.Input

	ToFloatingIpAssociateOutput() FloatingIpAssociateOutput
	ToFloatingIpAssociateOutputWithContext(ctx context.Context) FloatingIpAssociateOutput
}

type FloatingIpAssociateMap

type FloatingIpAssociateMap map[string]FloatingIpAssociateInput

func (FloatingIpAssociateMap) ElementType

func (FloatingIpAssociateMap) ElementType() reflect.Type

func (FloatingIpAssociateMap) ToFloatingIpAssociateMapOutput

func (i FloatingIpAssociateMap) ToFloatingIpAssociateMapOutput() FloatingIpAssociateMapOutput

func (FloatingIpAssociateMap) ToFloatingIpAssociateMapOutputWithContext

func (i FloatingIpAssociateMap) ToFloatingIpAssociateMapOutputWithContext(ctx context.Context) FloatingIpAssociateMapOutput

type FloatingIpAssociateMapInput

type FloatingIpAssociateMapInput interface {
	pulumi.Input

	ToFloatingIpAssociateMapOutput() FloatingIpAssociateMapOutput
	ToFloatingIpAssociateMapOutputWithContext(context.Context) FloatingIpAssociateMapOutput
}

FloatingIpAssociateMapInput is an input type that accepts FloatingIpAssociateMap and FloatingIpAssociateMapOutput values. You can construct a concrete instance of `FloatingIpAssociateMapInput` via:

FloatingIpAssociateMap{ "key": FloatingIpAssociateArgs{...} }

type FloatingIpAssociateMapOutput

type FloatingIpAssociateMapOutput struct{ *pulumi.OutputState }

func (FloatingIpAssociateMapOutput) ElementType

func (FloatingIpAssociateMapOutput) MapIndex

func (FloatingIpAssociateMapOutput) ToFloatingIpAssociateMapOutput

func (o FloatingIpAssociateMapOutput) ToFloatingIpAssociateMapOutput() FloatingIpAssociateMapOutput

func (FloatingIpAssociateMapOutput) ToFloatingIpAssociateMapOutputWithContext

func (o FloatingIpAssociateMapOutput) ToFloatingIpAssociateMapOutputWithContext(ctx context.Context) FloatingIpAssociateMapOutput

type FloatingIpAssociateOutput

type FloatingIpAssociateOutput struct{ *pulumi.OutputState }

func (FloatingIpAssociateOutput) ElementType

func (FloatingIpAssociateOutput) ElementType() reflect.Type

func (FloatingIpAssociateOutput) FixedIp

The specific IP address to direct traffic to.

func (FloatingIpAssociateOutput) FloatingIp

The floating IP to associate.

func (FloatingIpAssociateOutput) InstanceId

The instance to associte the floating IP with.

func (FloatingIpAssociateOutput) Region

The region in which to obtain the V2 Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If omitted, the `region` argument of the provider is used. Changing this creates a new floatingip_associate.

func (FloatingIpAssociateOutput) ToFloatingIpAssociateOutput

func (o FloatingIpAssociateOutput) ToFloatingIpAssociateOutput() FloatingIpAssociateOutput

func (FloatingIpAssociateOutput) ToFloatingIpAssociateOutputWithContext

func (o FloatingIpAssociateOutput) ToFloatingIpAssociateOutputWithContext(ctx context.Context) FloatingIpAssociateOutput

func (FloatingIpAssociateOutput) WaitUntilAssociated

func (o FloatingIpAssociateOutput) WaitUntilAssociated() pulumi.BoolPtrOutput

type FloatingIpAssociateState

type FloatingIpAssociateState struct {
	// The specific IP address to direct traffic to.
	FixedIp pulumi.StringPtrInput
	// The floating IP to associate.
	FloatingIp pulumi.StringPtrInput
	// The instance to associte the floating IP with.
	InstanceId pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new floatingip_associate.
	Region              pulumi.StringPtrInput
	WaitUntilAssociated pulumi.BoolPtrInput
}

func (FloatingIpAssociateState) ElementType

func (FloatingIpAssociateState) ElementType() reflect.Type

type FloatingIpInput

type FloatingIpInput interface {
	pulumi.Input

	ToFloatingIpOutput() FloatingIpOutput
	ToFloatingIpOutputWithContext(ctx context.Context) FloatingIpOutput
}

type FloatingIpMap

type FloatingIpMap map[string]FloatingIpInput

func (FloatingIpMap) ElementType

func (FloatingIpMap) ElementType() reflect.Type

func (FloatingIpMap) ToFloatingIpMapOutput

func (i FloatingIpMap) ToFloatingIpMapOutput() FloatingIpMapOutput

func (FloatingIpMap) ToFloatingIpMapOutputWithContext

func (i FloatingIpMap) ToFloatingIpMapOutputWithContext(ctx context.Context) FloatingIpMapOutput

type FloatingIpMapInput

type FloatingIpMapInput interface {
	pulumi.Input

	ToFloatingIpMapOutput() FloatingIpMapOutput
	ToFloatingIpMapOutputWithContext(context.Context) FloatingIpMapOutput
}

FloatingIpMapInput is an input type that accepts FloatingIpMap and FloatingIpMapOutput values. You can construct a concrete instance of `FloatingIpMapInput` via:

FloatingIpMap{ "key": FloatingIpArgs{...} }

type FloatingIpMapOutput

type FloatingIpMapOutput struct{ *pulumi.OutputState }

func (FloatingIpMapOutput) ElementType

func (FloatingIpMapOutput) ElementType() reflect.Type

func (FloatingIpMapOutput) MapIndex

func (FloatingIpMapOutput) ToFloatingIpMapOutput

func (o FloatingIpMapOutput) ToFloatingIpMapOutput() FloatingIpMapOutput

func (FloatingIpMapOutput) ToFloatingIpMapOutputWithContext

func (o FloatingIpMapOutput) ToFloatingIpMapOutputWithContext(ctx context.Context) FloatingIpMapOutput

type FloatingIpOutput

type FloatingIpOutput struct{ *pulumi.OutputState }

func (FloatingIpOutput) Address

func (o FloatingIpOutput) Address() pulumi.StringOutput

The actual floating IP address itself.

func (FloatingIpOutput) ElementType

func (FloatingIpOutput) ElementType() reflect.Type

func (FloatingIpOutput) FixedIp

func (o FloatingIpOutput) FixedIp() pulumi.StringOutput

The fixed IP address corresponding to the floating IP.

func (FloatingIpOutput) InstanceId

func (o FloatingIpOutput) InstanceId() pulumi.StringOutput

UUID of the compute instance associated with the floating IP.

func (FloatingIpOutput) Pool

The name of the pool from which to obtain the floating IP. Changing this creates a new floating IP.

func (FloatingIpOutput) Region

The region in which to obtain the V2 Compute client. A Compute client is needed to create a floating IP that can be used with a compute instance. If omitted, the `region` argument of the provider is used. Changing this creates a new floating IP (which may or may not have a different address).

func (FloatingIpOutput) ToFloatingIpOutput

func (o FloatingIpOutput) ToFloatingIpOutput() FloatingIpOutput

func (FloatingIpOutput) ToFloatingIpOutputWithContext

func (o FloatingIpOutput) ToFloatingIpOutputWithContext(ctx context.Context) FloatingIpOutput

type FloatingIpState

type FloatingIpState struct {
	// The actual floating IP address itself.
	Address pulumi.StringPtrInput
	// The fixed IP address corresponding to the floating IP.
	FixedIp pulumi.StringPtrInput
	// UUID of the compute instance associated with the floating IP.
	InstanceId pulumi.StringPtrInput
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a floating IP that can be used with
	// a compute instance. If omitted, the `region` argument of the provider
	// is used. Changing this creates a new floating IP (which may or may not
	// have a different address).
	Region pulumi.StringPtrInput
}

func (FloatingIpState) ElementType

func (FloatingIpState) ElementType() reflect.Type

type GetAvailabilityZonesArgs

type GetAvailabilityZonesArgs struct {
	// The `region` to fetch availability zones from, defaults to the provider's `region`
	Region *string `pulumi:"region"`
	// The `state` of the availability zones to match, default ("available").
	State *string `pulumi:"state"`
}

A collection of arguments for invoking getAvailabilityZones.

type GetAvailabilityZonesOutputArgs

type GetAvailabilityZonesOutputArgs struct {
	// The `region` to fetch availability zones from, defaults to the provider's `region`
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The `state` of the availability zones to match, default ("available").
	State pulumi.StringPtrInput `pulumi:"state"`
}

A collection of arguments for invoking getAvailabilityZones.

func (GetAvailabilityZonesOutputArgs) ElementType

type GetAvailabilityZonesResult

type GetAvailabilityZonesResult 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"`
	Region string   `pulumi:"region"`
	State  *string  `pulumi:"state"`
}

A collection of values returned by getAvailabilityZones.

func GetAvailabilityZones

func GetAvailabilityZones(ctx *pulumi.Context, args *GetAvailabilityZonesArgs, opts ...pulumi.InvokeOption) (*GetAvailabilityZonesResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetAvailabilityZonesResultOutput

type GetAvailabilityZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAvailabilityZones.

func (GetAvailabilityZonesResultOutput) ElementType

func (GetAvailabilityZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAvailabilityZonesResultOutput) Names

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

func (GetAvailabilityZonesResultOutput) Region

func (GetAvailabilityZonesResultOutput) State

func (GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutput

func (o GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutput() GetAvailabilityZonesResultOutput

func (GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutputWithContext

func (o GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutputWithContext(ctx context.Context) GetAvailabilityZonesResultOutput

type GetHypervisorV2Args

type GetHypervisorV2Args struct {
	// The hostname of the hypervisor
	Hostname string `pulumi:"hostname"`
}

A collection of arguments for invoking getHypervisorV2.

type GetHypervisorV2OutputArgs

type GetHypervisorV2OutputArgs struct {
	// The hostname of the hypervisor
	Hostname pulumi.StringInput `pulumi:"hostname"`
}

A collection of arguments for invoking getHypervisorV2.

func (GetHypervisorV2OutputArgs) ElementType

func (GetHypervisorV2OutputArgs) ElementType() reflect.Type

type GetHypervisorV2Result

type GetHypervisorV2Result struct {
	// The amount in GigaBytes of local storage the hypervisor can provide
	Disk int `pulumi:"disk"`
	// The IP address of the Hypervisor
	HostIp string `pulumi:"hostIp"`
	// See Argument Reference above.
	Hostname string `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The number in MegaBytes of memory the hypervisor can provide
	Memory int `pulumi:"memory"`
	// The state of the hypervisor (`up` or `down`)
	State string `pulumi:"state"`
	// The status of the hypervisor (`enabled` or `disabled`)
	Status string `pulumi:"status"`
	// The type of the hypervisor (example: `QEMU`)
	Type string `pulumi:"type"`
	// The number of virtual CPUs the hypervisor can provide
	Vcpus int `pulumi:"vcpus"`
}

A collection of values returned by getHypervisorV2.

func GetHypervisorV2

func GetHypervisorV2(ctx *pulumi.Context, args *GetHypervisorV2Args, opts ...pulumi.InvokeOption) (*GetHypervisorV2Result, error)

Use this data source to get information about hypervisors by hostname.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.GetHypervisorV2(ctx, &compute.GetHypervisorV2Args{
			Hostname: "host01",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetHypervisorV2ResultOutput

type GetHypervisorV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHypervisorV2.

func (GetHypervisorV2ResultOutput) Disk

The amount in GigaBytes of local storage the hypervisor can provide

func (GetHypervisorV2ResultOutput) ElementType

func (GetHypervisorV2ResultOutput) HostIp

The IP address of the Hypervisor

func (GetHypervisorV2ResultOutput) Hostname

See Argument Reference above.

func (GetHypervisorV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetHypervisorV2ResultOutput) Memory

The number in MegaBytes of memory the hypervisor can provide

func (GetHypervisorV2ResultOutput) State

The state of the hypervisor (`up` or `down`)

func (GetHypervisorV2ResultOutput) Status

The status of the hypervisor (`enabled` or `disabled`)

func (GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutput

func (o GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutput() GetHypervisorV2ResultOutput

func (GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutputWithContext

func (o GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutputWithContext(ctx context.Context) GetHypervisorV2ResultOutput

func (GetHypervisorV2ResultOutput) Type

The type of the hypervisor (example: `QEMU`)

func (GetHypervisorV2ResultOutput) Vcpus

The number of virtual CPUs the hypervisor can provide

type GetInstanceV2Args

type GetInstanceV2Args struct {
	// The UUID of the instance
	Id string `pulumi:"id"`
	// An array of maps, detailed below.
	Networks []GetInstanceV2Network `pulumi:"networks"`
	Region   *string                `pulumi:"region"`
	// The user data added when the server was created.
	UserData *string `pulumi:"userData"`
}

A collection of arguments for invoking getInstanceV2.

type GetInstanceV2Network

type GetInstanceV2Network struct {
	// The IPv4 address assigned to this network port.
	FixedIpV4 string `pulumi:"fixedIpV4"`
	// The IPv6 address assigned to this network port.
	FixedIpV6 string `pulumi:"fixedIpV6"`
	// The MAC address assigned to this network interface.
	Mac string `pulumi:"mac"`
	// The name of the network
	Name string `pulumi:"name"`
	// The port UUID for this network
	Port string `pulumi:"port"`
	// The UUID of the network
	Uuid string `pulumi:"uuid"`
}

type GetInstanceV2NetworkArgs

type GetInstanceV2NetworkArgs struct {
	// The IPv4 address assigned to this network port.
	FixedIpV4 pulumi.StringInput `pulumi:"fixedIpV4"`
	// The IPv6 address assigned to this network port.
	FixedIpV6 pulumi.StringInput `pulumi:"fixedIpV6"`
	// The MAC address assigned to this network interface.
	Mac pulumi.StringInput `pulumi:"mac"`
	// The name of the network
	Name pulumi.StringInput `pulumi:"name"`
	// The port UUID for this network
	Port pulumi.StringInput `pulumi:"port"`
	// The UUID of the network
	Uuid pulumi.StringInput `pulumi:"uuid"`
}

func (GetInstanceV2NetworkArgs) ElementType

func (GetInstanceV2NetworkArgs) ElementType() reflect.Type

func (GetInstanceV2NetworkArgs) ToGetInstanceV2NetworkOutput

func (i GetInstanceV2NetworkArgs) ToGetInstanceV2NetworkOutput() GetInstanceV2NetworkOutput

func (GetInstanceV2NetworkArgs) ToGetInstanceV2NetworkOutputWithContext

func (i GetInstanceV2NetworkArgs) ToGetInstanceV2NetworkOutputWithContext(ctx context.Context) GetInstanceV2NetworkOutput

type GetInstanceV2NetworkArray

type GetInstanceV2NetworkArray []GetInstanceV2NetworkInput

func (GetInstanceV2NetworkArray) ElementType

func (GetInstanceV2NetworkArray) ElementType() reflect.Type

func (GetInstanceV2NetworkArray) ToGetInstanceV2NetworkArrayOutput

func (i GetInstanceV2NetworkArray) ToGetInstanceV2NetworkArrayOutput() GetInstanceV2NetworkArrayOutput

func (GetInstanceV2NetworkArray) ToGetInstanceV2NetworkArrayOutputWithContext

func (i GetInstanceV2NetworkArray) ToGetInstanceV2NetworkArrayOutputWithContext(ctx context.Context) GetInstanceV2NetworkArrayOutput

type GetInstanceV2NetworkArrayInput

type GetInstanceV2NetworkArrayInput interface {
	pulumi.Input

	ToGetInstanceV2NetworkArrayOutput() GetInstanceV2NetworkArrayOutput
	ToGetInstanceV2NetworkArrayOutputWithContext(context.Context) GetInstanceV2NetworkArrayOutput
}

GetInstanceV2NetworkArrayInput is an input type that accepts GetInstanceV2NetworkArray and GetInstanceV2NetworkArrayOutput values. You can construct a concrete instance of `GetInstanceV2NetworkArrayInput` via:

GetInstanceV2NetworkArray{ GetInstanceV2NetworkArgs{...} }

type GetInstanceV2NetworkArrayOutput

type GetInstanceV2NetworkArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceV2NetworkArrayOutput) ElementType

func (GetInstanceV2NetworkArrayOutput) Index

func (GetInstanceV2NetworkArrayOutput) ToGetInstanceV2NetworkArrayOutput

func (o GetInstanceV2NetworkArrayOutput) ToGetInstanceV2NetworkArrayOutput() GetInstanceV2NetworkArrayOutput

func (GetInstanceV2NetworkArrayOutput) ToGetInstanceV2NetworkArrayOutputWithContext

func (o GetInstanceV2NetworkArrayOutput) ToGetInstanceV2NetworkArrayOutputWithContext(ctx context.Context) GetInstanceV2NetworkArrayOutput

type GetInstanceV2NetworkInput

type GetInstanceV2NetworkInput interface {
	pulumi.Input

	ToGetInstanceV2NetworkOutput() GetInstanceV2NetworkOutput
	ToGetInstanceV2NetworkOutputWithContext(context.Context) GetInstanceV2NetworkOutput
}

GetInstanceV2NetworkInput is an input type that accepts GetInstanceV2NetworkArgs and GetInstanceV2NetworkOutput values. You can construct a concrete instance of `GetInstanceV2NetworkInput` via:

GetInstanceV2NetworkArgs{...}

type GetInstanceV2NetworkOutput

type GetInstanceV2NetworkOutput struct{ *pulumi.OutputState }

func (GetInstanceV2NetworkOutput) ElementType

func (GetInstanceV2NetworkOutput) ElementType() reflect.Type

func (GetInstanceV2NetworkOutput) FixedIpV4

The IPv4 address assigned to this network port.

func (GetInstanceV2NetworkOutput) FixedIpV6

The IPv6 address assigned to this network port.

func (GetInstanceV2NetworkOutput) Mac

The MAC address assigned to this network interface.

func (GetInstanceV2NetworkOutput) Name

The name of the network

func (GetInstanceV2NetworkOutput) Port

The port UUID for this network

func (GetInstanceV2NetworkOutput) ToGetInstanceV2NetworkOutput

func (o GetInstanceV2NetworkOutput) ToGetInstanceV2NetworkOutput() GetInstanceV2NetworkOutput

func (GetInstanceV2NetworkOutput) ToGetInstanceV2NetworkOutputWithContext

func (o GetInstanceV2NetworkOutput) ToGetInstanceV2NetworkOutputWithContext(ctx context.Context) GetInstanceV2NetworkOutput

func (GetInstanceV2NetworkOutput) Uuid

The UUID of the network

type GetInstanceV2OutputArgs

type GetInstanceV2OutputArgs struct {
	// The UUID of the instance
	Id pulumi.StringInput `pulumi:"id"`
	// An array of maps, detailed below.
	Networks GetInstanceV2NetworkArrayInput `pulumi:"networks"`
	Region   pulumi.StringPtrInput          `pulumi:"region"`
	// The user data added when the server was created.
	UserData pulumi.StringPtrInput `pulumi:"userData"`
}

A collection of arguments for invoking getInstanceV2.

func (GetInstanceV2OutputArgs) ElementType

func (GetInstanceV2OutputArgs) ElementType() reflect.Type

type GetInstanceV2Result

type GetInstanceV2Result struct {
	// The first IPv4 address assigned to this server.
	AccessIpV4 string `pulumi:"accessIpV4"`
	// The first IPv6 address assigned to this server.
	AccessIpV6 string `pulumi:"accessIpV6"`
	// The availability zone of this server.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// The creation time of the instance.
	Created string `pulumi:"created"`
	// The flavor ID used to create the server.
	FlavorId string `pulumi:"flavorId"`
	// The flavor name used to create the server.
	FlavorName string `pulumi:"flavorName"`
	Id         string `pulumi:"id"`
	// The image ID used to create the server.
	ImageId string `pulumi:"imageId"`
	// The image name used to create the server.
	ImageName string `pulumi:"imageName"`
	// The name of the key pair assigned to this server.
	KeyPair string `pulumi:"keyPair"`
	// A set of key/value pairs made available to the server.
	Metadata map[string]interface{} `pulumi:"metadata"`
	// The name of the network
	Name string `pulumi:"name"`
	// An array of maps, detailed below.
	Networks   []GetInstanceV2Network `pulumi:"networks"`
	PowerState string                 `pulumi:"powerState"`
	Region     string                 `pulumi:"region"`
	// An array of security group names associated with this server.
	SecurityGroups []string `pulumi:"securityGroups"`
	// A set of string tags assigned to this server.
	Tags []string `pulumi:"tags"`
	// The time when the instance was last updated.
	Updated string `pulumi:"updated"`
	// The user data added when the server was created.
	UserData string `pulumi:"userData"`
}

A collection of values returned by getInstanceV2.

func GetInstanceV2

func GetInstanceV2(ctx *pulumi.Context, args *GetInstanceV2Args, opts ...pulumi.InvokeOption) (*GetInstanceV2Result, error)

Use this data source to get the details of a running server

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.GetInstanceV2(ctx, &compute.GetInstanceV2Args{
			Id: "2ba26dc6-a12d-4889-8f25-794ea5bf4453",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetInstanceV2ResultOutput

type GetInstanceV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstanceV2.

func (GetInstanceV2ResultOutput) AccessIpV4

The first IPv4 address assigned to this server.

func (GetInstanceV2ResultOutput) AccessIpV6

The first IPv6 address assigned to this server.

func (GetInstanceV2ResultOutput) AvailabilityZone

func (o GetInstanceV2ResultOutput) AvailabilityZone() pulumi.StringOutput

The availability zone of this server.

func (GetInstanceV2ResultOutput) Created

The creation time of the instance.

func (GetInstanceV2ResultOutput) ElementType

func (GetInstanceV2ResultOutput) ElementType() reflect.Type

func (GetInstanceV2ResultOutput) FlavorId

The flavor ID used to create the server.

func (GetInstanceV2ResultOutput) FlavorName

The flavor name used to create the server.

func (GetInstanceV2ResultOutput) Id

func (GetInstanceV2ResultOutput) ImageId

The image ID used to create the server.

func (GetInstanceV2ResultOutput) ImageName

The image name used to create the server.

func (GetInstanceV2ResultOutput) KeyPair

The name of the key pair assigned to this server.

func (GetInstanceV2ResultOutput) Metadata

A set of key/value pairs made available to the server.

func (GetInstanceV2ResultOutput) Name

The name of the network

func (GetInstanceV2ResultOutput) Networks

An array of maps, detailed below.

func (GetInstanceV2ResultOutput) PowerState

func (GetInstanceV2ResultOutput) Region

func (GetInstanceV2ResultOutput) SecurityGroups

An array of security group names associated with this server.

func (GetInstanceV2ResultOutput) Tags

A set of string tags assigned to this server.

func (GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutput

func (o GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutput() GetInstanceV2ResultOutput

func (GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutputWithContext

func (o GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutputWithContext(ctx context.Context) GetInstanceV2ResultOutput

func (GetInstanceV2ResultOutput) Updated

The time when the instance was last updated.

func (GetInstanceV2ResultOutput) UserData

The user data added when the server was created.

type GetLimitsV2Args

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

A collection of arguments for invoking getLimitsV2.

type GetLimitsV2OutputArgs

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

A collection of arguments for invoking getLimitsV2.

func (GetLimitsV2OutputArgs) ElementType

func (GetLimitsV2OutputArgs) ElementType() reflect.Type

type GetLimitsV2Result

type GetLimitsV2Result struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The number of allowed metadata items for each image. Starting from version 2.39 this field is dropped from ‘os-limits’ response, because ‘image-metadata’ proxy API was deprecated. Available until version 2.38.
	MaxImageMeta int `pulumi:"maxImageMeta"`
	// The number of allowed injected files for the tenant. Available until version 2.56.
	MaxPersonality int `pulumi:"maxPersonality"`
	// The number of allowed bytes of content for each injected file. Available until version 2.56.
	MaxPersonalitySize int `pulumi:"maxPersonalitySize"`
	// The number of allowed rules for each security group. Available until version 2.35.
	MaxSecurityGroupRules int `pulumi:"maxSecurityGroupRules"`
	// The number of allowed security groups for the tenant. Available until version 2.35.
	MaxSecurityGroups int `pulumi:"maxSecurityGroups"`
	// The number of allowed members for each server group.
	MaxServerGroupMembers int `pulumi:"maxServerGroupMembers"`
	// The number of allowed server groups for the tenant.
	MaxServerGroups int `pulumi:"maxServerGroups"`
	// The number of allowed server groups for the tenant.
	MaxServerMeta int `pulumi:"maxServerMeta"`
	// The number of allowed server cores for the tenant.
	MaxTotalCores int `pulumi:"maxTotalCores"`
	// The number of allowed floating IP addresses for each tenant. Available until version 2.35.
	MaxTotalFloatingIps int `pulumi:"maxTotalFloatingIps"`
	// The number of allowed servers for the tenant.
	MaxTotalInstances int `pulumi:"maxTotalInstances"`
	// The number of allowed key pairs for the user.
	MaxTotalKeypairs int `pulumi:"maxTotalKeypairs"`
	// The number of allowed floating IP addresses for the tenant. Available until version 2.35.
	MaxTotalRamSize int `pulumi:"maxTotalRamSize"`
	// See Argument Reference above.
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The number of used server cores in the tenant.
	TotalCoresUsed int `pulumi:"totalCoresUsed"`
	// The number of used floating IP addresses in the tenant.
	TotalFloatingIpsUsed int `pulumi:"totalFloatingIpsUsed"`
	// The number of used server cores in the tenant.
	TotalInstancesUsed int `pulumi:"totalInstancesUsed"`
	// The amount of used server RAM in the tenant.
	TotalRamUsed int `pulumi:"totalRamUsed"`
	// The number of used security groups in the tenant. Available until version 2.35.
	TotalSecurityGroupsUsed int `pulumi:"totalSecurityGroupsUsed"`
	// The number of used server groups in each tenant.
	TotalServerGroupsUsed int `pulumi:"totalServerGroupsUsed"`
}

A collection of values returned by getLimitsV2.

func GetLimitsV2

func GetLimitsV2(ctx *pulumi.Context, args *GetLimitsV2Args, opts ...pulumi.InvokeOption) (*GetLimitsV2Result, error)

Use this data source to get the compute limits of an OpenStack project.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetLimitsV2ResultOutput

type GetLimitsV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLimitsV2.

func (GetLimitsV2ResultOutput) ElementType

func (GetLimitsV2ResultOutput) ElementType() reflect.Type

func (GetLimitsV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetLimitsV2ResultOutput) MaxImageMeta

func (o GetLimitsV2ResultOutput) MaxImageMeta() pulumi.IntOutput

The number of allowed metadata items for each image. Starting from version 2.39 this field is dropped from ‘os-limits’ response, because ‘image-metadata’ proxy API was deprecated. Available until version 2.38.

func (GetLimitsV2ResultOutput) MaxPersonality

func (o GetLimitsV2ResultOutput) MaxPersonality() pulumi.IntOutput

The number of allowed injected files for the tenant. Available until version 2.56.

func (GetLimitsV2ResultOutput) MaxPersonalitySize

func (o GetLimitsV2ResultOutput) MaxPersonalitySize() pulumi.IntOutput

The number of allowed bytes of content for each injected file. Available until version 2.56.

func (GetLimitsV2ResultOutput) MaxSecurityGroupRules

func (o GetLimitsV2ResultOutput) MaxSecurityGroupRules() pulumi.IntOutput

The number of allowed rules for each security group. Available until version 2.35.

func (GetLimitsV2ResultOutput) MaxSecurityGroups

func (o GetLimitsV2ResultOutput) MaxSecurityGroups() pulumi.IntOutput

The number of allowed security groups for the tenant. Available until version 2.35.

func (GetLimitsV2ResultOutput) MaxServerGroupMembers

func (o GetLimitsV2ResultOutput) MaxServerGroupMembers() pulumi.IntOutput

The number of allowed members for each server group.

func (GetLimitsV2ResultOutput) MaxServerGroups

func (o GetLimitsV2ResultOutput) MaxServerGroups() pulumi.IntOutput

The number of allowed server groups for the tenant.

func (GetLimitsV2ResultOutput) MaxServerMeta

func (o GetLimitsV2ResultOutput) MaxServerMeta() pulumi.IntOutput

The number of allowed server groups for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalCores

func (o GetLimitsV2ResultOutput) MaxTotalCores() pulumi.IntOutput

The number of allowed server cores for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalFloatingIps

func (o GetLimitsV2ResultOutput) MaxTotalFloatingIps() pulumi.IntOutput

The number of allowed floating IP addresses for each tenant. Available until version 2.35.

func (GetLimitsV2ResultOutput) MaxTotalInstances

func (o GetLimitsV2ResultOutput) MaxTotalInstances() pulumi.IntOutput

The number of allowed servers for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalKeypairs

func (o GetLimitsV2ResultOutput) MaxTotalKeypairs() pulumi.IntOutput

The number of allowed key pairs for the user.

func (GetLimitsV2ResultOutput) MaxTotalRamSize

func (o GetLimitsV2ResultOutput) MaxTotalRamSize() pulumi.IntOutput

The number of allowed floating IP addresses for the tenant. Available until version 2.35.

func (GetLimitsV2ResultOutput) ProjectId

See Argument Reference above.

func (GetLimitsV2ResultOutput) Region

See Argument Reference above.

func (GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutput

func (o GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutput() GetLimitsV2ResultOutput

func (GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutputWithContext

func (o GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutputWithContext(ctx context.Context) GetLimitsV2ResultOutput

func (GetLimitsV2ResultOutput) TotalCoresUsed

func (o GetLimitsV2ResultOutput) TotalCoresUsed() pulumi.IntOutput

The number of used server cores in the tenant.

func (GetLimitsV2ResultOutput) TotalFloatingIpsUsed

func (o GetLimitsV2ResultOutput) TotalFloatingIpsUsed() pulumi.IntOutput

The number of used floating IP addresses in the tenant.

func (GetLimitsV2ResultOutput) TotalInstancesUsed

func (o GetLimitsV2ResultOutput) TotalInstancesUsed() pulumi.IntOutput

The number of used server cores in the tenant.

func (GetLimitsV2ResultOutput) TotalRamUsed

func (o GetLimitsV2ResultOutput) TotalRamUsed() pulumi.IntOutput

The amount of used server RAM in the tenant.

func (GetLimitsV2ResultOutput) TotalSecurityGroupsUsed

func (o GetLimitsV2ResultOutput) TotalSecurityGroupsUsed() pulumi.IntOutput

The number of used security groups in the tenant. Available until version 2.35.

func (GetLimitsV2ResultOutput) TotalServerGroupsUsed

func (o GetLimitsV2ResultOutput) TotalServerGroupsUsed() pulumi.IntOutput

The number of used server groups in each tenant.

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The first detected Fixed IPv4 address.
	AccessIpV4 pulumi.StringOutput `pulumi:"accessIpV4"`
	// The first detected Fixed IPv6 address.
	AccessIpV6 pulumi.StringOutput `pulumi:"accessIpV6"`
	// The administrative password to assign to the server.
	// Changing this changes the root password on the existing server.
	AdminPass   pulumi.StringPtrOutput `pulumi:"adminPass"`
	AllMetadata pulumi.MapOutput       `pulumi:"allMetadata"`
	// The collection of tags assigned on the instance, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// The availability zone in which to create
	// the server. Conflicts with `availabilityZoneHints`. Changing this creates
	// a new server.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The availability zone in which to
	// create the server. This argument is preferred to `availabilityZone`, when
	// scheduling the server on a
	// [particular](https://docs.openstack.org/nova/latest/admin/availability-zones.html)
	// host or node. Conflicts with `availabilityZone`. Changing this creates a
	// new server.
	AvailabilityZoneHints pulumi.StringPtrOutput `pulumi:"availabilityZoneHints"`
	// Configuration of block devices. The blockDevice
	// structure is documented below. Changing this creates a new server.
	// You can specify multiple block devices which will create an instance with
	// multiple disks. This configuration is very flexible, so please see the
	// following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html)
	// for more information.
	BlockDevices InstanceBlockDeviceArrayOutput `pulumi:"blockDevices"`
	// Whether to use the configDrive feature to
	// configure the instance. Changing this creates a new server.
	ConfigDrive pulumi.BoolPtrOutput `pulumi:"configDrive"`
	// The creation time of the instance.
	Created pulumi.StringOutput `pulumi:"created"`
	// The flavor ID of
	// the desired flavor for the server. Changing this resizes the existing server.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// The name of the
	// desired flavor for the server. Changing this resizes the existing server.
	FlavorName pulumi.StringOutput `pulumi:"flavorName"`
	// Whether to force the OpenStack instance to be
	// forcefully deleted. This is useful for environments that have reclaim / soft
	// deletion enabled.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// (Optional; Required if `imageName` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The image ID of
	// the desired image for the server. Changing this rebuilds the existing
	// server.
	ImageId pulumi.StringOutput `pulumi:"imageId"`
	// (Optional; Required if `imageId` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The name of the
	// desired image for the server. Changing this rebuilds the existing server.
	ImageName pulumi.StringOutput `pulumi:"imageName"`
	// The name of a key pair to put on the server. The key
	// pair must already be created and associated with the tenant's account.
	// Changing this creates a new server.
	KeyPair pulumi.StringPtrOutput `pulumi:"keyPair"`
	// Metadata key/value pairs to make available from
	// within the instance. Changing this updates the existing server metadata.
	Metadata pulumi.MapOutput `pulumi:"metadata"`
	// A unique name for the resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Special string for `network` option to create
	// the server. `networkMode` can be `"auto"` or `"none"`.
	// Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with `network`.
	NetworkMode pulumi.StringPtrOutput `pulumi:"networkMode"`
	// An array of one or more networks to attach to the
	// instance. The network object structure is documented below. Changing this
	// creates a new server.
	Networks InstanceNetworkArrayOutput `pulumi:"networks"`
	// Customize the personality of an instance by
	// defining one or more files and their contents. The personality structure
	// is described below. Changing this rebuilds the existing server.
	Personalities InstancePersonalityArrayOutput `pulumi:"personalities"`
	// Provide the VM state. Only 'active', 'shutoff'
	// and 'shelved_offloaded' are supported values.
	// *Note*: If the initial powerState is the shutoff
	// the VM will be stopped immediately after build and the provisioners like
	// remote-exec or files are not supported.
	PowerState pulumi.StringPtrOutput `pulumi:"powerState"`
	// The region in which to create the server instance. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new server.
	Region pulumi.StringOutput `pulumi:"region"`
	// Provide the Nova scheduler with hints on how
	// the instance should be launched. The available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayOutput `pulumi:"schedulerHints"`
	// An array of one or more security group names
	// to associate with the server. Changing this results in adding/removing
	// security groups from the existing server. *Note*: When attaching the
	// instance to networks using Ports, place the security groups on the Port
	// and not the instance. *Note*: Names should be used and not ids, as ids
	// trigger unnecessary updates.
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	// Whether to try stop instance gracefully
	// before destroying it, thus giving chance for guest OS daemons to stop correctly.
	// If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrOutput `pulumi:"stopBeforeDestroy"`
	// A set of string tags for the instance. Changing this
	// updates the existing instance tags.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The time when the instance was last updated.
	Updated pulumi.StringOutput `pulumi:"updated"`
	// The user data to provide when launching the instance.
	// Changing this creates a new server.
	UserData pulumi.StringPtrOutput `pulumi:"userData"`
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions InstanceVendorOptionsPtrOutput `pulumi:"vendorOptions"`
}

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// The first detected Fixed IPv4 address.
	AccessIpV4 pulumi.StringPtrInput
	// The first detected Fixed IPv6 address.
	AccessIpV6 pulumi.StringPtrInput
	// The administrative password to assign to the server.
	// Changing this changes the root password on the existing server.
	AdminPass pulumi.StringPtrInput
	// The availability zone in which to create
	// the server. Conflicts with `availabilityZoneHints`. Changing this creates
	// a new server.
	AvailabilityZone pulumi.StringPtrInput
	// The availability zone in which to
	// create the server. This argument is preferred to `availabilityZone`, when
	// scheduling the server on a
	// [particular](https://docs.openstack.org/nova/latest/admin/availability-zones.html)
	// host or node. Conflicts with `availabilityZone`. Changing this creates a
	// new server.
	AvailabilityZoneHints pulumi.StringPtrInput
	// Configuration of block devices. The blockDevice
	// structure is documented below. Changing this creates a new server.
	// You can specify multiple block devices which will create an instance with
	// multiple disks. This configuration is very flexible, so please see the
	// following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html)
	// for more information.
	BlockDevices InstanceBlockDeviceArrayInput
	// Whether to use the configDrive feature to
	// configure the instance. Changing this creates a new server.
	ConfigDrive pulumi.BoolPtrInput
	// The flavor ID of
	// the desired flavor for the server. Changing this resizes the existing server.
	FlavorId pulumi.StringPtrInput
	// The name of the
	// desired flavor for the server. Changing this resizes the existing server.
	FlavorName pulumi.StringPtrInput
	// Whether to force the OpenStack instance to be
	// forcefully deleted. This is useful for environments that have reclaim / soft
	// deletion enabled.
	ForceDelete pulumi.BoolPtrInput
	// (Optional; Required if `imageName` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The image ID of
	// the desired image for the server. Changing this rebuilds the existing
	// server.
	ImageId pulumi.StringPtrInput
	// (Optional; Required if `imageId` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The name of the
	// desired image for the server. Changing this rebuilds the existing server.
	ImageName pulumi.StringPtrInput
	// The name of a key pair to put on the server. The key
	// pair must already be created and associated with the tenant's account.
	// Changing this creates a new server.
	KeyPair pulumi.StringPtrInput
	// Metadata key/value pairs to make available from
	// within the instance. Changing this updates the existing server metadata.
	Metadata pulumi.MapInput
	// A unique name for the resource.
	Name pulumi.StringPtrInput
	// Special string for `network` option to create
	// the server. `networkMode` can be `"auto"` or `"none"`.
	// Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with `network`.
	NetworkMode pulumi.StringPtrInput
	// An array of one or more networks to attach to the
	// instance. The network object structure is documented below. Changing this
	// creates a new server.
	Networks InstanceNetworkArrayInput
	// Customize the personality of an instance by
	// defining one or more files and their contents. The personality structure
	// is described below. Changing this rebuilds the existing server.
	Personalities InstancePersonalityArrayInput
	// Provide the VM state. Only 'active', 'shutoff'
	// and 'shelved_offloaded' are supported values.
	// *Note*: If the initial powerState is the shutoff
	// the VM will be stopped immediately after build and the provisioners like
	// remote-exec or files are not supported.
	PowerState pulumi.StringPtrInput
	// The region in which to create the server instance. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new server.
	Region pulumi.StringPtrInput
	// Provide the Nova scheduler with hints on how
	// the instance should be launched. The available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayInput
	// An array of one or more security group names
	// to associate with the server. Changing this results in adding/removing
	// security groups from the existing server. *Note*: When attaching the
	// instance to networks using Ports, place the security groups on the Port
	// and not the instance. *Note*: Names should be used and not ids, as ids
	// trigger unnecessary updates.
	SecurityGroups pulumi.StringArrayInput
	// Whether to try stop instance gracefully
	// before destroying it, thus giving chance for guest OS daemons to stop correctly.
	// If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrInput
	// A set of string tags for the instance. Changing this
	// updates the existing instance tags.
	Tags pulumi.StringArrayInput
	// The user data to provide when launching the instance.
	// Changing this creates a new server.
	UserData pulumi.StringPtrInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions InstanceVendorOptionsPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceBlockDevice

type InstanceBlockDevice struct {
	// The boot index of the volume. It defaults to 0.
	// Changing this creates a new server.
	BootIndex *int `pulumi:"bootIndex"`
	// Delete the volume / block device upon
	// termination of the instance. Defaults to false. Changing this creates a
	// new server.
	DeleteOnTermination *bool `pulumi:"deleteOnTermination"`
	// The type that gets created. Possible values
	// are "volume" and "local". Changing this creates a new server.
	DestinationType *string `pulumi:"destinationType"`
	// The low-level device type that will be used. Most
	// common thing is to leave this empty. Changing this creates a new server.
	DeviceType *string `pulumi:"deviceType"`
	// The low-level disk bus that will be used. Most common
	// thing is to leave this empty. Changing this creates a new server.
	DiskBus *string `pulumi:"diskBus"`
	// Specifies the guest server disk file system format,
	// such as `ext2`, `ext3`, `ext4`, `xfs` or `swap`. Swap block device mappings
	// have the following restrictions: sourceType must be blank and destinationType
	// must be local and only one swap disk per server and the size of the swap disk
	// must be less than or equal to the swap size of the flavor. Changing this
	// creates a new server.
	GuestFormat *string `pulumi:"guestFormat"`
	// Enable the attachment of multiattach-capable
	// volumes.
	Multiattach *bool `pulumi:"multiattach"`
	// The source type of the device. Must be one of
	// "blank", "image", "volume", or "snapshot". Changing this creates a new
	// server.
	SourceType string `pulumi:"sourceType"`
	// The UUID of
	// the image, volume, or snapshot. Changing this creates a new server.
	Uuid *string `pulumi:"uuid"`
	// The size of the volume to create (in gigabytes). Required
	// in the following combinations: source=image and destination=volume,
	// source=blank and destination=local, and source=blank and destination=volume.
	// Changing this creates a new server.
	VolumeSize *int `pulumi:"volumeSize"`
	// The volume type that will be used, for example SSD
	// or HDD storage. The available options depend on how your specific OpenStack
	// cloud is configured and what classes of storage are provided. Changing this
	// creates a new server.
	VolumeType *string `pulumi:"volumeType"`
}

type InstanceBlockDeviceArgs

type InstanceBlockDeviceArgs struct {
	// The boot index of the volume. It defaults to 0.
	// Changing this creates a new server.
	BootIndex pulumi.IntPtrInput `pulumi:"bootIndex"`
	// Delete the volume / block device upon
	// termination of the instance. Defaults to false. Changing this creates a
	// new server.
	DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"`
	// The type that gets created. Possible values
	// are "volume" and "local". Changing this creates a new server.
	DestinationType pulumi.StringPtrInput `pulumi:"destinationType"`
	// The low-level device type that will be used. Most
	// common thing is to leave this empty. Changing this creates a new server.
	DeviceType pulumi.StringPtrInput `pulumi:"deviceType"`
	// The low-level disk bus that will be used. Most common
	// thing is to leave this empty. Changing this creates a new server.
	DiskBus pulumi.StringPtrInput `pulumi:"diskBus"`
	// Specifies the guest server disk file system format,
	// such as `ext2`, `ext3`, `ext4`, `xfs` or `swap`. Swap block device mappings
	// have the following restrictions: sourceType must be blank and destinationType
	// must be local and only one swap disk per server and the size of the swap disk
	// must be less than or equal to the swap size of the flavor. Changing this
	// creates a new server.
	GuestFormat pulumi.StringPtrInput `pulumi:"guestFormat"`
	// Enable the attachment of multiattach-capable
	// volumes.
	Multiattach pulumi.BoolPtrInput `pulumi:"multiattach"`
	// The source type of the device. Must be one of
	// "blank", "image", "volume", or "snapshot". Changing this creates a new
	// server.
	SourceType pulumi.StringInput `pulumi:"sourceType"`
	// The UUID of
	// the image, volume, or snapshot. Changing this creates a new server.
	Uuid pulumi.StringPtrInput `pulumi:"uuid"`
	// The size of the volume to create (in gigabytes). Required
	// in the following combinations: source=image and destination=volume,
	// source=blank and destination=local, and source=blank and destination=volume.
	// Changing this creates a new server.
	VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"`
	// The volume type that will be used, for example SSD
	// or HDD storage. The available options depend on how your specific OpenStack
	// cloud is configured and what classes of storage are provided. Changing this
	// creates a new server.
	VolumeType pulumi.StringPtrInput `pulumi:"volumeType"`
}

func (InstanceBlockDeviceArgs) ElementType

func (InstanceBlockDeviceArgs) ElementType() reflect.Type

func (InstanceBlockDeviceArgs) ToInstanceBlockDeviceOutput

func (i InstanceBlockDeviceArgs) ToInstanceBlockDeviceOutput() InstanceBlockDeviceOutput

func (InstanceBlockDeviceArgs) ToInstanceBlockDeviceOutputWithContext

func (i InstanceBlockDeviceArgs) ToInstanceBlockDeviceOutputWithContext(ctx context.Context) InstanceBlockDeviceOutput

type InstanceBlockDeviceArray

type InstanceBlockDeviceArray []InstanceBlockDeviceInput

func (InstanceBlockDeviceArray) ElementType

func (InstanceBlockDeviceArray) ElementType() reflect.Type

func (InstanceBlockDeviceArray) ToInstanceBlockDeviceArrayOutput

func (i InstanceBlockDeviceArray) ToInstanceBlockDeviceArrayOutput() InstanceBlockDeviceArrayOutput

func (InstanceBlockDeviceArray) ToInstanceBlockDeviceArrayOutputWithContext

func (i InstanceBlockDeviceArray) ToInstanceBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceBlockDeviceArrayOutput

type InstanceBlockDeviceArrayInput

type InstanceBlockDeviceArrayInput interface {
	pulumi.Input

	ToInstanceBlockDeviceArrayOutput() InstanceBlockDeviceArrayOutput
	ToInstanceBlockDeviceArrayOutputWithContext(context.Context) InstanceBlockDeviceArrayOutput
}

InstanceBlockDeviceArrayInput is an input type that accepts InstanceBlockDeviceArray and InstanceBlockDeviceArrayOutput values. You can construct a concrete instance of `InstanceBlockDeviceArrayInput` via:

InstanceBlockDeviceArray{ InstanceBlockDeviceArgs{...} }

type InstanceBlockDeviceArrayOutput

type InstanceBlockDeviceArrayOutput struct{ *pulumi.OutputState }

func (InstanceBlockDeviceArrayOutput) ElementType

func (InstanceBlockDeviceArrayOutput) Index

func (InstanceBlockDeviceArrayOutput) ToInstanceBlockDeviceArrayOutput

func (o InstanceBlockDeviceArrayOutput) ToInstanceBlockDeviceArrayOutput() InstanceBlockDeviceArrayOutput

func (InstanceBlockDeviceArrayOutput) ToInstanceBlockDeviceArrayOutputWithContext

func (o InstanceBlockDeviceArrayOutput) ToInstanceBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceBlockDeviceArrayOutput

type InstanceBlockDeviceInput

type InstanceBlockDeviceInput interface {
	pulumi.Input

	ToInstanceBlockDeviceOutput() InstanceBlockDeviceOutput
	ToInstanceBlockDeviceOutputWithContext(context.Context) InstanceBlockDeviceOutput
}

InstanceBlockDeviceInput is an input type that accepts InstanceBlockDeviceArgs and InstanceBlockDeviceOutput values. You can construct a concrete instance of `InstanceBlockDeviceInput` via:

InstanceBlockDeviceArgs{...}

type InstanceBlockDeviceOutput

type InstanceBlockDeviceOutput struct{ *pulumi.OutputState }

func (InstanceBlockDeviceOutput) BootIndex

The boot index of the volume. It defaults to 0. Changing this creates a new server.

func (InstanceBlockDeviceOutput) DeleteOnTermination

func (o InstanceBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput

Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.

func (InstanceBlockDeviceOutput) DestinationType

func (o InstanceBlockDeviceOutput) DestinationType() pulumi.StringPtrOutput

The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.

func (InstanceBlockDeviceOutput) DeviceType

The low-level device type that will be used. Most common thing is to leave this empty. Changing this creates a new server.

func (InstanceBlockDeviceOutput) DiskBus

The low-level disk bus that will be used. Most common thing is to leave this empty. Changing this creates a new server.

func (InstanceBlockDeviceOutput) ElementType

func (InstanceBlockDeviceOutput) ElementType() reflect.Type

func (InstanceBlockDeviceOutput) GuestFormat

Specifies the guest server disk file system format, such as `ext2`, `ext3`, `ext4`, `xfs` or `swap`. Swap block device mappings have the following restrictions: sourceType must be blank and destinationType must be local and only one swap disk per server and the size of the swap disk must be less than or equal to the swap size of the flavor. Changing this creates a new server.

func (InstanceBlockDeviceOutput) Multiattach

Enable the attachment of multiattach-capable volumes.

func (InstanceBlockDeviceOutput) SourceType

The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.

func (InstanceBlockDeviceOutput) ToInstanceBlockDeviceOutput

func (o InstanceBlockDeviceOutput) ToInstanceBlockDeviceOutput() InstanceBlockDeviceOutput

func (InstanceBlockDeviceOutput) ToInstanceBlockDeviceOutputWithContext

func (o InstanceBlockDeviceOutput) ToInstanceBlockDeviceOutputWithContext(ctx context.Context) InstanceBlockDeviceOutput

func (InstanceBlockDeviceOutput) Uuid

The UUID of the image, volume, or snapshot. Changing this creates a new server.

func (InstanceBlockDeviceOutput) VolumeSize

The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.

func (InstanceBlockDeviceOutput) VolumeType

The volume type that will be used, for example SSD or HDD storage. The available options depend on how your specific OpenStack cloud is configured and what classes of storage are provided. Changing this creates a new server.

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceNetwork

type InstanceNetwork struct {
	// Specifies if this network should be used for
	// provisioning access. Accepts true or false. Defaults to false.
	AccessNetwork *bool `pulumi:"accessNetwork"`
	// Specifies a fixed IPv4 address to be used on this
	// network. Changing this creates a new server.
	FixedIpV4 *string `pulumi:"fixedIpV4"`
	FixedIpV6 *string `pulumi:"fixedIpV6"`
	Mac       *string `pulumi:"mac"`
	// The human-readable
	// name of the network. Changing this creates a new server.
	Name *string `pulumi:"name"`
	// The port UUID of a
	// network to attach to the server. Changing this creates a new server.
	Port *string `pulumi:"port"`
	// The network UUID to
	// attach to the server. Changing this creates a new server.
	Uuid *string `pulumi:"uuid"`
}

type InstanceNetworkArgs

type InstanceNetworkArgs struct {
	// Specifies if this network should be used for
	// provisioning access. Accepts true or false. Defaults to false.
	AccessNetwork pulumi.BoolPtrInput `pulumi:"accessNetwork"`
	// Specifies a fixed IPv4 address to be used on this
	// network. Changing this creates a new server.
	FixedIpV4 pulumi.StringPtrInput `pulumi:"fixedIpV4"`
	FixedIpV6 pulumi.StringPtrInput `pulumi:"fixedIpV6"`
	Mac       pulumi.StringPtrInput `pulumi:"mac"`
	// The human-readable
	// name of the network. Changing this creates a new server.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The port UUID of a
	// network to attach to the server. Changing this creates a new server.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The network UUID to
	// attach to the server. Changing this creates a new server.
	Uuid pulumi.StringPtrInput `pulumi:"uuid"`
}

func (InstanceNetworkArgs) ElementType

func (InstanceNetworkArgs) ElementType() reflect.Type

func (InstanceNetworkArgs) ToInstanceNetworkOutput

func (i InstanceNetworkArgs) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkArgs) ToInstanceNetworkOutputWithContext

func (i InstanceNetworkArgs) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

type InstanceNetworkArray

type InstanceNetworkArray []InstanceNetworkInput

func (InstanceNetworkArray) ElementType

func (InstanceNetworkArray) ElementType() reflect.Type

func (InstanceNetworkArray) ToInstanceNetworkArrayOutput

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

type InstanceNetworkArrayInput

type InstanceNetworkArrayInput interface {
	pulumi.Input

	ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput
	ToInstanceNetworkArrayOutputWithContext(context.Context) InstanceNetworkArrayOutput
}

InstanceNetworkArrayInput is an input type that accepts InstanceNetworkArray and InstanceNetworkArrayOutput values. You can construct a concrete instance of `InstanceNetworkArrayInput` via:

InstanceNetworkArray{ InstanceNetworkArgs{...} }

type InstanceNetworkArrayOutput

type InstanceNetworkArrayOutput struct{ *pulumi.OutputState }

func (InstanceNetworkArrayOutput) ElementType

func (InstanceNetworkArrayOutput) ElementType() reflect.Type

func (InstanceNetworkArrayOutput) Index

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

type InstanceNetworkInput

type InstanceNetworkInput interface {
	pulumi.Input

	ToInstanceNetworkOutput() InstanceNetworkOutput
	ToInstanceNetworkOutputWithContext(context.Context) InstanceNetworkOutput
}

InstanceNetworkInput is an input type that accepts InstanceNetworkArgs and InstanceNetworkOutput values. You can construct a concrete instance of `InstanceNetworkInput` via:

InstanceNetworkArgs{...}

type InstanceNetworkOutput

type InstanceNetworkOutput struct{ *pulumi.OutputState }

func (InstanceNetworkOutput) AccessNetwork

func (o InstanceNetworkOutput) AccessNetwork() pulumi.BoolPtrOutput

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

func (InstanceNetworkOutput) ElementType

func (InstanceNetworkOutput) ElementType() reflect.Type

func (InstanceNetworkOutput) FixedIpV4

Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.

func (InstanceNetworkOutput) FixedIpV6

func (InstanceNetworkOutput) Mac

func (InstanceNetworkOutput) Name

The human-readable name of the network. Changing this creates a new server.

func (InstanceNetworkOutput) Port

The port UUID of a network to attach to the server. Changing this creates a new server.

func (InstanceNetworkOutput) ToInstanceNetworkOutput

func (o InstanceNetworkOutput) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkOutput) ToInstanceNetworkOutputWithContext

func (o InstanceNetworkOutput) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

func (InstanceNetworkOutput) Uuid

The network UUID to attach to the server. Changing this creates a new server.

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) AccessIpV4

func (o InstanceOutput) AccessIpV4() pulumi.StringOutput

The first detected Fixed IPv4 address.

func (InstanceOutput) AccessIpV6

func (o InstanceOutput) AccessIpV6() pulumi.StringOutput

The first detected Fixed IPv6 address.

func (InstanceOutput) AdminPass

func (o InstanceOutput) AdminPass() pulumi.StringPtrOutput

The administrative password to assign to the server. Changing this changes the root password on the existing server.

func (InstanceOutput) AllMetadata

func (o InstanceOutput) AllMetadata() pulumi.MapOutput

func (InstanceOutput) AllTags

The collection of tags assigned on the instance, which have been explicitly and implicitly added.

func (InstanceOutput) AvailabilityZone

func (o InstanceOutput) AvailabilityZone() pulumi.StringOutput

The availability zone in which to create the server. Conflicts with `availabilityZoneHints`. Changing this creates a new server.

func (InstanceOutput) AvailabilityZoneHints

func (o InstanceOutput) AvailabilityZoneHints() pulumi.StringPtrOutput

The availability zone in which to create the server. This argument is preferred to `availabilityZone`, when scheduling the server on a [particular](https://docs.openstack.org/nova/latest/admin/availability-zones.html) host or node. Conflicts with `availabilityZone`. Changing this creates a new server.

func (InstanceOutput) BlockDevices

Configuration of block devices. The blockDevice structure is documented below. Changing this creates a new server. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html) for more information.

func (InstanceOutput) ConfigDrive

func (o InstanceOutput) ConfigDrive() pulumi.BoolPtrOutput

Whether to use the configDrive feature to configure the instance. Changing this creates a new server.

func (InstanceOutput) Created

func (o InstanceOutput) Created() pulumi.StringOutput

The creation time of the instance.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) FlavorId

func (o InstanceOutput) FlavorId() pulumi.StringOutput

The flavor ID of the desired flavor for the server. Changing this resizes the existing server.

func (InstanceOutput) FlavorName

func (o InstanceOutput) FlavorName() pulumi.StringOutput

The name of the desired flavor for the server. Changing this resizes the existing server.

func (InstanceOutput) ForceDelete

func (o InstanceOutput) ForceDelete() pulumi.BoolPtrOutput

Whether to force the OpenStack instance to be forcefully deleted. This is useful for environments that have reclaim / soft deletion enabled.

func (InstanceOutput) ImageId

func (o InstanceOutput) ImageId() pulumi.StringOutput

(Optional; Required if `imageName` is empty and not booting from a volume. Do not specify if booting from a volume.) The image ID of the desired image for the server. Changing this rebuilds the existing server.

func (InstanceOutput) ImageName

func (o InstanceOutput) ImageName() pulumi.StringOutput

(Optional; Required if `imageId` is empty and not booting from a volume. Do not specify if booting from a volume.) The name of the desired image for the server. Changing this rebuilds the existing server.

func (InstanceOutput) KeyPair

The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.

func (InstanceOutput) Metadata

func (o InstanceOutput) Metadata() pulumi.MapOutput

Metadata key/value pairs to make available from within the instance. Changing this updates the existing server metadata.

func (InstanceOutput) Name

A unique name for the resource.

func (InstanceOutput) NetworkMode

func (o InstanceOutput) NetworkMode() pulumi.StringPtrOutput

Special string for `network` option to create the server. `networkMode` can be `"auto"` or `"none"`. Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with `network`.

func (InstanceOutput) Networks

An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.

func (InstanceOutput) Personalities

Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below. Changing this rebuilds the existing server.

func (InstanceOutput) PowerState

func (o InstanceOutput) PowerState() pulumi.StringPtrOutput

Provide the VM state. Only 'active', 'shutoff' and 'shelved_offloaded' are supported values. *Note*: If the initial powerState is the shutoff the VM will be stopped immediately after build and the provisioners like remote-exec or files are not supported.

func (InstanceOutput) Region

func (o InstanceOutput) Region() pulumi.StringOutput

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

func (InstanceOutput) SchedulerHints

Provide the Nova scheduler with hints on how the instance should be launched. The available hints are described below.

func (InstanceOutput) SecurityGroups

func (o InstanceOutput) SecurityGroups() pulumi.StringArrayOutput

An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. *Note*: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance. *Note*: Names should be used and not ids, as ids trigger unnecessary updates.

func (InstanceOutput) StopBeforeDestroy

func (o InstanceOutput) StopBeforeDestroy() pulumi.BoolPtrOutput

Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.

func (InstanceOutput) Tags

A set of string tags for the instance. Changing this updates the existing instance tags.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) Updated

func (o InstanceOutput) Updated() pulumi.StringOutput

The time when the instance was last updated.

func (InstanceOutput) UserData

func (o InstanceOutput) UserData() pulumi.StringPtrOutput

The user data to provide when launching the instance. Changing this creates a new server.

func (InstanceOutput) VendorOptions

Map of additional vendor-specific options. Supported options are described below.

type InstancePersonality

type InstancePersonality struct {
	// The contents of the file. Limited to 255 bytes.
	Content string `pulumi:"content"`
	// The absolute path of the destination file.
	File string `pulumi:"file"`
}

type InstancePersonalityArgs

type InstancePersonalityArgs struct {
	// The contents of the file. Limited to 255 bytes.
	Content pulumi.StringInput `pulumi:"content"`
	// The absolute path of the destination file.
	File pulumi.StringInput `pulumi:"file"`
}

func (InstancePersonalityArgs) ElementType

func (InstancePersonalityArgs) ElementType() reflect.Type

func (InstancePersonalityArgs) ToInstancePersonalityOutput

func (i InstancePersonalityArgs) ToInstancePersonalityOutput() InstancePersonalityOutput

func (InstancePersonalityArgs) ToInstancePersonalityOutputWithContext

func (i InstancePersonalityArgs) ToInstancePersonalityOutputWithContext(ctx context.Context) InstancePersonalityOutput

type InstancePersonalityArray

type InstancePersonalityArray []InstancePersonalityInput

func (InstancePersonalityArray) ElementType

func (InstancePersonalityArray) ElementType() reflect.Type

func (InstancePersonalityArray) ToInstancePersonalityArrayOutput

func (i InstancePersonalityArray) ToInstancePersonalityArrayOutput() InstancePersonalityArrayOutput

func (InstancePersonalityArray) ToInstancePersonalityArrayOutputWithContext

func (i InstancePersonalityArray) ToInstancePersonalityArrayOutputWithContext(ctx context.Context) InstancePersonalityArrayOutput

type InstancePersonalityArrayInput

type InstancePersonalityArrayInput interface {
	pulumi.Input

	ToInstancePersonalityArrayOutput() InstancePersonalityArrayOutput
	ToInstancePersonalityArrayOutputWithContext(context.Context) InstancePersonalityArrayOutput
}

InstancePersonalityArrayInput is an input type that accepts InstancePersonalityArray and InstancePersonalityArrayOutput values. You can construct a concrete instance of `InstancePersonalityArrayInput` via:

InstancePersonalityArray{ InstancePersonalityArgs{...} }

type InstancePersonalityArrayOutput

type InstancePersonalityArrayOutput struct{ *pulumi.OutputState }

func (InstancePersonalityArrayOutput) ElementType

func (InstancePersonalityArrayOutput) Index

func (InstancePersonalityArrayOutput) ToInstancePersonalityArrayOutput

func (o InstancePersonalityArrayOutput) ToInstancePersonalityArrayOutput() InstancePersonalityArrayOutput

func (InstancePersonalityArrayOutput) ToInstancePersonalityArrayOutputWithContext

func (o InstancePersonalityArrayOutput) ToInstancePersonalityArrayOutputWithContext(ctx context.Context) InstancePersonalityArrayOutput

type InstancePersonalityInput

type InstancePersonalityInput interface {
	pulumi.Input

	ToInstancePersonalityOutput() InstancePersonalityOutput
	ToInstancePersonalityOutputWithContext(context.Context) InstancePersonalityOutput
}

InstancePersonalityInput is an input type that accepts InstancePersonalityArgs and InstancePersonalityOutput values. You can construct a concrete instance of `InstancePersonalityInput` via:

InstancePersonalityArgs{...}

type InstancePersonalityOutput

type InstancePersonalityOutput struct{ *pulumi.OutputState }

func (InstancePersonalityOutput) Content

The contents of the file. Limited to 255 bytes.

func (InstancePersonalityOutput) ElementType

func (InstancePersonalityOutput) ElementType() reflect.Type

func (InstancePersonalityOutput) File

The absolute path of the destination file.

func (InstancePersonalityOutput) ToInstancePersonalityOutput

func (o InstancePersonalityOutput) ToInstancePersonalityOutput() InstancePersonalityOutput

func (InstancePersonalityOutput) ToInstancePersonalityOutputWithContext

func (o InstancePersonalityOutput) ToInstancePersonalityOutputWithContext(ctx context.Context) InstancePersonalityOutput

type InstanceSchedulerHint

type InstanceSchedulerHint struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties map[string]interface{} `pulumi:"additionalProperties"`
	// An IP Address in CIDR form. The instance
	// will be placed on a compute node that is in the same subnet.
	BuildNearHostIp *string `pulumi:"buildNearHostIp"`
	// The names of cells where not to build the instance.
	DifferentCells []string `pulumi:"differentCells"`
	// A list of instance UUIDs. The instance will
	// be scheduled on a different host than all other instances.
	DifferentHosts []string `pulumi:"differentHosts"`
	// A UUID of a Server Group. The instance will be placed
	// into that group. See reference
	// for details on managing servergroup resources
	Group *string `pulumi:"group"`
	// A conditional query that a compute node must pass in
	// order to host an instance. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/nova/latest/admin/configuration/schedulers.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:
	Queries []string `pulumi:"queries"`
	// A list of instance UUIDs. The instance will be
	// scheduled on the same host of those specified.
	SameHosts []string `pulumi:"sameHosts"`
	// The name of a cell to host the instance.
	TargetCell *string `pulumi:"targetCell"`
}

type InstanceSchedulerHintArgs

type InstanceSchedulerHintArgs struct {
	// Arbitrary key/value pairs of additional
	// properties to pass to the scheduler.
	AdditionalProperties pulumi.MapInput `pulumi:"additionalProperties"`
	// An IP Address in CIDR form. The instance
	// will be placed on a compute node that is in the same subnet.
	BuildNearHostIp pulumi.StringPtrInput `pulumi:"buildNearHostIp"`
	// The names of cells where not to build the instance.
	DifferentCells pulumi.StringArrayInput `pulumi:"differentCells"`
	// A list of instance UUIDs. The instance will
	// be scheduled on a different host than all other instances.
	DifferentHosts pulumi.StringArrayInput `pulumi:"differentHosts"`
	// A UUID of a Server Group. The instance will be placed
	// into that group. See reference
	// for details on managing servergroup resources
	Group pulumi.StringPtrInput `pulumi:"group"`
	// A conditional query that a compute node must pass in
	// order to host an instance. The query must use the `JsonFilter` syntax
	// which is described
	// [here](https://docs.openstack.org/nova/latest/admin/configuration/schedulers.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:
	Queries pulumi.StringArrayInput `pulumi:"queries"`
	// A list of instance UUIDs. The instance will be
	// scheduled on the same host of those specified.
	SameHosts pulumi.StringArrayInput `pulumi:"sameHosts"`
	// The name of a cell to host the instance.
	TargetCell pulumi.StringPtrInput `pulumi:"targetCell"`
}

func (InstanceSchedulerHintArgs) ElementType

func (InstanceSchedulerHintArgs) ElementType() reflect.Type

func (InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutput

func (i InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput

func (InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutputWithContext

func (i InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutputWithContext(ctx context.Context) InstanceSchedulerHintOutput

type InstanceSchedulerHintArray

type InstanceSchedulerHintArray []InstanceSchedulerHintInput

func (InstanceSchedulerHintArray) ElementType

func (InstanceSchedulerHintArray) ElementType() reflect.Type

func (InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutput

func (i InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput

func (InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutputWithContext

func (i InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintArrayInput

type InstanceSchedulerHintArrayInput interface {
	pulumi.Input

	ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput
	ToInstanceSchedulerHintArrayOutputWithContext(context.Context) InstanceSchedulerHintArrayOutput
}

InstanceSchedulerHintArrayInput is an input type that accepts InstanceSchedulerHintArray and InstanceSchedulerHintArrayOutput values. You can construct a concrete instance of `InstanceSchedulerHintArrayInput` via:

InstanceSchedulerHintArray{ InstanceSchedulerHintArgs{...} }

type InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (InstanceSchedulerHintArrayOutput) ElementType

func (InstanceSchedulerHintArrayOutput) Index

func (InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutput

func (o InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput

func (InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutputWithContext

func (o InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintInput

type InstanceSchedulerHintInput interface {
	pulumi.Input

	ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput
	ToInstanceSchedulerHintOutputWithContext(context.Context) InstanceSchedulerHintOutput
}

InstanceSchedulerHintInput is an input type that accepts InstanceSchedulerHintArgs and InstanceSchedulerHintOutput values. You can construct a concrete instance of `InstanceSchedulerHintInput` via:

InstanceSchedulerHintArgs{...}

type InstanceSchedulerHintOutput

type InstanceSchedulerHintOutput struct{ *pulumi.OutputState }

func (InstanceSchedulerHintOutput) AdditionalProperties

func (o InstanceSchedulerHintOutput) AdditionalProperties() pulumi.MapOutput

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

func (InstanceSchedulerHintOutput) BuildNearHostIp

An IP Address in CIDR form. The instance will be placed on a compute node that is in the same subnet.

func (InstanceSchedulerHintOutput) DifferentCells

The names of cells where not to build the instance.

func (InstanceSchedulerHintOutput) DifferentHosts

A list of instance UUIDs. The instance will be scheduled on a different host than all other instances.

func (InstanceSchedulerHintOutput) ElementType

func (InstanceSchedulerHintOutput) Group

A UUID of a Server Group. The instance will be placed into that group. See reference for details on managing servergroup resources

func (InstanceSchedulerHintOutput) Queries

A conditional query that a compute node must pass in order to host an instance. The query must use the `JsonFilter` syntax which is described [here](https://docs.openstack.org/nova/latest/admin/configuration/schedulers.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 (InstanceSchedulerHintOutput) SameHosts

A list of instance UUIDs. The instance will be scheduled on the same host of those specified.

func (InstanceSchedulerHintOutput) TargetCell

The name of a cell to host the instance.

func (InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutput

func (o InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput

func (InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutputWithContext

func (o InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutputWithContext(ctx context.Context) InstanceSchedulerHintOutput

type InstanceState

type InstanceState struct {
	// The first detected Fixed IPv4 address.
	AccessIpV4 pulumi.StringPtrInput
	// The first detected Fixed IPv6 address.
	AccessIpV6 pulumi.StringPtrInput
	// The administrative password to assign to the server.
	// Changing this changes the root password on the existing server.
	AdminPass   pulumi.StringPtrInput
	AllMetadata pulumi.MapInput
	// The collection of tags assigned on the instance, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// The availability zone in which to create
	// the server. Conflicts with `availabilityZoneHints`. Changing this creates
	// a new server.
	AvailabilityZone pulumi.StringPtrInput
	// The availability zone in which to
	// create the server. This argument is preferred to `availabilityZone`, when
	// scheduling the server on a
	// [particular](https://docs.openstack.org/nova/latest/admin/availability-zones.html)
	// host or node. Conflicts with `availabilityZone`. Changing this creates a
	// new server.
	AvailabilityZoneHints pulumi.StringPtrInput
	// Configuration of block devices. The blockDevice
	// structure is documented below. Changing this creates a new server.
	// You can specify multiple block devices which will create an instance with
	// multiple disks. This configuration is very flexible, so please see the
	// following [reference](https://docs.openstack.org/nova/latest/user/block-device-mapping.html)
	// for more information.
	BlockDevices InstanceBlockDeviceArrayInput
	// Whether to use the configDrive feature to
	// configure the instance. Changing this creates a new server.
	ConfigDrive pulumi.BoolPtrInput
	// The creation time of the instance.
	Created pulumi.StringPtrInput
	// The flavor ID of
	// the desired flavor for the server. Changing this resizes the existing server.
	FlavorId pulumi.StringPtrInput
	// The name of the
	// desired flavor for the server. Changing this resizes the existing server.
	FlavorName pulumi.StringPtrInput
	// Whether to force the OpenStack instance to be
	// forcefully deleted. This is useful for environments that have reclaim / soft
	// deletion enabled.
	ForceDelete pulumi.BoolPtrInput
	// (Optional; Required if `imageName` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The image ID of
	// the desired image for the server. Changing this rebuilds the existing
	// server.
	ImageId pulumi.StringPtrInput
	// (Optional; Required if `imageId` is empty and not booting
	// from a volume. Do not specify if booting from a volume.) The name of the
	// desired image for the server. Changing this rebuilds the existing server.
	ImageName pulumi.StringPtrInput
	// The name of a key pair to put on the server. The key
	// pair must already be created and associated with the tenant's account.
	// Changing this creates a new server.
	KeyPair pulumi.StringPtrInput
	// Metadata key/value pairs to make available from
	// within the instance. Changing this updates the existing server metadata.
	Metadata pulumi.MapInput
	// A unique name for the resource.
	Name pulumi.StringPtrInput
	// Special string for `network` option to create
	// the server. `networkMode` can be `"auto"` or `"none"`.
	// Please see the following [reference](https://docs.openstack.org/api-ref/compute/?expanded=create-server-detail#id11) for more information. Conflicts with `network`.
	NetworkMode pulumi.StringPtrInput
	// An array of one or more networks to attach to the
	// instance. The network object structure is documented below. Changing this
	// creates a new server.
	Networks InstanceNetworkArrayInput
	// Customize the personality of an instance by
	// defining one or more files and their contents. The personality structure
	// is described below. Changing this rebuilds the existing server.
	Personalities InstancePersonalityArrayInput
	// Provide the VM state. Only 'active', 'shutoff'
	// and 'shelved_offloaded' are supported values.
	// *Note*: If the initial powerState is the shutoff
	// the VM will be stopped immediately after build and the provisioners like
	// remote-exec or files are not supported.
	PowerState pulumi.StringPtrInput
	// The region in which to create the server instance. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates a new server.
	Region pulumi.StringPtrInput
	// Provide the Nova scheduler with hints on how
	// the instance should be launched. The available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayInput
	// An array of one or more security group names
	// to associate with the server. Changing this results in adding/removing
	// security groups from the existing server. *Note*: When attaching the
	// instance to networks using Ports, place the security groups on the Port
	// and not the instance. *Note*: Names should be used and not ids, as ids
	// trigger unnecessary updates.
	SecurityGroups pulumi.StringArrayInput
	// Whether to try stop instance gracefully
	// before destroying it, thus giving chance for guest OS daemons to stop correctly.
	// If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrInput
	// A set of string tags for the instance. Changing this
	// updates the existing instance tags.
	Tags pulumi.StringArrayInput
	// The time when the instance was last updated.
	Updated pulumi.StringPtrInput
	// The user data to provide when launching the instance.
	// Changing this creates a new server.
	UserData pulumi.StringPtrInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions InstanceVendorOptionsPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type InstanceVendorOptions

type InstanceVendorOptions struct {
	// Whether to try to detach all attached
	// ports to the vm before destroying it to make sure the port state is correct
	// after the vm destruction. This is helpful when the port is not deleted.
	DetachPortsBeforeDestroy *bool `pulumi:"detachPortsBeforeDestroy"`
	// Boolean to control whether
	// to ignore manual confirmation of the instance resizing. This can be helpful
	// to work with some OpenStack clouds which automatically confirm resizing of
	// instances after some timeout.
	IgnoreResizeConfirmation *bool `pulumi:"ignoreResizeConfirmation"`
}

type InstanceVendorOptionsArgs

type InstanceVendorOptionsArgs struct {
	// Whether to try to detach all attached
	// ports to the vm before destroying it to make sure the port state is correct
	// after the vm destruction. This is helpful when the port is not deleted.
	DetachPortsBeforeDestroy pulumi.BoolPtrInput `pulumi:"detachPortsBeforeDestroy"`
	// Boolean to control whether
	// to ignore manual confirmation of the instance resizing. This can be helpful
	// to work with some OpenStack clouds which automatically confirm resizing of
	// instances after some timeout.
	IgnoreResizeConfirmation pulumi.BoolPtrInput `pulumi:"ignoreResizeConfirmation"`
}

func (InstanceVendorOptionsArgs) ElementType

func (InstanceVendorOptionsArgs) ElementType() reflect.Type

func (InstanceVendorOptionsArgs) ToInstanceVendorOptionsOutput

func (i InstanceVendorOptionsArgs) ToInstanceVendorOptionsOutput() InstanceVendorOptionsOutput

func (InstanceVendorOptionsArgs) ToInstanceVendorOptionsOutputWithContext

func (i InstanceVendorOptionsArgs) ToInstanceVendorOptionsOutputWithContext(ctx context.Context) InstanceVendorOptionsOutput

func (InstanceVendorOptionsArgs) ToInstanceVendorOptionsPtrOutput

func (i InstanceVendorOptionsArgs) ToInstanceVendorOptionsPtrOutput() InstanceVendorOptionsPtrOutput

func (InstanceVendorOptionsArgs) ToInstanceVendorOptionsPtrOutputWithContext

func (i InstanceVendorOptionsArgs) ToInstanceVendorOptionsPtrOutputWithContext(ctx context.Context) InstanceVendorOptionsPtrOutput

type InstanceVendorOptionsInput

type InstanceVendorOptionsInput interface {
	pulumi.Input

	ToInstanceVendorOptionsOutput() InstanceVendorOptionsOutput
	ToInstanceVendorOptionsOutputWithContext(context.Context) InstanceVendorOptionsOutput
}

InstanceVendorOptionsInput is an input type that accepts InstanceVendorOptionsArgs and InstanceVendorOptionsOutput values. You can construct a concrete instance of `InstanceVendorOptionsInput` via:

InstanceVendorOptionsArgs{...}

type InstanceVendorOptionsOutput

type InstanceVendorOptionsOutput struct{ *pulumi.OutputState }

func (InstanceVendorOptionsOutput) DetachPortsBeforeDestroy

func (o InstanceVendorOptionsOutput) DetachPortsBeforeDestroy() pulumi.BoolPtrOutput

Whether to try to detach all attached ports to the vm before destroying it to make sure the port state is correct after the vm destruction. This is helpful when the port is not deleted.

func (InstanceVendorOptionsOutput) ElementType

func (InstanceVendorOptionsOutput) IgnoreResizeConfirmation

func (o InstanceVendorOptionsOutput) IgnoreResizeConfirmation() pulumi.BoolPtrOutput

Boolean to control whether to ignore manual confirmation of the instance resizing. This can be helpful to work with some OpenStack clouds which automatically confirm resizing of instances after some timeout.

func (InstanceVendorOptionsOutput) ToInstanceVendorOptionsOutput

func (o InstanceVendorOptionsOutput) ToInstanceVendorOptionsOutput() InstanceVendorOptionsOutput

func (InstanceVendorOptionsOutput) ToInstanceVendorOptionsOutputWithContext

func (o InstanceVendorOptionsOutput) ToInstanceVendorOptionsOutputWithContext(ctx context.Context) InstanceVendorOptionsOutput

func (InstanceVendorOptionsOutput) ToInstanceVendorOptionsPtrOutput

func (o InstanceVendorOptionsOutput) ToInstanceVendorOptionsPtrOutput() InstanceVendorOptionsPtrOutput

func (InstanceVendorOptionsOutput) ToInstanceVendorOptionsPtrOutputWithContext

func (o InstanceVendorOptionsOutput) ToInstanceVendorOptionsPtrOutputWithContext(ctx context.Context) InstanceVendorOptionsPtrOutput

type InstanceVendorOptionsPtrInput

type InstanceVendorOptionsPtrInput interface {
	pulumi.Input

	ToInstanceVendorOptionsPtrOutput() InstanceVendorOptionsPtrOutput
	ToInstanceVendorOptionsPtrOutputWithContext(context.Context) InstanceVendorOptionsPtrOutput
}

InstanceVendorOptionsPtrInput is an input type that accepts InstanceVendorOptionsArgs, InstanceVendorOptionsPtr and InstanceVendorOptionsPtrOutput values. You can construct a concrete instance of `InstanceVendorOptionsPtrInput` via:

        InstanceVendorOptionsArgs{...}

or:

        nil

type InstanceVendorOptionsPtrOutput

type InstanceVendorOptionsPtrOutput struct{ *pulumi.OutputState }

func (InstanceVendorOptionsPtrOutput) DetachPortsBeforeDestroy

func (o InstanceVendorOptionsPtrOutput) DetachPortsBeforeDestroy() pulumi.BoolPtrOutput

Whether to try to detach all attached ports to the vm before destroying it to make sure the port state is correct after the vm destruction. This is helpful when the port is not deleted.

func (InstanceVendorOptionsPtrOutput) Elem

func (InstanceVendorOptionsPtrOutput) ElementType

func (InstanceVendorOptionsPtrOutput) IgnoreResizeConfirmation

func (o InstanceVendorOptionsPtrOutput) IgnoreResizeConfirmation() pulumi.BoolPtrOutput

Boolean to control whether to ignore manual confirmation of the instance resizing. This can be helpful to work with some OpenStack clouds which automatically confirm resizing of instances after some timeout.

func (InstanceVendorOptionsPtrOutput) ToInstanceVendorOptionsPtrOutput

func (o InstanceVendorOptionsPtrOutput) ToInstanceVendorOptionsPtrOutput() InstanceVendorOptionsPtrOutput

func (InstanceVendorOptionsPtrOutput) ToInstanceVendorOptionsPtrOutputWithContext

func (o InstanceVendorOptionsPtrOutput) ToInstanceVendorOptionsPtrOutputWithContext(ctx context.Context) InstanceVendorOptionsPtrOutput

type InterfaceAttach

type InterfaceAttach struct {
	pulumi.CustomResourceState

	// An IP address to assosciate with the port.
	// _NOTE_: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ID of the Network to attach to an Instance. A port will be created automatically.
	// _NOTE_: This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// The ID of the Port to attach to an Instance.
	// _NOTE_: This option and `networkId` are mutually exclusive.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to create the interface attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new attachment.
	Region pulumi.StringOutput `pulumi:"region"`
}

Attaches a Network Interface (a Port) to an Instance using the OpenStack Compute (Nova) v2 API.

## Example Usage

### Basic Attachment

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInterfaceAttach(ctx, "ai_1", &compute.InterfaceAttachArgs{
			InstanceId: instance1.ID(),
			NetworkId:  pulumi.Any(network1OpenstackNetworkingPortV2.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Attachment Specifying a Fixed IP

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInterfaceAttach(ctx, "ai_1", &compute.InterfaceAttachArgs{
			InstanceId: instance1.ID(),
			NetworkId:  pulumi.Any(network1OpenstackNetworkingPortV2.Id),
			FixedIp:    pulumi.String("10.0.10.10"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Attachment Using an Existing Port

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		port1, err := networking.NewPort(ctx, "port_1", &networking.PortArgs{
			Name:         pulumi.String("port_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInterfaceAttach(ctx, "ai_1", &compute.InterfaceAttachArgs{
			InstanceId: instance1.ID(),
			PortId:     port1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Interface Attachments can be imported using the Instance ID and Port ID separated by a slash, e.g.

```sh $ pulumi import openstack:compute/interfaceAttach:InterfaceAttach ai_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666 ```

func GetInterfaceAttach

func GetInterfaceAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InterfaceAttachState, opts ...pulumi.ResourceOption) (*InterfaceAttach, error)

GetInterfaceAttach gets an existing InterfaceAttach 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 NewInterfaceAttach

func NewInterfaceAttach(ctx *pulumi.Context,
	name string, args *InterfaceAttachArgs, opts ...pulumi.ResourceOption) (*InterfaceAttach, error)

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

func (*InterfaceAttach) ElementType

func (*InterfaceAttach) ElementType() reflect.Type

func (*InterfaceAttach) ToInterfaceAttachOutput

func (i *InterfaceAttach) ToInterfaceAttachOutput() InterfaceAttachOutput

func (*InterfaceAttach) ToInterfaceAttachOutputWithContext

func (i *InterfaceAttach) ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput

type InterfaceAttachArgs

type InterfaceAttachArgs struct {
	// An IP address to assosciate with the port.
	// _NOTE_: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
	FixedIp pulumi.StringPtrInput
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringInput
	// The ID of the Network to attach to an Instance. A port will be created automatically.
	// _NOTE_: This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringPtrInput
	// The ID of the Port to attach to an Instance.
	// _NOTE_: This option and `networkId` are mutually exclusive.
	PortId pulumi.StringPtrInput
	// The region in which to create the interface attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new attachment.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a InterfaceAttach resource.

func (InterfaceAttachArgs) ElementType

func (InterfaceAttachArgs) ElementType() reflect.Type

type InterfaceAttachArray

type InterfaceAttachArray []InterfaceAttachInput

func (InterfaceAttachArray) ElementType

func (InterfaceAttachArray) ElementType() reflect.Type

func (InterfaceAttachArray) ToInterfaceAttachArrayOutput

func (i InterfaceAttachArray) ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput

func (InterfaceAttachArray) ToInterfaceAttachArrayOutputWithContext

func (i InterfaceAttachArray) ToInterfaceAttachArrayOutputWithContext(ctx context.Context) InterfaceAttachArrayOutput

type InterfaceAttachArrayInput

type InterfaceAttachArrayInput interface {
	pulumi.Input

	ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput
	ToInterfaceAttachArrayOutputWithContext(context.Context) InterfaceAttachArrayOutput
}

InterfaceAttachArrayInput is an input type that accepts InterfaceAttachArray and InterfaceAttachArrayOutput values. You can construct a concrete instance of `InterfaceAttachArrayInput` via:

InterfaceAttachArray{ InterfaceAttachArgs{...} }

type InterfaceAttachArrayOutput

type InterfaceAttachArrayOutput struct{ *pulumi.OutputState }

func (InterfaceAttachArrayOutput) ElementType

func (InterfaceAttachArrayOutput) ElementType() reflect.Type

func (InterfaceAttachArrayOutput) Index

func (InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutput

func (o InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput

func (InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutputWithContext

func (o InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutputWithContext(ctx context.Context) InterfaceAttachArrayOutput

type InterfaceAttachInput

type InterfaceAttachInput interface {
	pulumi.Input

	ToInterfaceAttachOutput() InterfaceAttachOutput
	ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput
}

type InterfaceAttachMap

type InterfaceAttachMap map[string]InterfaceAttachInput

func (InterfaceAttachMap) ElementType

func (InterfaceAttachMap) ElementType() reflect.Type

func (InterfaceAttachMap) ToInterfaceAttachMapOutput

func (i InterfaceAttachMap) ToInterfaceAttachMapOutput() InterfaceAttachMapOutput

func (InterfaceAttachMap) ToInterfaceAttachMapOutputWithContext

func (i InterfaceAttachMap) ToInterfaceAttachMapOutputWithContext(ctx context.Context) InterfaceAttachMapOutput

type InterfaceAttachMapInput

type InterfaceAttachMapInput interface {
	pulumi.Input

	ToInterfaceAttachMapOutput() InterfaceAttachMapOutput
	ToInterfaceAttachMapOutputWithContext(context.Context) InterfaceAttachMapOutput
}

InterfaceAttachMapInput is an input type that accepts InterfaceAttachMap and InterfaceAttachMapOutput values. You can construct a concrete instance of `InterfaceAttachMapInput` via:

InterfaceAttachMap{ "key": InterfaceAttachArgs{...} }

type InterfaceAttachMapOutput

type InterfaceAttachMapOutput struct{ *pulumi.OutputState }

func (InterfaceAttachMapOutput) ElementType

func (InterfaceAttachMapOutput) ElementType() reflect.Type

func (InterfaceAttachMapOutput) MapIndex

func (InterfaceAttachMapOutput) ToInterfaceAttachMapOutput

func (o InterfaceAttachMapOutput) ToInterfaceAttachMapOutput() InterfaceAttachMapOutput

func (InterfaceAttachMapOutput) ToInterfaceAttachMapOutputWithContext

func (o InterfaceAttachMapOutput) ToInterfaceAttachMapOutputWithContext(ctx context.Context) InterfaceAttachMapOutput

type InterfaceAttachOutput

type InterfaceAttachOutput struct{ *pulumi.OutputState }

func (InterfaceAttachOutput) ElementType

func (InterfaceAttachOutput) ElementType() reflect.Type

func (InterfaceAttachOutput) FixedIp

An IP address to assosciate with the port. _NOTE_: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.

func (InterfaceAttachOutput) InstanceId

func (o InterfaceAttachOutput) InstanceId() pulumi.StringOutput

The ID of the Instance to attach the Port or Network to.

func (InterfaceAttachOutput) NetworkId

The ID of the Network to attach to an Instance. A port will be created automatically. _NOTE_: This option and `portId` are mutually exclusive.

func (InterfaceAttachOutput) PortId

The ID of the Port to attach to an Instance. _NOTE_: This option and `networkId` are mutually exclusive.

func (InterfaceAttachOutput) Region

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

func (InterfaceAttachOutput) ToInterfaceAttachOutput

func (o InterfaceAttachOutput) ToInterfaceAttachOutput() InterfaceAttachOutput

func (InterfaceAttachOutput) ToInterfaceAttachOutputWithContext

func (o InterfaceAttachOutput) ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput

type InterfaceAttachState

type InterfaceAttachState struct {
	// An IP address to assosciate with the port.
	// _NOTE_: This option cannot be used with port_id. You must specifiy a network_id. The IP address must lie in a range on the supplied network.
	FixedIp pulumi.StringPtrInput
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringPtrInput
	// The ID of the Network to attach to an Instance. A port will be created automatically.
	// _NOTE_: This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringPtrInput
	// The ID of the Port to attach to an Instance.
	// _NOTE_: This option and `networkId` are mutually exclusive.
	PortId pulumi.StringPtrInput
	// The region in which to create the interface attachment.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new attachment.
	Region pulumi.StringPtrInput
}

func (InterfaceAttachState) ElementType

func (InterfaceAttachState) ElementType() reflect.Type

type Keypair

type Keypair struct {
	pulumi.CustomResourceState

	// The fingerprint of the public key.
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// A unique name for the keypair. Changing this creates a new
	// keypair.
	Name pulumi.StringOutput `pulumi:"name"`
	// The generated private key when no public key is specified.
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
	// A pregenerated OpenSSH-formatted public key.
	// Changing this creates a new keypair. If a public key is not specified, then
	// a public/private key pair will be automatically generated. If a pair is
	// created, then destroying this resource means you will lose access to that
	// keypair forever.
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new keypair.
	Region pulumi.StringOutput `pulumi:"region"`
	// This allows administrative users to operate key-pairs
	// of specified user ID. For this feature your need to have openstack microversion
	// 2.10 (Liberty) or later.
	UserId pulumi.StringOutput `pulumi:"userId"`
	// Map of additional options.
	ValueSpecs pulumi.MapOutput `pulumi:"valueSpecs"`
}

## Example Usage

### Import an Existing Public Key

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewKeypair(ctx, "test-keypair", &compute.KeypairArgs{
			Name:      pulumi.String("my-keypair"),
			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Generate a Public/Private Key Pair

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewKeypair(ctx, "test-keypair", &compute.KeypairArgs{
			Name: pulumi.String("my-keypair"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Keypairs can be imported using the `name`, e.g.

```sh $ pulumi import openstack:compute/keypair:Keypair my-keypair test-keypair ```

func GetKeypair

func GetKeypair(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KeypairState, opts ...pulumi.ResourceOption) (*Keypair, error)

GetKeypair gets an existing Keypair 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 NewKeypair

func NewKeypair(ctx *pulumi.Context,
	name string, args *KeypairArgs, opts ...pulumi.ResourceOption) (*Keypair, error)

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

func (*Keypair) ElementType

func (*Keypair) ElementType() reflect.Type

func (*Keypair) ToKeypairOutput

func (i *Keypair) ToKeypairOutput() KeypairOutput

func (*Keypair) ToKeypairOutputWithContext

func (i *Keypair) ToKeypairOutputWithContext(ctx context.Context) KeypairOutput

type KeypairArgs

type KeypairArgs struct {
	// A unique name for the keypair. Changing this creates a new
	// keypair.
	Name pulumi.StringPtrInput
	// A pregenerated OpenSSH-formatted public key.
	// Changing this creates a new keypair. If a public key is not specified, then
	// a public/private key pair will be automatically generated. If a pair is
	// created, then destroying this resource means you will lose access to that
	// keypair forever.
	PublicKey pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new keypair.
	Region pulumi.StringPtrInput
	// This allows administrative users to operate key-pairs
	// of specified user ID. For this feature your need to have openstack microversion
	// 2.10 (Liberty) or later.
	UserId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.MapInput
}

The set of arguments for constructing a Keypair resource.

func (KeypairArgs) ElementType

func (KeypairArgs) ElementType() reflect.Type

type KeypairArray

type KeypairArray []KeypairInput

func (KeypairArray) ElementType

func (KeypairArray) ElementType() reflect.Type

func (KeypairArray) ToKeypairArrayOutput

func (i KeypairArray) ToKeypairArrayOutput() KeypairArrayOutput

func (KeypairArray) ToKeypairArrayOutputWithContext

func (i KeypairArray) ToKeypairArrayOutputWithContext(ctx context.Context) KeypairArrayOutput

type KeypairArrayInput

type KeypairArrayInput interface {
	pulumi.Input

	ToKeypairArrayOutput() KeypairArrayOutput
	ToKeypairArrayOutputWithContext(context.Context) KeypairArrayOutput
}

KeypairArrayInput is an input type that accepts KeypairArray and KeypairArrayOutput values. You can construct a concrete instance of `KeypairArrayInput` via:

KeypairArray{ KeypairArgs{...} }

type KeypairArrayOutput

type KeypairArrayOutput struct{ *pulumi.OutputState }

func (KeypairArrayOutput) ElementType

func (KeypairArrayOutput) ElementType() reflect.Type

func (KeypairArrayOutput) Index

func (KeypairArrayOutput) ToKeypairArrayOutput

func (o KeypairArrayOutput) ToKeypairArrayOutput() KeypairArrayOutput

func (KeypairArrayOutput) ToKeypairArrayOutputWithContext

func (o KeypairArrayOutput) ToKeypairArrayOutputWithContext(ctx context.Context) KeypairArrayOutput

type KeypairInput

type KeypairInput interface {
	pulumi.Input

	ToKeypairOutput() KeypairOutput
	ToKeypairOutputWithContext(ctx context.Context) KeypairOutput
}

type KeypairMap

type KeypairMap map[string]KeypairInput

func (KeypairMap) ElementType

func (KeypairMap) ElementType() reflect.Type

func (KeypairMap) ToKeypairMapOutput

func (i KeypairMap) ToKeypairMapOutput() KeypairMapOutput

func (KeypairMap) ToKeypairMapOutputWithContext

func (i KeypairMap) ToKeypairMapOutputWithContext(ctx context.Context) KeypairMapOutput

type KeypairMapInput

type KeypairMapInput interface {
	pulumi.Input

	ToKeypairMapOutput() KeypairMapOutput
	ToKeypairMapOutputWithContext(context.Context) KeypairMapOutput
}

KeypairMapInput is an input type that accepts KeypairMap and KeypairMapOutput values. You can construct a concrete instance of `KeypairMapInput` via:

KeypairMap{ "key": KeypairArgs{...} }

type KeypairMapOutput

type KeypairMapOutput struct{ *pulumi.OutputState }

func (KeypairMapOutput) ElementType

func (KeypairMapOutput) ElementType() reflect.Type

func (KeypairMapOutput) MapIndex

func (KeypairMapOutput) ToKeypairMapOutput

func (o KeypairMapOutput) ToKeypairMapOutput() KeypairMapOutput

func (KeypairMapOutput) ToKeypairMapOutputWithContext

func (o KeypairMapOutput) ToKeypairMapOutputWithContext(ctx context.Context) KeypairMapOutput

type KeypairOutput

type KeypairOutput struct{ *pulumi.OutputState }

func (KeypairOutput) ElementType

func (KeypairOutput) ElementType() reflect.Type

func (KeypairOutput) Fingerprint

func (o KeypairOutput) Fingerprint() pulumi.StringOutput

The fingerprint of the public key.

func (KeypairOutput) Name

A unique name for the keypair. Changing this creates a new keypair.

func (KeypairOutput) PrivateKey

func (o KeypairOutput) PrivateKey() pulumi.StringOutput

The generated private key when no public key is specified.

func (KeypairOutput) PublicKey

func (o KeypairOutput) PublicKey() pulumi.StringOutput

A pregenerated OpenSSH-formatted public key. Changing this creates a new keypair. If a public key is not specified, then a public/private key pair will be automatically generated. If a pair is created, then destroying this resource means you will lose access to that keypair forever.

func (KeypairOutput) Region

func (o KeypairOutput) Region() pulumi.StringOutput

The region in which to obtain the V2 Compute client. Keypairs are associated with accounts, but a Compute client is needed to create one. If omitted, the `region` argument of the provider is used. Changing this creates a new keypair.

func (KeypairOutput) ToKeypairOutput

func (o KeypairOutput) ToKeypairOutput() KeypairOutput

func (KeypairOutput) ToKeypairOutputWithContext

func (o KeypairOutput) ToKeypairOutputWithContext(ctx context.Context) KeypairOutput

func (KeypairOutput) UserId

func (o KeypairOutput) UserId() pulumi.StringOutput

This allows administrative users to operate key-pairs of specified user ID. For this feature your need to have openstack microversion 2.10 (Liberty) or later.

func (KeypairOutput) ValueSpecs

func (o KeypairOutput) ValueSpecs() pulumi.MapOutput

Map of additional options.

type KeypairState

type KeypairState struct {
	// The fingerprint of the public key.
	Fingerprint pulumi.StringPtrInput
	// A unique name for the keypair. Changing this creates a new
	// keypair.
	Name pulumi.StringPtrInput
	// The generated private key when no public key is specified.
	PrivateKey pulumi.StringPtrInput
	// A pregenerated OpenSSH-formatted public key.
	// Changing this creates a new keypair. If a public key is not specified, then
	// a public/private key pair will be automatically generated. If a pair is
	// created, then destroying this resource means you will lose access to that
	// keypair forever.
	PublicKey pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// Keypairs are associated with accounts, but a Compute client is needed to
	// create one. If omitted, the `region` argument of the provider is used.
	// Changing this creates a new keypair.
	Region pulumi.StringPtrInput
	// This allows administrative users to operate key-pairs
	// of specified user ID. For this feature your need to have openstack microversion
	// 2.10 (Liberty) or later.
	UserId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.MapInput
}

func (KeypairState) ElementType

func (KeypairState) ElementType() reflect.Type

type LookupAggregateV2Args

type LookupAggregateV2Args struct {
	// List of Hypervisors contained in the Host Aggregate
	Hosts []string `pulumi:"hosts"`
	// Metadata of the Host Aggregate
	Metadata map[string]string `pulumi:"metadata"`
	// The name of the host aggregate
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getAggregateV2.

type LookupAggregateV2OutputArgs

type LookupAggregateV2OutputArgs struct {
	// List of Hypervisors contained in the Host Aggregate
	Hosts pulumi.StringArrayInput `pulumi:"hosts"`
	// Metadata of the Host Aggregate
	Metadata pulumi.StringMapInput `pulumi:"metadata"`
	// The name of the host aggregate
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getAggregateV2.

func (LookupAggregateV2OutputArgs) ElementType

type LookupAggregateV2Result

type LookupAggregateV2Result struct {
	// List of Hypervisors contained in the Host Aggregate
	Hosts []string `pulumi:"hosts"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Metadata of the Host Aggregate
	Metadata map[string]string `pulumi:"metadata"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// Availability zone of the Host Aggregate
	Zone string `pulumi:"zone"`
}

A collection of values returned by getAggregateV2.

func LookupAggregateV2

func LookupAggregateV2(ctx *pulumi.Context, args *LookupAggregateV2Args, opts ...pulumi.InvokeOption) (*LookupAggregateV2Result, error)

Use this data source to get information about host aggregates by name.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.LookupAggregateV2(ctx, &compute.LookupAggregateV2Args{
			Name: "test",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAggregateV2ResultOutput

type LookupAggregateV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAggregateV2.

func (LookupAggregateV2ResultOutput) ElementType

func (LookupAggregateV2ResultOutput) Hosts

List of Hypervisors contained in the Host Aggregate

func (LookupAggregateV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupAggregateV2ResultOutput) Metadata

Metadata of the Host Aggregate

func (LookupAggregateV2ResultOutput) Name

See Argument Reference above.

func (LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutput

func (o LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutput() LookupAggregateV2ResultOutput

func (LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutputWithContext

func (o LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutputWithContext(ctx context.Context) LookupAggregateV2ResultOutput

func (LookupAggregateV2ResultOutput) Zone

Availability zone of the Host Aggregate

type LookupFlavorArgs

type LookupFlavorArgs struct {
	// The description of the flavor.
	Description *string `pulumi:"description"`
	// The exact amount of disk (in gigabytes).
	Disk *int `pulumi:"disk"`
	// The ID of the flavor. Conflicts with the `name`,
	// `minRam` and `minDisk`
	FlavorId *string `pulumi:"flavorId"`
	// The flavor visibility.
	IsPublic *bool `pulumi:"isPublic"`
	// The minimum amount of disk (in gigabytes). Conflicts
	// with the `flavorId`.
	MinDisk *int `pulumi:"minDisk"`
	// The minimum amount of RAM (in megabytes). Conflicts
	// with the `flavorId`.
	MinRam *int `pulumi:"minRam"`
	// The name of the flavor. Conflicts with the `flavorId`.
	Name *string `pulumi:"name"`
	// The exact amount of RAM (in megabytes).
	Ram *int `pulumi:"ram"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The `rxTxFactor` of the flavor.
	RxTxFactor *float64 `pulumi:"rxTxFactor"`
	// The amount of swap (in gigabytes).
	Swap *int `pulumi:"swap"`
	// The amount of VCPUs.
	Vcpus *int `pulumi:"vcpus"`
}

A collection of arguments for invoking getFlavor.

type LookupFlavorOutputArgs

type LookupFlavorOutputArgs struct {
	// The description of the flavor.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The exact amount of disk (in gigabytes).
	Disk pulumi.IntPtrInput `pulumi:"disk"`
	// The ID of the flavor. Conflicts with the `name`,
	// `minRam` and `minDisk`
	FlavorId pulumi.StringPtrInput `pulumi:"flavorId"`
	// The flavor visibility.
	IsPublic pulumi.BoolPtrInput `pulumi:"isPublic"`
	// The minimum amount of disk (in gigabytes). Conflicts
	// with the `flavorId`.
	MinDisk pulumi.IntPtrInput `pulumi:"minDisk"`
	// The minimum amount of RAM (in megabytes). Conflicts
	// with the `flavorId`.
	MinRam pulumi.IntPtrInput `pulumi:"minRam"`
	// The name of the flavor. Conflicts with the `flavorId`.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The exact amount of RAM (in megabytes).
	Ram pulumi.IntPtrInput `pulumi:"ram"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The `rxTxFactor` of the flavor.
	RxTxFactor pulumi.Float64PtrInput `pulumi:"rxTxFactor"`
	// The amount of swap (in gigabytes).
	Swap pulumi.IntPtrInput `pulumi:"swap"`
	// The amount of VCPUs.
	Vcpus pulumi.IntPtrInput `pulumi:"vcpus"`
}

A collection of arguments for invoking getFlavor.

func (LookupFlavorOutputArgs) ElementType

func (LookupFlavorOutputArgs) ElementType() reflect.Type

type LookupFlavorResult

type LookupFlavorResult struct {
	Description *string `pulumi:"description"`
	Disk        *int    `pulumi:"disk"`
	// Key/Value pairs of metadata for the flavor.
	ExtraSpecs map[string]interface{} `pulumi:"extraSpecs"`
	FlavorId   *string                `pulumi:"flavorId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	IsPublic   *bool    `pulumi:"isPublic"`
	MinDisk    *int     `pulumi:"minDisk"`
	MinRam     *int     `pulumi:"minRam"`
	Name       *string  `pulumi:"name"`
	Ram        *int     `pulumi:"ram"`
	Region     string   `pulumi:"region"`
	RxTxFactor *float64 `pulumi:"rxTxFactor"`
	Swap       *int     `pulumi:"swap"`
	Vcpus      *int     `pulumi:"vcpus"`
}

A collection of values returned by getFlavor.

func LookupFlavor

func LookupFlavor(ctx *pulumi.Context, args *LookupFlavorArgs, opts ...pulumi.InvokeOption) (*LookupFlavorResult, error)

Use this data source to get the ID of an available OpenStack flavor.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.LookupFlavor(ctx, &compute.LookupFlavorArgs{
			Vcpus: pulumi.IntRef(1),
			Ram:   pulumi.IntRef(512),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFlavorResultOutput

type LookupFlavorResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlavor.

func (LookupFlavorResultOutput) Description

func (LookupFlavorResultOutput) Disk

func (LookupFlavorResultOutput) ElementType

func (LookupFlavorResultOutput) ElementType() reflect.Type

func (LookupFlavorResultOutput) ExtraSpecs

func (o LookupFlavorResultOutput) ExtraSpecs() pulumi.MapOutput

Key/Value pairs of metadata for the flavor.

func (LookupFlavorResultOutput) FlavorId

func (LookupFlavorResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFlavorResultOutput) IsPublic

func (LookupFlavorResultOutput) MinDisk

func (LookupFlavorResultOutput) MinRam

func (LookupFlavorResultOutput) Name

func (LookupFlavorResultOutput) Ram

func (LookupFlavorResultOutput) Region

func (LookupFlavorResultOutput) RxTxFactor

func (LookupFlavorResultOutput) Swap

func (LookupFlavorResultOutput) ToLookupFlavorResultOutput

func (o LookupFlavorResultOutput) ToLookupFlavorResultOutput() LookupFlavorResultOutput

func (LookupFlavorResultOutput) ToLookupFlavorResultOutputWithContext

func (o LookupFlavorResultOutput) ToLookupFlavorResultOutputWithContext(ctx context.Context) LookupFlavorResultOutput

func (LookupFlavorResultOutput) Vcpus

type LookupKeypairArgs

type LookupKeypairArgs struct {
	// The unique name of the keypair.
	Name string `pulumi:"name"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The user id of the owner of the key pair.
	// This parameter can be specified only if the provider is configured to use
	// the credentials of an OpenStack administrator.
	UserId *string `pulumi:"userId"`
}

A collection of arguments for invoking getKeypair.

type LookupKeypairOutputArgs

type LookupKeypairOutputArgs struct {
	// The unique name of the keypair.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The user id of the owner of the key pair.
	// This parameter can be specified only if the provider is configured to use
	// the credentials of an OpenStack administrator.
	UserId pulumi.StringPtrInput `pulumi:"userId"`
}

A collection of arguments for invoking getKeypair.

func (LookupKeypairOutputArgs) ElementType

func (LookupKeypairOutputArgs) ElementType() reflect.Type

type LookupKeypairResult

type LookupKeypairResult struct {
	// The fingerprint of the OpenSSH key.
	Fingerprint string `pulumi:"fingerprint"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// The OpenSSH-formatted public key of the keypair.
	PublicKey string `pulumi:"publicKey"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	UserId string `pulumi:"userId"`
}

A collection of values returned by getKeypair.

func LookupKeypair

func LookupKeypair(ctx *pulumi.Context, args *LookupKeypairArgs, opts ...pulumi.InvokeOption) (*LookupKeypairResult, error)

Use this data source to get the ID and public key of an OpenStack keypair.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.LookupKeypair(ctx, &compute.LookupKeypairArgs{
			Name: "sand",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupKeypairResultOutput

type LookupKeypairResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getKeypair.

func (LookupKeypairResultOutput) ElementType

func (LookupKeypairResultOutput) ElementType() reflect.Type

func (LookupKeypairResultOutput) Fingerprint

The fingerprint of the OpenSSH key.

func (LookupKeypairResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupKeypairResultOutput) Name

See Argument Reference above.

func (LookupKeypairResultOutput) PublicKey

The OpenSSH-formatted public key of the keypair.

func (LookupKeypairResultOutput) Region

See Argument Reference above.

func (LookupKeypairResultOutput) ToLookupKeypairResultOutput

func (o LookupKeypairResultOutput) ToLookupKeypairResultOutput() LookupKeypairResultOutput

func (LookupKeypairResultOutput) ToLookupKeypairResultOutputWithContext

func (o LookupKeypairResultOutput) ToLookupKeypairResultOutputWithContext(ctx context.Context) LookupKeypairResultOutput

func (LookupKeypairResultOutput) UserId

See Argument Reference above.

type LookupQuotaSetV2Args

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

A collection of arguments for invoking getQuotaSetV2.

type LookupQuotaSetV2OutputArgs

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

A collection of arguments for invoking getQuotaSetV2.

func (LookupQuotaSetV2OutputArgs) ElementType

func (LookupQuotaSetV2OutputArgs) ElementType() reflect.Type

type LookupQuotaSetV2Result

type LookupQuotaSetV2Result struct {
	// The number of allowed server cores.
	Cores int `pulumi:"cores"`
	// The number of allowed fixed IP addresses. Available until version 2.35.
	FixedIps int `pulumi:"fixedIps"`
	// The number of allowed floating IP addresses. Available until version 2.35.
	FloatingIps int `pulumi:"floatingIps"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The number of allowed bytes of content for each injected file. Available until version 2.56.
	InjectedFileContentBytes int `pulumi:"injectedFileContentBytes"`
	// The number of allowed bytes for each injected file path. Available until version 2.56.
	InjectedFilePathBytes int `pulumi:"injectedFilePathBytes"`
	// The number of allowed injected files. Available until version 2.56.
	InjectedFiles int `pulumi:"injectedFiles"`
	// The number of allowed servers.
	Instances int `pulumi:"instances"`
	// The number of allowed key pairs for each user.
	KeyPairs int `pulumi:"keyPairs"`
	// The number of allowed metadata items for each server.
	MetadataItems int `pulumi:"metadataItems"`
	// See Argument Reference above.
	ProjectId string `pulumi:"projectId"`
	// The amount of allowed server RAM, in MiB.
	Ram int `pulumi:"ram"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The number of allowed rules for each security group. Available until version 2.35.
	SecurityGroupRules int `pulumi:"securityGroupRules"`
	// The number of allowed security groups. Available until version 2.35.
	SecurityGroups int `pulumi:"securityGroups"`
	// The number of allowed members for each server group.
	ServerGroupMembers int `pulumi:"serverGroupMembers"`
	// The number of allowed server groups.
	ServerGroups int `pulumi:"serverGroups"`
}

A collection of values returned by getQuotaSetV2.

func LookupQuotaSetV2

func LookupQuotaSetV2(ctx *pulumi.Context, args *LookupQuotaSetV2Args, opts ...pulumi.InvokeOption) (*LookupQuotaSetV2Result, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type LookupQuotaSetV2ResultOutput

type LookupQuotaSetV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQuotaSetV2.

func (LookupQuotaSetV2ResultOutput) Cores

The number of allowed server cores.

func (LookupQuotaSetV2ResultOutput) ElementType

func (LookupQuotaSetV2ResultOutput) FixedIps

The number of allowed fixed IP addresses. Available until version 2.35.

func (LookupQuotaSetV2ResultOutput) FloatingIps

The number of allowed floating IP addresses. Available until version 2.35.

func (LookupQuotaSetV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQuotaSetV2ResultOutput) InjectedFileContentBytes

func (o LookupQuotaSetV2ResultOutput) InjectedFileContentBytes() pulumi.IntOutput

The number of allowed bytes of content for each injected file. Available until version 2.56.

func (LookupQuotaSetV2ResultOutput) InjectedFilePathBytes

func (o LookupQuotaSetV2ResultOutput) InjectedFilePathBytes() pulumi.IntOutput

The number of allowed bytes for each injected file path. Available until version 2.56.

func (LookupQuotaSetV2ResultOutput) InjectedFiles

func (o LookupQuotaSetV2ResultOutput) InjectedFiles() pulumi.IntOutput

The number of allowed injected files. Available until version 2.56.

func (LookupQuotaSetV2ResultOutput) Instances

The number of allowed servers.

func (LookupQuotaSetV2ResultOutput) KeyPairs

The number of allowed key pairs for each user.

func (LookupQuotaSetV2ResultOutput) MetadataItems

func (o LookupQuotaSetV2ResultOutput) MetadataItems() pulumi.IntOutput

The number of allowed metadata items for each server.

func (LookupQuotaSetV2ResultOutput) ProjectId

See Argument Reference above.

func (LookupQuotaSetV2ResultOutput) Ram

The amount of allowed server RAM, in MiB.

func (LookupQuotaSetV2ResultOutput) Region

See Argument Reference above.

func (LookupQuotaSetV2ResultOutput) SecurityGroupRules

func (o LookupQuotaSetV2ResultOutput) SecurityGroupRules() pulumi.IntOutput

The number of allowed rules for each security group. Available until version 2.35.

func (LookupQuotaSetV2ResultOutput) SecurityGroups

func (o LookupQuotaSetV2ResultOutput) SecurityGroups() pulumi.IntOutput

The number of allowed security groups. Available until version 2.35.

func (LookupQuotaSetV2ResultOutput) ServerGroupMembers

func (o LookupQuotaSetV2ResultOutput) ServerGroupMembers() pulumi.IntOutput

The number of allowed members for each server group.

func (LookupQuotaSetV2ResultOutput) ServerGroups

The number of allowed server groups.

func (LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutput

func (o LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutput() LookupQuotaSetV2ResultOutput

func (LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutputWithContext

func (o LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutputWithContext(ctx context.Context) LookupQuotaSetV2ResultOutput

type QuotaSetV2

type QuotaSetV2 struct {
	pulumi.CustomResourceState

	// Quota value for cores.
	// Changing this updates the existing quotaset.
	Cores pulumi.IntOutput `pulumi:"cores"`
	// Quota value for fixed IPs.
	// Changing this updates the existing quotaset.
	FixedIps pulumi.IntOutput `pulumi:"fixedIps"`
	// Quota value for floating IPs.
	// Changing this updates the existing quotaset.
	FloatingIps pulumi.IntOutput `pulumi:"floatingIps"`
	// Quota value for content bytes
	// of injected files. Changing this updates the existing quotaset.
	InjectedFileContentBytes pulumi.IntOutput `pulumi:"injectedFileContentBytes"`
	// Quota value for path bytes of
	// injected files. Changing this updates the existing quotaset.
	InjectedFilePathBytes pulumi.IntOutput `pulumi:"injectedFilePathBytes"`
	// Quota value for injected files.
	// Changing this updates the existing quotaset.
	InjectedFiles pulumi.IntOutput `pulumi:"injectedFiles"`
	// Quota value for instances.
	// Changing this updates the existing quotaset.
	Instances pulumi.IntOutput `pulumi:"instances"`
	// Quota value for key pairs.
	// Changing this updates the existing quotaset.
	KeyPairs pulumi.IntOutput `pulumi:"keyPairs"`
	// Quota value for metadata items.
	// Changing this updates the existing quotaset.
	MetadataItems pulumi.IntOutput `pulumi:"metadataItems"`
	// ID of the project to manage quotas.
	// Changing this creates a new quotaset.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Quota value for RAM.
	// Changing this updates the existing quotaset.
	Ram pulumi.IntOutput `pulumi:"ram"`
	// 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 security group rules.
	// Changing this updates the existing quotaset.
	SecurityGroupRules pulumi.IntOutput `pulumi:"securityGroupRules"`
	// Quota value for security groups.
	// Changing this updates the existing quotaset.
	SecurityGroups pulumi.IntOutput `pulumi:"securityGroups"`
	// Quota value for server groups members.
	// Changing this updates the existing quotaset.
	ServerGroupMembers pulumi.IntOutput `pulumi:"serverGroupMembers"`
	// Quota value for server groups.
	// Changing this updates the existing quotaset.
	ServerGroups pulumi.IntOutput `pulumi:"serverGroups"`
}

Manages a V2 compute 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.

## Import

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

```sh $ pulumi import openstack:compute/quotaSetV2:QuotaSetV2 quotaset_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1 ```

func GetQuotaSetV2

func GetQuotaSetV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QuotaSetV2State, opts ...pulumi.ResourceOption) (*QuotaSetV2, error)

GetQuotaSetV2 gets an existing QuotaSetV2 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 NewQuotaSetV2

func NewQuotaSetV2(ctx *pulumi.Context,
	name string, args *QuotaSetV2Args, opts ...pulumi.ResourceOption) (*QuotaSetV2, error)

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

func (*QuotaSetV2) ElementType

func (*QuotaSetV2) ElementType() reflect.Type

func (*QuotaSetV2) ToQuotaSetV2Output

func (i *QuotaSetV2) ToQuotaSetV2Output() QuotaSetV2Output

func (*QuotaSetV2) ToQuotaSetV2OutputWithContext

func (i *QuotaSetV2) ToQuotaSetV2OutputWithContext(ctx context.Context) QuotaSetV2Output

type QuotaSetV2Args

type QuotaSetV2Args struct {
	// Quota value for cores.
	// Changing this updates the existing quotaset.
	Cores pulumi.IntPtrInput
	// Quota value for fixed IPs.
	// Changing this updates the existing quotaset.
	FixedIps pulumi.IntPtrInput
	// Quota value for floating IPs.
	// Changing this updates the existing quotaset.
	FloatingIps pulumi.IntPtrInput
	// Quota value for content bytes
	// of injected files. Changing this updates the existing quotaset.
	InjectedFileContentBytes pulumi.IntPtrInput
	// Quota value for path bytes of
	// injected files. Changing this updates the existing quotaset.
	InjectedFilePathBytes pulumi.IntPtrInput
	// Quota value for injected files.
	// Changing this updates the existing quotaset.
	InjectedFiles pulumi.IntPtrInput
	// Quota value for instances.
	// Changing this updates the existing quotaset.
	Instances pulumi.IntPtrInput
	// Quota value for key pairs.
	// Changing this updates the existing quotaset.
	KeyPairs pulumi.IntPtrInput
	// Quota value for metadata items.
	// Changing this updates the existing quotaset.
	MetadataItems pulumi.IntPtrInput
	// ID of the project to manage quotas.
	// Changing this creates a new quotaset.
	ProjectId pulumi.StringInput
	// Quota value for RAM.
	// Changing this updates the existing quotaset.
	Ram pulumi.IntPtrInput
	// 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 security group rules.
	// Changing this updates the existing quotaset.
	SecurityGroupRules pulumi.IntPtrInput
	// Quota value for security groups.
	// Changing this updates the existing quotaset.
	SecurityGroups pulumi.IntPtrInput
	// Quota value for server groups members.
	// Changing this updates the existing quotaset.
	ServerGroupMembers pulumi.IntPtrInput
	// Quota value for server groups.
	// Changing this updates the existing quotaset.
	ServerGroups pulumi.IntPtrInput
}

The set of arguments for constructing a QuotaSetV2 resource.

func (QuotaSetV2Args) ElementType

func (QuotaSetV2Args) ElementType() reflect.Type

type QuotaSetV2Array

type QuotaSetV2Array []QuotaSetV2Input

func (QuotaSetV2Array) ElementType

func (QuotaSetV2Array) ElementType() reflect.Type

func (QuotaSetV2Array) ToQuotaSetV2ArrayOutput

func (i QuotaSetV2Array) ToQuotaSetV2ArrayOutput() QuotaSetV2ArrayOutput

func (QuotaSetV2Array) ToQuotaSetV2ArrayOutputWithContext

func (i QuotaSetV2Array) ToQuotaSetV2ArrayOutputWithContext(ctx context.Context) QuotaSetV2ArrayOutput

type QuotaSetV2ArrayInput

type QuotaSetV2ArrayInput interface {
	pulumi.Input

	ToQuotaSetV2ArrayOutput() QuotaSetV2ArrayOutput
	ToQuotaSetV2ArrayOutputWithContext(context.Context) QuotaSetV2ArrayOutput
}

QuotaSetV2ArrayInput is an input type that accepts QuotaSetV2Array and QuotaSetV2ArrayOutput values. You can construct a concrete instance of `QuotaSetV2ArrayInput` via:

QuotaSetV2Array{ QuotaSetV2Args{...} }

type QuotaSetV2ArrayOutput

type QuotaSetV2ArrayOutput struct{ *pulumi.OutputState }

func (QuotaSetV2ArrayOutput) ElementType

func (QuotaSetV2ArrayOutput) ElementType() reflect.Type

func (QuotaSetV2ArrayOutput) Index

func (QuotaSetV2ArrayOutput) ToQuotaSetV2ArrayOutput

func (o QuotaSetV2ArrayOutput) ToQuotaSetV2ArrayOutput() QuotaSetV2ArrayOutput

func (QuotaSetV2ArrayOutput) ToQuotaSetV2ArrayOutputWithContext

func (o QuotaSetV2ArrayOutput) ToQuotaSetV2ArrayOutputWithContext(ctx context.Context) QuotaSetV2ArrayOutput

type QuotaSetV2Input

type QuotaSetV2Input interface {
	pulumi.Input

	ToQuotaSetV2Output() QuotaSetV2Output
	ToQuotaSetV2OutputWithContext(ctx context.Context) QuotaSetV2Output
}

type QuotaSetV2Map

type QuotaSetV2Map map[string]QuotaSetV2Input

func (QuotaSetV2Map) ElementType

func (QuotaSetV2Map) ElementType() reflect.Type

func (QuotaSetV2Map) ToQuotaSetV2MapOutput

func (i QuotaSetV2Map) ToQuotaSetV2MapOutput() QuotaSetV2MapOutput

func (QuotaSetV2Map) ToQuotaSetV2MapOutputWithContext

func (i QuotaSetV2Map) ToQuotaSetV2MapOutputWithContext(ctx context.Context) QuotaSetV2MapOutput

type QuotaSetV2MapInput

type QuotaSetV2MapInput interface {
	pulumi.Input

	ToQuotaSetV2MapOutput() QuotaSetV2MapOutput
	ToQuotaSetV2MapOutputWithContext(context.Context) QuotaSetV2MapOutput
}

QuotaSetV2MapInput is an input type that accepts QuotaSetV2Map and QuotaSetV2MapOutput values. You can construct a concrete instance of `QuotaSetV2MapInput` via:

QuotaSetV2Map{ "key": QuotaSetV2Args{...} }

type QuotaSetV2MapOutput

type QuotaSetV2MapOutput struct{ *pulumi.OutputState }

func (QuotaSetV2MapOutput) ElementType

func (QuotaSetV2MapOutput) ElementType() reflect.Type

func (QuotaSetV2MapOutput) MapIndex

func (QuotaSetV2MapOutput) ToQuotaSetV2MapOutput

func (o QuotaSetV2MapOutput) ToQuotaSetV2MapOutput() QuotaSetV2MapOutput

func (QuotaSetV2MapOutput) ToQuotaSetV2MapOutputWithContext

func (o QuotaSetV2MapOutput) ToQuotaSetV2MapOutputWithContext(ctx context.Context) QuotaSetV2MapOutput

type QuotaSetV2Output

type QuotaSetV2Output struct{ *pulumi.OutputState }

func (QuotaSetV2Output) Cores

func (o QuotaSetV2Output) Cores() pulumi.IntOutput

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

func (QuotaSetV2Output) ElementType

func (QuotaSetV2Output) ElementType() reflect.Type

func (QuotaSetV2Output) FixedIps

func (o QuotaSetV2Output) FixedIps() pulumi.IntOutput

Quota value for fixed IPs. Changing this updates the existing quotaset.

func (QuotaSetV2Output) FloatingIps

func (o QuotaSetV2Output) FloatingIps() pulumi.IntOutput

Quota value for floating IPs. Changing this updates the existing quotaset.

func (QuotaSetV2Output) InjectedFileContentBytes

func (o QuotaSetV2Output) InjectedFileContentBytes() pulumi.IntOutput

Quota value for content bytes of injected files. Changing this updates the existing quotaset.

func (QuotaSetV2Output) InjectedFilePathBytes

func (o QuotaSetV2Output) InjectedFilePathBytes() pulumi.IntOutput

Quota value for path bytes of injected files. Changing this updates the existing quotaset.

func (QuotaSetV2Output) InjectedFiles

func (o QuotaSetV2Output) InjectedFiles() pulumi.IntOutput

Quota value for injected files. Changing this updates the existing quotaset.

func (QuotaSetV2Output) Instances

func (o QuotaSetV2Output) Instances() pulumi.IntOutput

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

func (QuotaSetV2Output) KeyPairs

func (o QuotaSetV2Output) KeyPairs() pulumi.IntOutput

Quota value for key pairs. Changing this updates the existing quotaset.

func (QuotaSetV2Output) MetadataItems

func (o QuotaSetV2Output) MetadataItems() pulumi.IntOutput

Quota value for metadata items. Changing this updates the existing quotaset.

func (QuotaSetV2Output) ProjectId

func (o QuotaSetV2Output) ProjectId() pulumi.StringOutput

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

func (QuotaSetV2Output) Ram

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

func (QuotaSetV2Output) Region

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 (QuotaSetV2Output) SecurityGroupRules

func (o QuotaSetV2Output) SecurityGroupRules() pulumi.IntOutput

Quota value for security group rules. Changing this updates the existing quotaset.

func (QuotaSetV2Output) SecurityGroups

func (o QuotaSetV2Output) SecurityGroups() pulumi.IntOutput

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

func (QuotaSetV2Output) ServerGroupMembers

func (o QuotaSetV2Output) ServerGroupMembers() pulumi.IntOutput

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

func (QuotaSetV2Output) ServerGroups

func (o QuotaSetV2Output) ServerGroups() pulumi.IntOutput

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

func (QuotaSetV2Output) ToQuotaSetV2Output

func (o QuotaSetV2Output) ToQuotaSetV2Output() QuotaSetV2Output

func (QuotaSetV2Output) ToQuotaSetV2OutputWithContext

func (o QuotaSetV2Output) ToQuotaSetV2OutputWithContext(ctx context.Context) QuotaSetV2Output

type QuotaSetV2State

type QuotaSetV2State struct {
	// Quota value for cores.
	// Changing this updates the existing quotaset.
	Cores pulumi.IntPtrInput
	// Quota value for fixed IPs.
	// Changing this updates the existing quotaset.
	FixedIps pulumi.IntPtrInput
	// Quota value for floating IPs.
	// Changing this updates the existing quotaset.
	FloatingIps pulumi.IntPtrInput
	// Quota value for content bytes
	// of injected files. Changing this updates the existing quotaset.
	InjectedFileContentBytes pulumi.IntPtrInput
	// Quota value for path bytes of
	// injected files. Changing this updates the existing quotaset.
	InjectedFilePathBytes pulumi.IntPtrInput
	// Quota value for injected files.
	// Changing this updates the existing quotaset.
	InjectedFiles pulumi.IntPtrInput
	// Quota value for instances.
	// Changing this updates the existing quotaset.
	Instances pulumi.IntPtrInput
	// Quota value for key pairs.
	// Changing this updates the existing quotaset.
	KeyPairs pulumi.IntPtrInput
	// Quota value for metadata items.
	// Changing this updates the existing quotaset.
	MetadataItems pulumi.IntPtrInput
	// ID of the project to manage quotas.
	// Changing this creates a new quotaset.
	ProjectId pulumi.StringPtrInput
	// Quota value for RAM.
	// Changing this updates the existing quotaset.
	Ram pulumi.IntPtrInput
	// 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 security group rules.
	// Changing this updates the existing quotaset.
	SecurityGroupRules pulumi.IntPtrInput
	// Quota value for security groups.
	// Changing this updates the existing quotaset.
	SecurityGroups pulumi.IntPtrInput
	// Quota value for server groups members.
	// Changing this updates the existing quotaset.
	ServerGroupMembers pulumi.IntPtrInput
	// Quota value for server groups.
	// Changing this updates the existing quotaset.
	ServerGroups pulumi.IntPtrInput
}

func (QuotaSetV2State) ElementType

func (QuotaSetV2State) ElementType() reflect.Type

type SecGroup

type SecGroup struct {
	pulumi.CustomResourceState

	// A description for the security group. Changing this
	// updates the `description` of an existing security group.
	Description pulumi.StringOutput `pulumi:"description"`
	// A unique name for the security group. Changing this
	// updates the `name` of an existing security group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a security group. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringOutput `pulumi:"region"`
	// A rule describing how the security group operates. The
	// rule object structure is documented below. Changing this updates the
	// security group rules. As shown in the example above, multiple rule blocks
	// may be used.
	Rules SecGroupRuleArrayOutput `pulumi:"rules"`
}

Manages a V2 security group resource within OpenStack.

Please note that managing security groups through the OpenStack Compute API has been deprecated. Unless you are using an older OpenStack environment, it is recommended to use the `networking.SecGroup` and `networking.SecGroupRule` resources instead, which uses the OpenStack Networking API.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewSecGroup(ctx, "secgroup_1", &compute.SecGroupArgs{
			Name:        pulumi.String("my_secgroup"),
			Description: pulumi.String("my security group"),
			Rules: compute.SecGroupRuleArray{
				&compute.SecGroupRuleArgs{
					FromPort:   pulumi.Int(22),
					ToPort:     pulumi.Int(22),
					IpProtocol: pulumi.String("tcp"),
					Cidr:       pulumi.String("0.0.0.0/0"),
				},
				&compute.SecGroupRuleArgs{
					FromPort:   pulumi.Int(80),
					ToPort:     pulumi.Int(80),
					IpProtocol: pulumi.String("tcp"),
					Cidr:       pulumi.String("0.0.0.0/0"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Notes

### Referencing Security Groups

When referencing a security group in a configuration (for example, a configuration creates a new security group and then needs to apply it to an instance being created in the same configuration), it is currently recommended to reference the security group by name and not by ID, like this:

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewInstance(ctx, "test-server", &compute.InstanceArgs{
			Name:     pulumi.String("tf-test"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				secgroup1.Name,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Groups can be imported using the `id`, e.g.

```sh $ pulumi import openstack:compute/secGroup:SecGroup my_secgroup 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf ```

func GetSecGroup

func GetSecGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecGroupState, opts ...pulumi.ResourceOption) (*SecGroup, error)

GetSecGroup gets an existing SecGroup 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 NewSecGroup

func NewSecGroup(ctx *pulumi.Context,
	name string, args *SecGroupArgs, opts ...pulumi.ResourceOption) (*SecGroup, error)

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

func (*SecGroup) ElementType

func (*SecGroup) ElementType() reflect.Type

func (*SecGroup) ToSecGroupOutput

func (i *SecGroup) ToSecGroupOutput() SecGroupOutput

func (*SecGroup) ToSecGroupOutputWithContext

func (i *SecGroup) ToSecGroupOutputWithContext(ctx context.Context) SecGroupOutput

type SecGroupArgs

type SecGroupArgs struct {
	// A description for the security group. Changing this
	// updates the `description` of an existing security group.
	Description pulumi.StringInput
	// A unique name for the security group. Changing this
	// updates the `name` of an existing security group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a security group. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringPtrInput
	// A rule describing how the security group operates. The
	// rule object structure is documented below. Changing this updates the
	// security group rules. As shown in the example above, multiple rule blocks
	// may be used.
	Rules SecGroupRuleArrayInput
}

The set of arguments for constructing a SecGroup resource.

func (SecGroupArgs) ElementType

func (SecGroupArgs) ElementType() reflect.Type

type SecGroupArray

type SecGroupArray []SecGroupInput

func (SecGroupArray) ElementType

func (SecGroupArray) ElementType() reflect.Type

func (SecGroupArray) ToSecGroupArrayOutput

func (i SecGroupArray) ToSecGroupArrayOutput() SecGroupArrayOutput

func (SecGroupArray) ToSecGroupArrayOutputWithContext

func (i SecGroupArray) ToSecGroupArrayOutputWithContext(ctx context.Context) SecGroupArrayOutput

type SecGroupArrayInput

type SecGroupArrayInput interface {
	pulumi.Input

	ToSecGroupArrayOutput() SecGroupArrayOutput
	ToSecGroupArrayOutputWithContext(context.Context) SecGroupArrayOutput
}

SecGroupArrayInput is an input type that accepts SecGroupArray and SecGroupArrayOutput values. You can construct a concrete instance of `SecGroupArrayInput` via:

SecGroupArray{ SecGroupArgs{...} }

type SecGroupArrayOutput

type SecGroupArrayOutput struct{ *pulumi.OutputState }

func (SecGroupArrayOutput) ElementType

func (SecGroupArrayOutput) ElementType() reflect.Type

func (SecGroupArrayOutput) Index

func (SecGroupArrayOutput) ToSecGroupArrayOutput

func (o SecGroupArrayOutput) ToSecGroupArrayOutput() SecGroupArrayOutput

func (SecGroupArrayOutput) ToSecGroupArrayOutputWithContext

func (o SecGroupArrayOutput) ToSecGroupArrayOutputWithContext(ctx context.Context) SecGroupArrayOutput

type SecGroupInput

type SecGroupInput interface {
	pulumi.Input

	ToSecGroupOutput() SecGroupOutput
	ToSecGroupOutputWithContext(ctx context.Context) SecGroupOutput
}

type SecGroupMap

type SecGroupMap map[string]SecGroupInput

func (SecGroupMap) ElementType

func (SecGroupMap) ElementType() reflect.Type

func (SecGroupMap) ToSecGroupMapOutput

func (i SecGroupMap) ToSecGroupMapOutput() SecGroupMapOutput

func (SecGroupMap) ToSecGroupMapOutputWithContext

func (i SecGroupMap) ToSecGroupMapOutputWithContext(ctx context.Context) SecGroupMapOutput

type SecGroupMapInput

type SecGroupMapInput interface {
	pulumi.Input

	ToSecGroupMapOutput() SecGroupMapOutput
	ToSecGroupMapOutputWithContext(context.Context) SecGroupMapOutput
}

SecGroupMapInput is an input type that accepts SecGroupMap and SecGroupMapOutput values. You can construct a concrete instance of `SecGroupMapInput` via:

SecGroupMap{ "key": SecGroupArgs{...} }

type SecGroupMapOutput

type SecGroupMapOutput struct{ *pulumi.OutputState }

func (SecGroupMapOutput) ElementType

func (SecGroupMapOutput) ElementType() reflect.Type

func (SecGroupMapOutput) MapIndex

func (SecGroupMapOutput) ToSecGroupMapOutput

func (o SecGroupMapOutput) ToSecGroupMapOutput() SecGroupMapOutput

func (SecGroupMapOutput) ToSecGroupMapOutputWithContext

func (o SecGroupMapOutput) ToSecGroupMapOutputWithContext(ctx context.Context) SecGroupMapOutput

type SecGroupOutput

type SecGroupOutput struct{ *pulumi.OutputState }

func (SecGroupOutput) Description

func (o SecGroupOutput) Description() pulumi.StringOutput

A description for the security group. Changing this updates the `description` of an existing security group.

func (SecGroupOutput) ElementType

func (SecGroupOutput) ElementType() reflect.Type

func (SecGroupOutput) Name

A unique name for the security group. Changing this updates the `name` of an existing security group.

func (SecGroupOutput) Region

func (o SecGroupOutput) Region() pulumi.StringOutput

The region in which to obtain the V2 Compute client. A Compute client is needed to create a security group. If omitted, the `region` argument of the provider is used. Changing this creates a new security group.

func (SecGroupOutput) Rules

A rule describing how the security group operates. The rule object structure is documented below. Changing this updates the security group rules. As shown in the example above, multiple rule blocks may be used.

func (SecGroupOutput) ToSecGroupOutput

func (o SecGroupOutput) ToSecGroupOutput() SecGroupOutput

func (SecGroupOutput) ToSecGroupOutputWithContext

func (o SecGroupOutput) ToSecGroupOutputWithContext(ctx context.Context) SecGroupOutput

type SecGroupRule

type SecGroupRule struct {
	// Required if `fromGroupId` or `self` is empty. The IP range
	// that will be the source of network traffic to the security group. Use 0.0.0.0/0
	// to allow all IP addresses. Changing this creates a new security group rule. Cannot
	// be combined with `fromGroupId` or `self`.
	Cidr *string `pulumi:"cidr"`
	// Required if `cidr` or `self` is empty. The ID of a
	// group from which to forward traffic to the parent group. Changing this creates a
	// new security group rule. Cannot be combined with `cidr` or `self`.
	FromGroupId *string `pulumi:"fromGroupId"`
	// An integer representing the lower bound of the port
	// range to open. Changing this creates a new security group rule.
	FromPort int     `pulumi:"fromPort"`
	Id       *string `pulumi:"id"`
	// The protocol type that will be allowed. Changing
	// this creates a new security group rule.
	IpProtocol string `pulumi:"ipProtocol"`
	// Required if `cidr` and `fromGroupId` is empty. If true,
	// the security group itself will be added as a source to this ingress rule. Cannot
	// be combined with `cidr` or `fromGroupId`.
	Self *bool `pulumi:"self"`
	// An integer representing the upper bound of the port
	// range to open. Changing this creates a new security group rule.
	ToPort int `pulumi:"toPort"`
}

type SecGroupRuleArgs

type SecGroupRuleArgs struct {
	// Required if `fromGroupId` or `self` is empty. The IP range
	// that will be the source of network traffic to the security group. Use 0.0.0.0/0
	// to allow all IP addresses. Changing this creates a new security group rule. Cannot
	// be combined with `fromGroupId` or `self`.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Required if `cidr` or `self` is empty. The ID of a
	// group from which to forward traffic to the parent group. Changing this creates a
	// new security group rule. Cannot be combined with `cidr` or `self`.
	FromGroupId pulumi.StringPtrInput `pulumi:"fromGroupId"`
	// An integer representing the lower bound of the port
	// range to open. Changing this creates a new security group rule.
	FromPort pulumi.IntInput       `pulumi:"fromPort"`
	Id       pulumi.StringPtrInput `pulumi:"id"`
	// The protocol type that will be allowed. Changing
	// this creates a new security group rule.
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// Required if `cidr` and `fromGroupId` is empty. If true,
	// the security group itself will be added as a source to this ingress rule. Cannot
	// be combined with `cidr` or `fromGroupId`.
	Self pulumi.BoolPtrInput `pulumi:"self"`
	// An integer representing the upper bound of the port
	// range to open. Changing this creates a new security group rule.
	ToPort pulumi.IntInput `pulumi:"toPort"`
}

func (SecGroupRuleArgs) ElementType

func (SecGroupRuleArgs) ElementType() reflect.Type

func (SecGroupRuleArgs) ToSecGroupRuleOutput

func (i SecGroupRuleArgs) ToSecGroupRuleOutput() SecGroupRuleOutput

func (SecGroupRuleArgs) ToSecGroupRuleOutputWithContext

func (i SecGroupRuleArgs) ToSecGroupRuleOutputWithContext(ctx context.Context) SecGroupRuleOutput

type SecGroupRuleArray

type SecGroupRuleArray []SecGroupRuleInput

func (SecGroupRuleArray) ElementType

func (SecGroupRuleArray) ElementType() reflect.Type

func (SecGroupRuleArray) ToSecGroupRuleArrayOutput

func (i SecGroupRuleArray) ToSecGroupRuleArrayOutput() SecGroupRuleArrayOutput

func (SecGroupRuleArray) ToSecGroupRuleArrayOutputWithContext

func (i SecGroupRuleArray) ToSecGroupRuleArrayOutputWithContext(ctx context.Context) SecGroupRuleArrayOutput

type SecGroupRuleArrayInput

type SecGroupRuleArrayInput interface {
	pulumi.Input

	ToSecGroupRuleArrayOutput() SecGroupRuleArrayOutput
	ToSecGroupRuleArrayOutputWithContext(context.Context) SecGroupRuleArrayOutput
}

SecGroupRuleArrayInput is an input type that accepts SecGroupRuleArray and SecGroupRuleArrayOutput values. You can construct a concrete instance of `SecGroupRuleArrayInput` via:

SecGroupRuleArray{ SecGroupRuleArgs{...} }

type SecGroupRuleArrayOutput

type SecGroupRuleArrayOutput struct{ *pulumi.OutputState }

func (SecGroupRuleArrayOutput) ElementType

func (SecGroupRuleArrayOutput) ElementType() reflect.Type

func (SecGroupRuleArrayOutput) Index

func (SecGroupRuleArrayOutput) ToSecGroupRuleArrayOutput

func (o SecGroupRuleArrayOutput) ToSecGroupRuleArrayOutput() SecGroupRuleArrayOutput

func (SecGroupRuleArrayOutput) ToSecGroupRuleArrayOutputWithContext

func (o SecGroupRuleArrayOutput) ToSecGroupRuleArrayOutputWithContext(ctx context.Context) SecGroupRuleArrayOutput

type SecGroupRuleInput

type SecGroupRuleInput interface {
	pulumi.Input

	ToSecGroupRuleOutput() SecGroupRuleOutput
	ToSecGroupRuleOutputWithContext(context.Context) SecGroupRuleOutput
}

SecGroupRuleInput is an input type that accepts SecGroupRuleArgs and SecGroupRuleOutput values. You can construct a concrete instance of `SecGroupRuleInput` via:

SecGroupRuleArgs{...}

type SecGroupRuleOutput

type SecGroupRuleOutput struct{ *pulumi.OutputState }

func (SecGroupRuleOutput) Cidr

Required if `fromGroupId` or `self` is empty. The IP range that will be the source of network traffic to the security group. Use 0.0.0.0/0 to allow all IP addresses. Changing this creates a new security group rule. Cannot be combined with `fromGroupId` or `self`.

func (SecGroupRuleOutput) ElementType

func (SecGroupRuleOutput) ElementType() reflect.Type

func (SecGroupRuleOutput) FromGroupId

func (o SecGroupRuleOutput) FromGroupId() pulumi.StringPtrOutput

Required if `cidr` or `self` is empty. The ID of a group from which to forward traffic to the parent group. Changing this creates a new security group rule. Cannot be combined with `cidr` or `self`.

func (SecGroupRuleOutput) FromPort

func (o SecGroupRuleOutput) FromPort() pulumi.IntOutput

An integer representing the lower bound of the port range to open. Changing this creates a new security group rule.

func (SecGroupRuleOutput) Id

func (SecGroupRuleOutput) IpProtocol

func (o SecGroupRuleOutput) IpProtocol() pulumi.StringOutput

The protocol type that will be allowed. Changing this creates a new security group rule.

func (SecGroupRuleOutput) Self

Required if `cidr` and `fromGroupId` is empty. If true, the security group itself will be added as a source to this ingress rule. Cannot be combined with `cidr` or `fromGroupId`.

func (SecGroupRuleOutput) ToPort

func (o SecGroupRuleOutput) ToPort() pulumi.IntOutput

An integer representing the upper bound of the port range to open. Changing this creates a new security group rule.

func (SecGroupRuleOutput) ToSecGroupRuleOutput

func (o SecGroupRuleOutput) ToSecGroupRuleOutput() SecGroupRuleOutput

func (SecGroupRuleOutput) ToSecGroupRuleOutputWithContext

func (o SecGroupRuleOutput) ToSecGroupRuleOutputWithContext(ctx context.Context) SecGroupRuleOutput

type SecGroupState

type SecGroupState struct {
	// A description for the security group. Changing this
	// updates the `description` of an existing security group.
	Description pulumi.StringPtrInput
	// A unique name for the security group. Changing this
	// updates the `name` of an existing security group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 Compute client.
	// A Compute client is needed to create a security group. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringPtrInput
	// A rule describing how the security group operates. The
	// rule object structure is documented below. Changing this updates the
	// security group rules. As shown in the example above, multiple rule blocks
	// may be used.
	Rules SecGroupRuleArrayInput
}

func (SecGroupState) ElementType

func (SecGroupState) ElementType() reflect.Type

type ServerGroup

type ServerGroup struct {
	pulumi.CustomResourceState

	// The instances that are part of this server group.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// A unique name for the server group. Changing this creates
	// a new server group.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of exactly one policy name to associate with
	// the server group. See the Policies section for more information. Changing this
	// creates a new server group.
	Policies pulumi.StringArrayOutput `pulumi:"policies"`
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new server group.
	Region pulumi.StringOutput `pulumi:"region"`
	// The rules which are applied to specified `policy`. Currently,
	// only the `maxServerPerHost` rule is supported for the `anti-affinity` policy.
	Rules ServerGroupRulesOutput `pulumi:"rules"`
	// Map of additional options.
	ValueSpecs pulumi.MapOutput `pulumi:"valueSpecs"`
}

Manages a V2 Server Group resource within OpenStack.

## Example Usage

### Compute service API version 2.63 or below:

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewServerGroup(ctx, "test-sg", &compute.ServerGroupArgs{
			Name: pulumi.String("my-sg"),
			Policies: pulumi.StringArray{
				pulumi.String("anti-affinity"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "test-instance", &compute.InstanceArgs{
			Name:     pulumi.String("my-instance"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			SchedulerHints: compute.InstanceSchedulerHintArray{
				&compute.InstanceSchedulerHintArgs{
					Group: test_sg.ID(),
				},
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Name: pulumi.String("my_network"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Compute service API version 2.64 or above:

```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewServerGroup(ctx, "test-sg", &compute.ServerGroupArgs{
			Name: pulumi.String("my-sg"),
			Policies: pulumi.StringArray{
				pulumi.String("anti-affinity"),
			},
			Rules: &compute.ServerGroupRulesArgs{
				MaxServerPerHost: pulumi.Int(3),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "test-instance", &compute.InstanceArgs{
			Name:     pulumi.String("my-instance"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			SchedulerHints: compute.InstanceSchedulerHintArray{
				&compute.InstanceSchedulerHintArgs{
					Group: test_sg.ID(),
				},
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Name: pulumi.String("my_network"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Policies

  • `affinity` - All instances/servers launched in this group will be hosted on the same compute node.

  • `anti-affinity` - All instances/servers launched in this group will be hosted on different compute nodes.

  • `soft-affinity` - All instances/servers launched in this group will be hosted on the same compute node if possible, but if not possible they still will be scheduled instead of failure. To use this policy your OpenStack environment should support Compute service API 2.15 or above.

  • `soft-anti-affinity` - All instances/servers launched in this group will be hosted on different compute nodes if possible, but if not possible they still will be scheduled instead of failure. To use this policy your OpenStack environment should support Compute service API 2.15 or above.

## Import

Server Groups can be imported using the `id`, e.g.

```sh $ pulumi import openstack:compute/serverGroup:ServerGroup test-sg 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf ```

func GetServerGroup

func GetServerGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerGroupState, opts ...pulumi.ResourceOption) (*ServerGroup, error)

GetServerGroup gets an existing ServerGroup 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 NewServerGroup

func NewServerGroup(ctx *pulumi.Context,
	name string, args *ServerGroupArgs, opts ...pulumi.ResourceOption) (*ServerGroup, error)

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

func (*ServerGroup) ElementType

func (*ServerGroup) ElementType() reflect.Type

func (*ServerGroup) ToServerGroupOutput

func (i *ServerGroup) ToServerGroupOutput() ServerGroupOutput

func (*ServerGroup) ToServerGroupOutputWithContext

func (i *ServerGroup) ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput

type ServerGroupArgs

type ServerGroupArgs struct {
	// A unique name for the server group. Changing this creates
	// a new server group.
	Name pulumi.StringPtrInput
	// A list of exactly one policy name to associate with
	// the server group. See the Policies section for more information. Changing this
	// creates a new server group.
	Policies pulumi.StringArrayInput
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new server group.
	Region pulumi.StringPtrInput
	// The rules which are applied to specified `policy`. Currently,
	// only the `maxServerPerHost` rule is supported for the `anti-affinity` policy.
	Rules ServerGroupRulesPtrInput
	// Map of additional options.
	ValueSpecs pulumi.MapInput
}

The set of arguments for constructing a ServerGroup resource.

func (ServerGroupArgs) ElementType

func (ServerGroupArgs) ElementType() reflect.Type

type ServerGroupArray

type ServerGroupArray []ServerGroupInput

func (ServerGroupArray) ElementType

func (ServerGroupArray) ElementType() reflect.Type

func (ServerGroupArray) ToServerGroupArrayOutput

func (i ServerGroupArray) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArray) ToServerGroupArrayOutputWithContext

func (i ServerGroupArray) ToServerGroupArrayOutputWithContext(ctx context.Context) ServerGroupArrayOutput

type ServerGroupArrayInput

type ServerGroupArrayInput interface {
	pulumi.Input

	ToServerGroupArrayOutput() ServerGroupArrayOutput
	ToServerGroupArrayOutputWithContext(context.Context) ServerGroupArrayOutput
}

ServerGroupArrayInput is an input type that accepts ServerGroupArray and ServerGroupArrayOutput values. You can construct a concrete instance of `ServerGroupArrayInput` via:

ServerGroupArray{ ServerGroupArgs{...} }

type ServerGroupArrayOutput

type ServerGroupArrayOutput struct{ *pulumi.OutputState }

func (ServerGroupArrayOutput) ElementType

func (ServerGroupArrayOutput) ElementType() reflect.Type

func (ServerGroupArrayOutput) Index

func (ServerGroupArrayOutput) ToServerGroupArrayOutput

func (o ServerGroupArrayOutput) ToServerGroupArrayOutput() ServerGroupArrayOutput

func (ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext

func (o ServerGroupArrayOutput) ToServerGroupArrayOutputWithContext(ctx context.Context) ServerGroupArrayOutput

type ServerGroupInput

type ServerGroupInput interface {
	pulumi.Input

	ToServerGroupOutput() ServerGroupOutput
	ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput
}

type ServerGroupMap

type ServerGroupMap map[string]ServerGroupInput

func (ServerGroupMap) ElementType

func (ServerGroupMap) ElementType() reflect.Type

func (ServerGroupMap) ToServerGroupMapOutput

func (i ServerGroupMap) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMap) ToServerGroupMapOutputWithContext

func (i ServerGroupMap) ToServerGroupMapOutputWithContext(ctx context.Context) ServerGroupMapOutput

type ServerGroupMapInput

type ServerGroupMapInput interface {
	pulumi.Input

	ToServerGroupMapOutput() ServerGroupMapOutput
	ToServerGroupMapOutputWithContext(context.Context) ServerGroupMapOutput
}

ServerGroupMapInput is an input type that accepts ServerGroupMap and ServerGroupMapOutput values. You can construct a concrete instance of `ServerGroupMapInput` via:

ServerGroupMap{ "key": ServerGroupArgs{...} }

type ServerGroupMapOutput

type ServerGroupMapOutput struct{ *pulumi.OutputState }

func (ServerGroupMapOutput) ElementType

func (ServerGroupMapOutput) ElementType() reflect.Type

func (ServerGroupMapOutput) MapIndex

func (ServerGroupMapOutput) ToServerGroupMapOutput

func (o ServerGroupMapOutput) ToServerGroupMapOutput() ServerGroupMapOutput

func (ServerGroupMapOutput) ToServerGroupMapOutputWithContext

func (o ServerGroupMapOutput) ToServerGroupMapOutputWithContext(ctx context.Context) ServerGroupMapOutput

type ServerGroupOutput

type ServerGroupOutput struct{ *pulumi.OutputState }

func (ServerGroupOutput) ElementType

func (ServerGroupOutput) ElementType() reflect.Type

func (ServerGroupOutput) Members

The instances that are part of this server group.

func (ServerGroupOutput) Name

A unique name for the server group. Changing this creates a new server group.

func (ServerGroupOutput) Policies

A list of exactly one policy name to associate with the server group. See the Policies section for more information. Changing this creates a new server group.

func (ServerGroupOutput) Region

The region in which to obtain the V2 Compute client. If omitted, the `region` argument of the provider is used. Changing this creates a new server group.

func (ServerGroupOutput) Rules

The rules which are applied to specified `policy`. Currently, only the `maxServerPerHost` rule is supported for the `anti-affinity` policy.

func (ServerGroupOutput) ToServerGroupOutput

func (o ServerGroupOutput) ToServerGroupOutput() ServerGroupOutput

func (ServerGroupOutput) ToServerGroupOutputWithContext

func (o ServerGroupOutput) ToServerGroupOutputWithContext(ctx context.Context) ServerGroupOutput

func (ServerGroupOutput) ValueSpecs

func (o ServerGroupOutput) ValueSpecs() pulumi.MapOutput

Map of additional options.

type ServerGroupRules

type ServerGroupRules struct {
	MaxServerPerHost *int `pulumi:"maxServerPerHost"`
}

type ServerGroupRulesArgs

type ServerGroupRulesArgs struct {
	MaxServerPerHost pulumi.IntPtrInput `pulumi:"maxServerPerHost"`
}

func (ServerGroupRulesArgs) ElementType

func (ServerGroupRulesArgs) ElementType() reflect.Type

func (ServerGroupRulesArgs) ToServerGroupRulesOutput

func (i ServerGroupRulesArgs) ToServerGroupRulesOutput() ServerGroupRulesOutput

func (ServerGroupRulesArgs) ToServerGroupRulesOutputWithContext

func (i ServerGroupRulesArgs) ToServerGroupRulesOutputWithContext(ctx context.Context) ServerGroupRulesOutput

func (ServerGroupRulesArgs) ToServerGroupRulesPtrOutput

func (i ServerGroupRulesArgs) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesArgs) ToServerGroupRulesPtrOutputWithContext

func (i ServerGroupRulesArgs) ToServerGroupRulesPtrOutputWithContext(ctx context.Context) ServerGroupRulesPtrOutput

type ServerGroupRulesInput

type ServerGroupRulesInput interface {
	pulumi.Input

	ToServerGroupRulesOutput() ServerGroupRulesOutput
	ToServerGroupRulesOutputWithContext(context.Context) ServerGroupRulesOutput
}

ServerGroupRulesInput is an input type that accepts ServerGroupRulesArgs and ServerGroupRulesOutput values. You can construct a concrete instance of `ServerGroupRulesInput` via:

ServerGroupRulesArgs{...}

type ServerGroupRulesOutput

type ServerGroupRulesOutput struct{ *pulumi.OutputState }

func (ServerGroupRulesOutput) ElementType

func (ServerGroupRulesOutput) ElementType() reflect.Type

func (ServerGroupRulesOutput) MaxServerPerHost

func (o ServerGroupRulesOutput) MaxServerPerHost() pulumi.IntPtrOutput

func (ServerGroupRulesOutput) ToServerGroupRulesOutput

func (o ServerGroupRulesOutput) ToServerGroupRulesOutput() ServerGroupRulesOutput

func (ServerGroupRulesOutput) ToServerGroupRulesOutputWithContext

func (o ServerGroupRulesOutput) ToServerGroupRulesOutputWithContext(ctx context.Context) ServerGroupRulesOutput

func (ServerGroupRulesOutput) ToServerGroupRulesPtrOutput

func (o ServerGroupRulesOutput) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesOutput) ToServerGroupRulesPtrOutputWithContext

func (o ServerGroupRulesOutput) ToServerGroupRulesPtrOutputWithContext(ctx context.Context) ServerGroupRulesPtrOutput

type ServerGroupRulesPtrInput

type ServerGroupRulesPtrInput interface {
	pulumi.Input

	ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput
	ToServerGroupRulesPtrOutputWithContext(context.Context) ServerGroupRulesPtrOutput
}

ServerGroupRulesPtrInput is an input type that accepts ServerGroupRulesArgs, ServerGroupRulesPtr and ServerGroupRulesPtrOutput values. You can construct a concrete instance of `ServerGroupRulesPtrInput` via:

        ServerGroupRulesArgs{...}

or:

        nil

type ServerGroupRulesPtrOutput

type ServerGroupRulesPtrOutput struct{ *pulumi.OutputState }

func (ServerGroupRulesPtrOutput) Elem

func (ServerGroupRulesPtrOutput) ElementType

func (ServerGroupRulesPtrOutput) ElementType() reflect.Type

func (ServerGroupRulesPtrOutput) MaxServerPerHost

func (o ServerGroupRulesPtrOutput) MaxServerPerHost() pulumi.IntPtrOutput

func (ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutput

func (o ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutputWithContext

func (o ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutputWithContext(ctx context.Context) ServerGroupRulesPtrOutput

type ServerGroupState

type ServerGroupState struct {
	// The instances that are part of this server group.
	Members pulumi.StringArrayInput
	// A unique name for the server group. Changing this creates
	// a new server group.
	Name pulumi.StringPtrInput
	// A list of exactly one policy name to associate with
	// the server group. See the Policies section for more information. Changing this
	// creates a new server group.
	Policies pulumi.StringArrayInput
	// The region in which to obtain the V2 Compute client.
	// If omitted, the `region` argument of the provider is used. Changing
	// this creates a new server group.
	Region pulumi.StringPtrInput
	// The rules which are applied to specified `policy`. Currently,
	// only the `maxServerPerHost` rule is supported for the `anti-affinity` policy.
	Rules ServerGroupRulesPtrInput
	// Map of additional options.
	ValueSpecs pulumi.MapInput
}

func (ServerGroupState) ElementType

func (ServerGroupState) ElementType() reflect.Type

type VolumeAttach

type VolumeAttach struct {
	pulumi.CustomResourceState

	Device pulumi.StringOutput `pulumi:"device"`
	// The ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Enable attachment of multiattach-capable volumes.
	Multiattach pulumi.BoolPtrOutput `pulumi:"multiattach"`
	// The region in which to obtain the V2 Compute client.
	// A Compute 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"`
	// Add a device role tag that is applied to the volume when
	// attaching it to the VM. Changing this creates a new volume attachment with
	// the new tag. Requires microversion >= 2.49.
	Tag pulumi.StringPtrOutput `pulumi:"tag"`
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions VolumeAttachVendorOptionsPtrOutput `pulumi:"vendorOptions"`
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
}

Attaches a Block Storage Volume to an Instance using the OpenStack Compute (Nova) v2 API.

## Example Usage

### Basic attachment of a single volume to a single instance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume1, err := blockstorage.NewVolume(ctx, "volume_1", &blockstorage.VolumeArgs{
			Name: pulumi.String("volume_1"),
			Size: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewVolumeAttach(ctx, "va_1", &compute.VolumeAttachArgs{
			InstanceId: instance1.ID(),
			VolumeId:   volume1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Using Multiattach-enabled volumes

Multiattach Volumes are dependent upon your OpenStack cloud and not all clouds support multiattach. Multiattach volumes require a volumeType that has [multiattach enabled](https://docs.openstack.org/cinder/latest/admin/volume-multiattach.html#multiattach-volume-type).

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume1, err := blockstorage.NewVolume(ctx, "volume_1", &blockstorage.VolumeArgs{
			Name:       pulumi.String("volume_1"),
			Size:       pulumi.Int(1),
			VolumeType: pulumi.String("multiattach"),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		instance2, err := compute.NewInstance(ctx, "instance_2", &compute.InstanceArgs{
			Name: pulumi.String("instance_2"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		va1, err := compute.NewVolumeAttach(ctx, "va_1", &compute.VolumeAttachArgs{
			InstanceId:  instance1.ID(),
			VolumeId:    volume1.ID(),
			Multiattach: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewVolumeAttach(ctx, "va_2", &compute.VolumeAttachArgs{
			InstanceId:  instance2.ID(),
			VolumeId:    volume1.ID(),
			Multiattach: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			va1,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

It is recommended to use `dependsOn` for the attach resources to enforce the volume attachments to happen one at a time.

## Import

Volume Attachments can be imported using the Instance ID and Volume ID separated by a slash, e.g.

```sh $ pulumi import openstack:compute/volumeAttach:VolumeAttach va_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666 ```

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 {
	Device pulumi.StringPtrInput
	// The ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringInput
	// Enable attachment of multiattach-capable volumes.
	Multiattach pulumi.BoolPtrInput
	// The region in which to obtain the V2 Compute client.
	// A Compute 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
	// Add a device role tag that is applied to the volume when
	// attaching it to the VM. Changing this creates a new volume attachment with
	// the new tag. Requires microversion >= 2.49.
	Tag pulumi.StringPtrInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions VolumeAttachVendorOptionsPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringInput
}

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) Device

func (VolumeAttachOutput) ElementType

func (VolumeAttachOutput) ElementType() reflect.Type

func (VolumeAttachOutput) InstanceId

func (o VolumeAttachOutput) InstanceId() pulumi.StringOutput

The ID of the Instance to attach the Volume to.

func (VolumeAttachOutput) Multiattach

func (o VolumeAttachOutput) Multiattach() pulumi.BoolPtrOutput

Enable attachment of multiattach-capable volumes.

func (VolumeAttachOutput) Region

The region in which to obtain the V2 Compute client. A Compute 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) Tag

Add a device role tag that is applied to the volume when attaching it to the VM. Changing this creates a new volume attachment with the new tag. Requires microversion >= 2.49.

func (VolumeAttachOutput) ToVolumeAttachOutput

func (o VolumeAttachOutput) ToVolumeAttachOutput() VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachOutputWithContext

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

func (VolumeAttachOutput) VendorOptions

Map of additional vendor-specific options. Supported options are described below.

func (VolumeAttachOutput) VolumeId

func (o VolumeAttachOutput) VolumeId() pulumi.StringOutput

The ID of the Volume to attach to an Instance.

type VolumeAttachState

type VolumeAttachState struct {
	Device pulumi.StringPtrInput
	// The ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringPtrInput
	// Enable attachment of multiattach-capable volumes.
	Multiattach pulumi.BoolPtrInput
	// The region in which to obtain the V2 Compute client.
	// A Compute 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
	// Add a device role tag that is applied to the volume when
	// attaching it to the VM. Changing this creates a new volume attachment with
	// the new tag. Requires microversion >= 2.49.
	Tag pulumi.StringPtrInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions VolumeAttachVendorOptionsPtrInput
	// The ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringPtrInput
}

func (VolumeAttachState) ElementType

func (VolumeAttachState) ElementType() reflect.Type

type VolumeAttachVendorOptions

type VolumeAttachVendorOptions struct {
	// Boolean to control whether
	// to ignore volume status confirmation of the attached volume. This can be helpful
	// to work with some OpenStack clouds which don't have the Block Storage V3 API available.
	IgnoreVolumeConfirmation *bool `pulumi:"ignoreVolumeConfirmation"`
}

type VolumeAttachVendorOptionsArgs

type VolumeAttachVendorOptionsArgs struct {
	// Boolean to control whether
	// to ignore volume status confirmation of the attached volume. This can be helpful
	// to work with some OpenStack clouds which don't have the Block Storage V3 API available.
	IgnoreVolumeConfirmation pulumi.BoolPtrInput `pulumi:"ignoreVolumeConfirmation"`
}

func (VolumeAttachVendorOptionsArgs) ElementType

func (VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsOutput

func (i VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsOutput() VolumeAttachVendorOptionsOutput

func (VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsOutputWithContext

func (i VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsOutputWithContext(ctx context.Context) VolumeAttachVendorOptionsOutput

func (VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsPtrOutput

func (i VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsPtrOutput() VolumeAttachVendorOptionsPtrOutput

func (VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsPtrOutputWithContext

func (i VolumeAttachVendorOptionsArgs) ToVolumeAttachVendorOptionsPtrOutputWithContext(ctx context.Context) VolumeAttachVendorOptionsPtrOutput

type VolumeAttachVendorOptionsInput

type VolumeAttachVendorOptionsInput interface {
	pulumi.Input

	ToVolumeAttachVendorOptionsOutput() VolumeAttachVendorOptionsOutput
	ToVolumeAttachVendorOptionsOutputWithContext(context.Context) VolumeAttachVendorOptionsOutput
}

VolumeAttachVendorOptionsInput is an input type that accepts VolumeAttachVendorOptionsArgs and VolumeAttachVendorOptionsOutput values. You can construct a concrete instance of `VolumeAttachVendorOptionsInput` via:

VolumeAttachVendorOptionsArgs{...}

type VolumeAttachVendorOptionsOutput

type VolumeAttachVendorOptionsOutput struct{ *pulumi.OutputState }

func (VolumeAttachVendorOptionsOutput) ElementType

func (VolumeAttachVendorOptionsOutput) IgnoreVolumeConfirmation

func (o VolumeAttachVendorOptionsOutput) IgnoreVolumeConfirmation() pulumi.BoolPtrOutput

Boolean to control whether to ignore volume status confirmation of the attached volume. This can be helpful to work with some OpenStack clouds which don't have the Block Storage V3 API available.

func (VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsOutput

func (o VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsOutput() VolumeAttachVendorOptionsOutput

func (VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsOutputWithContext

func (o VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsOutputWithContext(ctx context.Context) VolumeAttachVendorOptionsOutput

func (VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsPtrOutput

func (o VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsPtrOutput() VolumeAttachVendorOptionsPtrOutput

func (VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsPtrOutputWithContext

func (o VolumeAttachVendorOptionsOutput) ToVolumeAttachVendorOptionsPtrOutputWithContext(ctx context.Context) VolumeAttachVendorOptionsPtrOutput

type VolumeAttachVendorOptionsPtrInput

type VolumeAttachVendorOptionsPtrInput interface {
	pulumi.Input

	ToVolumeAttachVendorOptionsPtrOutput() VolumeAttachVendorOptionsPtrOutput
	ToVolumeAttachVendorOptionsPtrOutputWithContext(context.Context) VolumeAttachVendorOptionsPtrOutput
}

VolumeAttachVendorOptionsPtrInput is an input type that accepts VolumeAttachVendorOptionsArgs, VolumeAttachVendorOptionsPtr and VolumeAttachVendorOptionsPtrOutput values. You can construct a concrete instance of `VolumeAttachVendorOptionsPtrInput` via:

        VolumeAttachVendorOptionsArgs{...}

or:

        nil

type VolumeAttachVendorOptionsPtrOutput

type VolumeAttachVendorOptionsPtrOutput struct{ *pulumi.OutputState }

func (VolumeAttachVendorOptionsPtrOutput) Elem

func (VolumeAttachVendorOptionsPtrOutput) ElementType

func (VolumeAttachVendorOptionsPtrOutput) IgnoreVolumeConfirmation

func (o VolumeAttachVendorOptionsPtrOutput) IgnoreVolumeConfirmation() pulumi.BoolPtrOutput

Boolean to control whether to ignore volume status confirmation of the attached volume. This can be helpful to work with some OpenStack clouds which don't have the Block Storage V3 API available.

func (VolumeAttachVendorOptionsPtrOutput) ToVolumeAttachVendorOptionsPtrOutput

func (o VolumeAttachVendorOptionsPtrOutput) ToVolumeAttachVendorOptionsPtrOutput() VolumeAttachVendorOptionsPtrOutput

func (VolumeAttachVendorOptionsPtrOutput) ToVolumeAttachVendorOptionsPtrOutputWithContext

func (o VolumeAttachVendorOptionsPtrOutput) ToVolumeAttachVendorOptionsPtrOutputWithContext(ctx context.Context) VolumeAttachVendorOptionsPtrOutput

Jump to

Keyboard shortcuts

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