compute

package
v3.15.2 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

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

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

import (

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

)

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

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

### Minimum required example

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

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

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

func (AggregateV2Output) Name added in v3.9.0

The name of the Host Aggregate

func (AggregateV2Output) Region added in v3.9.0

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

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

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			Disk: pulumi.Int(20),
			ExtraSpecs: pulumi.Map{
				"hw:cpu_policy":        pulumi.Any("CPU-POLICY"),
				"hw:cpu_thread_policy": pulumi.Any("CPU-THREAD-POLICY"),
			},
			Ram:   pulumi.Int(8096),
			Vcpus: pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

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

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

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		flavor1, err := compute.NewFlavor(ctx, "flavor1", &compute.FlavorArgs{
			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, "access1", &compute.FlavorAccessArgs{
			TenantId: project1.ID(),
			FlavorId: flavor1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

func (o FlavorAccessOutput) FlavorId() pulumi.StringOutput

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

func (FlavorAccessOutput) Region added in v3.9.0

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

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

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

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

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

func (o FlavorOutput) ExtraSpecs() pulumi.MapOutput

Key/Value pairs of metadata for the flavor.

func (FlavorOutput) FlavorId added in v3.9.0

func (o FlavorOutput) FlavorId() pulumi.StringOutput

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

func (FlavorOutput) IsPublic added in v3.9.0

func (o FlavorOutput) IsPublic() pulumi.BoolPtrOutput

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

func (FlavorOutput) Name added in v3.9.0

func (o FlavorOutput) Name() pulumi.StringOutput

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

func (FlavorOutput) Ram added in v3.9.0

func (o FlavorOutput) Ram() pulumi.IntOutput

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

func (FlavorOutput) Region added in v3.9.0

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

func (o FlavorOutput) RxTxFactor() pulumi.Float64PtrOutput

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

func (FlavorOutput) Swap added in v3.9.0

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

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

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

import (

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

)

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

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

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

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v3/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, "instance1", &compute.InstanceArgs{
			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
		}
		fip1FloatingIp, err := networking.NewFloatingIp(ctx, "fip1FloatingIp", &networking.FloatingIpArgs{
			Pool: pulumi.String("my_pool"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewFloatingIpAssociate(ctx, "fip1FloatingIpAssociate", &compute.FloatingIpAssociateArgs{
			FloatingIp: fip1FloatingIp.Address,
			InstanceId: instance1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

### Explicitly set the network to attach to

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v3/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, "instance1", &compute.InstanceArgs{
			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
		}
		fip1FloatingIp, err := networking.NewFloatingIp(ctx, "fip1FloatingIp", &networking.FloatingIpArgs{
			Pool: pulumi.String("my_pool"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewFloatingIpAssociate(ctx, "fip1FloatingIpAssociate", &compute.FloatingIpAssociateArgs{
			FloatingIp: fip1FloatingIp.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
	})
}

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

## 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 added in v3.9.0

The specific IP address to direct traffic to.

func (FloatingIpAssociateOutput) FloatingIp added in v3.9.0

The floating IP to associate.

func (FloatingIpAssociateOutput) InstanceId added in v3.9.0

The instance to associte the floating IP with.

func (FloatingIpAssociateOutput) Region added in v3.9.0

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

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

func (o FloatingIpOutput) Address() pulumi.StringOutput

The actual floating IP address itself.

func (FloatingIpOutput) ElementType

func (FloatingIpOutput) ElementType() reflect.Type

func (FloatingIpOutput) FixedIp added in v3.9.0

func (o FloatingIpOutput) FixedIp() pulumi.StringOutput

The fixed IP address corresponding to the floating IP.

func (FloatingIpOutput) InstanceId added in v3.9.0

func (o FloatingIpOutput) InstanceId() pulumi.StringOutput

UUID of the compute instance associated with the floating IP.

func (FloatingIpOutput) Pool added in v3.9.0

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

func (FloatingIpOutput) Region added in v3.9.0

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

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

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

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

import (

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

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

type GetAvailabilityZonesResultOutput added in v3.5.0

type GetAvailabilityZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAvailabilityZones.

func GetAvailabilityZonesOutput added in v3.5.0

func (GetAvailabilityZonesResultOutput) ElementType added in v3.5.0

func (GetAvailabilityZonesResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetAvailabilityZonesResultOutput) Names added in v3.5.0

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

func (GetAvailabilityZonesResultOutput) Region added in v3.5.0

func (GetAvailabilityZonesResultOutput) State added in v3.5.0

func (GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutput added in v3.5.0

func (o GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutput() GetAvailabilityZonesResultOutput

func (GetAvailabilityZonesResultOutput) ToGetAvailabilityZonesResultOutputWithContext added in v3.5.0

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

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

A collection of arguments for invoking getHypervisorV2.

func (GetHypervisorV2OutputArgs) ElementType added in v3.5.0

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

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

import (

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

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

type GetHypervisorV2ResultOutput added in v3.5.0

type GetHypervisorV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHypervisorV2.

func GetHypervisorV2Output added in v3.5.0

func (GetHypervisorV2ResultOutput) Disk added in v3.5.0

The amount in GigaBytes of local storage the hypervisor can provide

func (GetHypervisorV2ResultOutput) ElementType added in v3.5.0

func (GetHypervisorV2ResultOutput) HostIp added in v3.5.0

The IP address of the Hypervisor

func (GetHypervisorV2ResultOutput) Hostname added in v3.5.0

See Argument Reference above.

func (GetHypervisorV2ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetHypervisorV2ResultOutput) Memory added in v3.5.0

The number in MegaBytes of memory the hypervisor can provide

func (GetHypervisorV2ResultOutput) State added in v3.5.0

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

func (GetHypervisorV2ResultOutput) Status added in v3.5.0

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

func (GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutput added in v3.5.0

func (o GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutput() GetHypervisorV2ResultOutput

func (GetHypervisorV2ResultOutput) ToGetHypervisorV2ResultOutputWithContext added in v3.5.0

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

func (GetHypervisorV2ResultOutput) Type added in v3.5.0

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

func (GetHypervisorV2ResultOutput) Vcpus added in v3.5.0

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

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

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

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

import (

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

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

type GetInstanceV2ResultOutput added in v3.5.0

type GetInstanceV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstanceV2.

func GetInstanceV2Output added in v3.5.0

func GetInstanceV2Output(ctx *pulumi.Context, args GetInstanceV2OutputArgs, opts ...pulumi.InvokeOption) GetInstanceV2ResultOutput

func (GetInstanceV2ResultOutput) AccessIpV4 added in v3.5.0

The first IPv4 address assigned to this server.

func (GetInstanceV2ResultOutput) AccessIpV6 added in v3.5.0

The first IPv6 address assigned to this server.

func (GetInstanceV2ResultOutput) AvailabilityZone added in v3.5.0

func (o GetInstanceV2ResultOutput) AvailabilityZone() pulumi.StringOutput

The availability zone of this server.

func (GetInstanceV2ResultOutput) Created added in v3.11.0

The creation time of the instance.

func (GetInstanceV2ResultOutput) ElementType added in v3.5.0

func (GetInstanceV2ResultOutput) ElementType() reflect.Type

func (GetInstanceV2ResultOutput) FlavorId added in v3.5.0

The flavor ID used to create the server.

func (GetInstanceV2ResultOutput) FlavorName added in v3.5.0

The flavor name used to create the server.

func (GetInstanceV2ResultOutput) Id added in v3.5.0

func (GetInstanceV2ResultOutput) ImageId added in v3.5.0

The image ID used to create the server.

func (GetInstanceV2ResultOutput) ImageName added in v3.5.0

The image name used to create the server.

func (GetInstanceV2ResultOutput) KeyPair added in v3.5.0

The name of the key pair assigned to this server.

func (GetInstanceV2ResultOutput) Metadata added in v3.5.0

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

func (GetInstanceV2ResultOutput) Name added in v3.5.0

The name of the network

func (GetInstanceV2ResultOutput) Networks added in v3.5.0

An array of maps, detailed below.

func (GetInstanceV2ResultOutput) PowerState added in v3.5.0

func (GetInstanceV2ResultOutput) Region added in v3.5.0

func (GetInstanceV2ResultOutput) SecurityGroups added in v3.5.0

An array of security group names associated with this server.

func (GetInstanceV2ResultOutput) Tags added in v3.5.0

A set of string tags assigned to this server.

func (GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutput added in v3.5.0

func (o GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutput() GetInstanceV2ResultOutput

func (GetInstanceV2ResultOutput) ToGetInstanceV2ResultOutputWithContext added in v3.5.0

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

func (GetInstanceV2ResultOutput) Updated added in v3.11.0

The time when the instance was last updated.

func (GetInstanceV2ResultOutput) UserData added in v3.5.0

The user data added when the server was created.

type GetLimitsV2Args added in v3.9.0

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

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

func (GetLimitsV2OutputArgs) ElementType() reflect.Type

type GetLimitsV2Result added in v3.9.0

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

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

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

import (

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

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

type GetLimitsV2ResultOutput added in v3.9.0

type GetLimitsV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLimitsV2.

func GetLimitsV2Output added in v3.9.0

func GetLimitsV2Output(ctx *pulumi.Context, args GetLimitsV2OutputArgs, opts ...pulumi.InvokeOption) GetLimitsV2ResultOutput

func (GetLimitsV2ResultOutput) ElementType added in v3.9.0

func (GetLimitsV2ResultOutput) ElementType() reflect.Type

func (GetLimitsV2ResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetLimitsV2ResultOutput) MaxImageMeta added in v3.9.0

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

func (o GetLimitsV2ResultOutput) MaxPersonality() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) MaxPersonalitySize added in v3.9.0

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

func (o GetLimitsV2ResultOutput) MaxSecurityGroupRules() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) MaxSecurityGroups added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxSecurityGroups() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) MaxServerGroupMembers added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxServerGroupMembers() pulumi.IntOutput

The number of allowed members for each server group.

func (GetLimitsV2ResultOutput) MaxServerGroups added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxServerGroups() pulumi.IntOutput

The number of allowed server groups for the tenant.

func (GetLimitsV2ResultOutput) MaxServerMeta added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxServerMeta() pulumi.IntOutput

The number of allowed server groups for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalCores added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxTotalCores() pulumi.IntOutput

The number of allowed server cores for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalFloatingIps added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxTotalFloatingIps() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) MaxTotalInstances added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxTotalInstances() pulumi.IntOutput

The number of allowed servers for the tenant.

func (GetLimitsV2ResultOutput) MaxTotalKeypairs added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxTotalKeypairs() pulumi.IntOutput

The number of allowed key pairs for the user.

func (GetLimitsV2ResultOutput) MaxTotalRamSize added in v3.9.0

func (o GetLimitsV2ResultOutput) MaxTotalRamSize() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) ProjectId added in v3.9.0

See Argument Reference above.

func (GetLimitsV2ResultOutput) Region added in v3.9.0

See Argument Reference above.

func (GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutput added in v3.9.0

func (o GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutput() GetLimitsV2ResultOutput

func (GetLimitsV2ResultOutput) ToGetLimitsV2ResultOutputWithContext added in v3.9.0

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

func (GetLimitsV2ResultOutput) TotalCoresUsed added in v3.9.0

func (o GetLimitsV2ResultOutput) TotalCoresUsed() pulumi.IntOutput

The number of used server cores in the tenant.

func (GetLimitsV2ResultOutput) TotalFloatingIpsUsed added in v3.9.0

func (o GetLimitsV2ResultOutput) TotalFloatingIpsUsed() pulumi.IntOutput

The number of used floating IP addresses in the tenant.

func (GetLimitsV2ResultOutput) TotalInstancesUsed added in v3.9.0

func (o GetLimitsV2ResultOutput) TotalInstancesUsed() pulumi.IntOutput

The number of used server cores in the tenant.

func (GetLimitsV2ResultOutput) TotalRamUsed added in v3.9.0

func (o GetLimitsV2ResultOutput) TotalRamUsed() pulumi.IntOutput

The amount of used server RAM in the tenant.

func (GetLimitsV2ResultOutput) TotalSecurityGroupsUsed added in v3.9.0

func (o GetLimitsV2ResultOutput) TotalSecurityGroupsUsed() pulumi.IntOutput

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

func (GetLimitsV2ResultOutput) TotalServerGroupsUsed added in v3.9.0

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"`
	// Deprecated: Use the compute.FloatingIpAssociate resource instead
	FloatingIp pulumi.StringPtrOutput `pulumi:"floatingIp"`
	// 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"`
	// Deprecated: Use blockDevice or compute.VolumeAttach instead
	Volumes InstanceVolumeArrayOutput `pulumi:"volumes"`
}

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
	// Deprecated: Use the compute.FloatingIpAssociate resource instead
	FloatingIp 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
	// Deprecated: Use blockDevice or compute.VolumeAttach instead
	Volumes InstanceVolumeArrayInput
}

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

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"`
	// Deprecated: Use the compute.FloatingIpAssociate resource instead
	FloatingIp *string `pulumi:"floatingIp"`
	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"`
	// Deprecated: Use the compute.FloatingIpAssociate resource instead
	FloatingIp pulumi.StringPtrInput `pulumi:"floatingIp"`
	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) FloatingIp deprecated

Deprecated: Use the compute.FloatingIpAssociate resource instead

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

func (o InstanceOutput) AccessIpV4() pulumi.StringOutput

The first detected Fixed IPv4 address.

func (InstanceOutput) AccessIpV6 added in v3.9.0

func (o InstanceOutput) AccessIpV6() pulumi.StringOutput

The first detected Fixed IPv6 address.

func (InstanceOutput) AdminPass added in v3.9.0

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

func (o InstanceOutput) AllMetadata() pulumi.MapOutput

func (InstanceOutput) AllTags added in v3.9.0

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

func (InstanceOutput) AvailabilityZone added in v3.9.0

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

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

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

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

func (o InstanceOutput) Created() pulumi.StringOutput

The creation time of the instance.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) FlavorId added in v3.9.0

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

func (o InstanceOutput) FlavorName() pulumi.StringOutput

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

func (InstanceOutput) FloatingIp deprecated added in v3.9.0

func (o InstanceOutput) FloatingIp() pulumi.StringPtrOutput

Deprecated: Use the compute.FloatingIpAssociate resource instead

func (InstanceOutput) ForceDelete added in v3.9.0

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

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

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

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

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

A unique name for the resource.

func (InstanceOutput) NetworkMode added in v3.9.0

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

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

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

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

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

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

func (InstanceOutput) SecurityGroups added in v3.9.0

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

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

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

func (o InstanceOutput) Updated() pulumi.StringOutput

The time when the instance was last updated.

func (InstanceOutput) UserData added in v3.9.0

func (o InstanceOutput) UserData() pulumi.StringPtrOutput

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

func (InstanceOutput) VendorOptions added in v3.9.0

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

func (InstanceOutput) Volumes deprecated added in v3.9.0

Deprecated: Use blockDevice or compute.VolumeAttach instead

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

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
	// Deprecated: Use the compute.FloatingIpAssociate resource instead
	FloatingIp 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
	// Deprecated: Use blockDevice or compute.VolumeAttach instead
	Volumes InstanceVolumeArrayInput
}

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 InstanceVolume added in v3.4.0

type InstanceVolume struct {
	Device   *string `pulumi:"device"`
	Id       *string `pulumi:"id"`
	VolumeId string  `pulumi:"volumeId"`
}

type InstanceVolumeArgs added in v3.4.0

type InstanceVolumeArgs struct {
	Device   pulumi.StringPtrInput `pulumi:"device"`
	Id       pulumi.StringPtrInput `pulumi:"id"`
	VolumeId pulumi.StringInput    `pulumi:"volumeId"`
}

func (InstanceVolumeArgs) ElementType added in v3.4.0

func (InstanceVolumeArgs) ElementType() reflect.Type

func (InstanceVolumeArgs) ToInstanceVolumeOutput added in v3.4.0

func (i InstanceVolumeArgs) ToInstanceVolumeOutput() InstanceVolumeOutput

func (InstanceVolumeArgs) ToInstanceVolumeOutputWithContext added in v3.4.0

func (i InstanceVolumeArgs) ToInstanceVolumeOutputWithContext(ctx context.Context) InstanceVolumeOutput

type InstanceVolumeArray added in v3.4.0

type InstanceVolumeArray []InstanceVolumeInput

func (InstanceVolumeArray) ElementType added in v3.4.0

func (InstanceVolumeArray) ElementType() reflect.Type

func (InstanceVolumeArray) ToInstanceVolumeArrayOutput added in v3.4.0

func (i InstanceVolumeArray) ToInstanceVolumeArrayOutput() InstanceVolumeArrayOutput

func (InstanceVolumeArray) ToInstanceVolumeArrayOutputWithContext added in v3.4.0

func (i InstanceVolumeArray) ToInstanceVolumeArrayOutputWithContext(ctx context.Context) InstanceVolumeArrayOutput

type InstanceVolumeArrayInput added in v3.4.0

type InstanceVolumeArrayInput interface {
	pulumi.Input

	ToInstanceVolumeArrayOutput() InstanceVolumeArrayOutput
	ToInstanceVolumeArrayOutputWithContext(context.Context) InstanceVolumeArrayOutput
}

InstanceVolumeArrayInput is an input type that accepts InstanceVolumeArray and InstanceVolumeArrayOutput values. You can construct a concrete instance of `InstanceVolumeArrayInput` via:

InstanceVolumeArray{ InstanceVolumeArgs{...} }

type InstanceVolumeArrayOutput added in v3.4.0

type InstanceVolumeArrayOutput struct{ *pulumi.OutputState }

func (InstanceVolumeArrayOutput) ElementType added in v3.4.0

func (InstanceVolumeArrayOutput) ElementType() reflect.Type

func (InstanceVolumeArrayOutput) Index added in v3.4.0

func (InstanceVolumeArrayOutput) ToInstanceVolumeArrayOutput added in v3.4.0

func (o InstanceVolumeArrayOutput) ToInstanceVolumeArrayOutput() InstanceVolumeArrayOutput

func (InstanceVolumeArrayOutput) ToInstanceVolumeArrayOutputWithContext added in v3.4.0

func (o InstanceVolumeArrayOutput) ToInstanceVolumeArrayOutputWithContext(ctx context.Context) InstanceVolumeArrayOutput

type InstanceVolumeInput added in v3.4.0

type InstanceVolumeInput interface {
	pulumi.Input

	ToInstanceVolumeOutput() InstanceVolumeOutput
	ToInstanceVolumeOutputWithContext(context.Context) InstanceVolumeOutput
}

InstanceVolumeInput is an input type that accepts InstanceVolumeArgs and InstanceVolumeOutput values. You can construct a concrete instance of `InstanceVolumeInput` via:

InstanceVolumeArgs{...}

type InstanceVolumeOutput added in v3.4.0

type InstanceVolumeOutput struct{ *pulumi.OutputState }

func (InstanceVolumeOutput) Device added in v3.4.0

func (InstanceVolumeOutput) ElementType added in v3.4.0

func (InstanceVolumeOutput) ElementType() reflect.Type

func (InstanceVolumeOutput) Id added in v3.4.0

func (InstanceVolumeOutput) ToInstanceVolumeOutput added in v3.4.0

func (o InstanceVolumeOutput) ToInstanceVolumeOutput() InstanceVolumeOutput

func (InstanceVolumeOutput) ToInstanceVolumeOutputWithContext added in v3.4.0

func (o InstanceVolumeOutput) ToInstanceVolumeOutputWithContext(ctx context.Context) InstanceVolumeOutput

func (InstanceVolumeOutput) VolumeId added in v3.4.0

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

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

import (

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

)

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

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

### Attachment Specifying a Fixed IP

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

import (

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

)

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

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

### Attachment Using an Existing Port

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/compute"
"github.com/pulumi/pulumi-openstack/sdk/v3/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, "network1", &networking.NetworkArgs{
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		port1, err := networking.NewPort(ctx, "port1", &networking.PortArgs{
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		instance1, err := compute.NewInstance(ctx, "instance1", &compute.InstanceArgs{
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInterfaceAttach(ctx, "ai1", &compute.InterfaceAttachArgs{
			InstanceId: instance1.ID(),
			PortId:     port1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

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

func (o InterfaceAttachOutput) InstanceId() pulumi.StringOutput

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

func (InterfaceAttachOutput) NetworkId added in v3.9.0

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

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

func (InterfaceAttachOutput) Region added in v3.9.0

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

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAjpC1hwiOCCmKEWxJ4qzTTsJbKzndLotBCz5PcwtUnflmU+gHJtWMZKpuEGVi29h0A/+ydKek1O18k10Ff+4tyFjiHDQAnOfgWf7+b1yK+qDip3X1C0UPMbwHlTfSGWLGZqd9LvEFx9k3h/M+VtMvwR1lJ9LUyTAImnNjWG7TaIPmui30HvM2UiFEmqkr4ijq45MyX2+fLIePLRIF61p4whjHAQYufqyno3BS48icQb4p6iVEZPo4AE2o9oIyQvj2mx4dk5Y8CgSETOZTYDOR3rU2fZTRDRgPJDH9FWvQjF5tA0p3d9CoWWd2s6GKKbfoUIi8R/Db1BSPJwkqB"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

### Generate a Public/Private Key Pair

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

func (o KeypairOutput) Fingerprint() pulumi.StringOutput

The fingerprint of the public key.

func (KeypairOutput) Name added in v3.9.0

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

func (KeypairOutput) PrivateKey added in v3.9.0

func (o KeypairOutput) PrivateKey() pulumi.StringOutput

The generated private key when no public key is specified.

func (KeypairOutput) PublicKey added in v3.9.0

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

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

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

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

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

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

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

import (

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

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

type LookupAggregateV2ResultOutput added in v3.5.0

type LookupAggregateV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAggregateV2.

func LookupAggregateV2Output added in v3.5.0

func (LookupAggregateV2ResultOutput) ElementType added in v3.5.0

func (LookupAggregateV2ResultOutput) Hosts added in v3.5.0

List of Hypervisors contained in the Host Aggregate

func (LookupAggregateV2ResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupAggregateV2ResultOutput) Metadata added in v3.5.0

Metadata of the Host Aggregate

func (LookupAggregateV2ResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutput added in v3.5.0

func (o LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutput() LookupAggregateV2ResultOutput

func (LookupAggregateV2ResultOutput) ToLookupAggregateV2ResultOutputWithContext added in v3.5.0

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

func (LookupAggregateV2ResultOutput) Zone added in v3.5.0

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

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

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

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			Ram:   pulumi.IntRef(512),
			Vcpus: pulumi.IntRef(1),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

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

type LookupFlavorResultOutput added in v3.5.0

type LookupFlavorResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlavor.

func LookupFlavorOutput added in v3.5.0

func LookupFlavorOutput(ctx *pulumi.Context, args LookupFlavorOutputArgs, opts ...pulumi.InvokeOption) LookupFlavorResultOutput

func (LookupFlavorResultOutput) Description added in v3.11.0

func (LookupFlavorResultOutput) Disk added in v3.5.0

func (LookupFlavorResultOutput) ElementType added in v3.5.0

func (LookupFlavorResultOutput) ElementType() reflect.Type

func (LookupFlavorResultOutput) ExtraSpecs added in v3.5.0

func (o LookupFlavorResultOutput) ExtraSpecs() pulumi.MapOutput

Key/Value pairs of metadata for the flavor.

func (LookupFlavorResultOutput) FlavorId added in v3.5.0

func (LookupFlavorResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupFlavorResultOutput) IsPublic added in v3.5.0

func (LookupFlavorResultOutput) MinDisk added in v3.5.0

func (LookupFlavorResultOutput) MinRam added in v3.5.0

func (LookupFlavorResultOutput) Name added in v3.5.0

func (LookupFlavorResultOutput) Ram added in v3.5.0

func (LookupFlavorResultOutput) Region added in v3.5.0

func (LookupFlavorResultOutput) RxTxFactor added in v3.5.0

func (LookupFlavorResultOutput) Swap added in v3.5.0

func (LookupFlavorResultOutput) ToLookupFlavorResultOutput added in v3.5.0

func (o LookupFlavorResultOutput) ToLookupFlavorResultOutput() LookupFlavorResultOutput

func (LookupFlavorResultOutput) ToLookupFlavorResultOutputWithContext added in v3.5.0

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

func (LookupFlavorResultOutput) Vcpus added in v3.5.0

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

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

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

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

import (

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

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

type LookupKeypairResultOutput added in v3.5.0

type LookupKeypairResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getKeypair.

func LookupKeypairOutput added in v3.5.0

func LookupKeypairOutput(ctx *pulumi.Context, args LookupKeypairOutputArgs, opts ...pulumi.InvokeOption) LookupKeypairResultOutput

func (LookupKeypairResultOutput) ElementType added in v3.5.0

func (LookupKeypairResultOutput) ElementType() reflect.Type

func (LookupKeypairResultOutput) Fingerprint added in v3.5.0

The fingerprint of the OpenSSH key.

func (LookupKeypairResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupKeypairResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupKeypairResultOutput) PublicKey added in v3.5.0

The OpenSSH-formatted public key of the keypair.

func (LookupKeypairResultOutput) Region added in v3.5.0

See Argument Reference above.

func (LookupKeypairResultOutput) ToLookupKeypairResultOutput added in v3.5.0

func (o LookupKeypairResultOutput) ToLookupKeypairResultOutput() LookupKeypairResultOutput

func (LookupKeypairResultOutput) ToLookupKeypairResultOutputWithContext added in v3.5.0

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

func (LookupKeypairResultOutput) UserId added in v3.13.0

See Argument Reference above.

type LookupQuotaSetV2Args added in v3.6.0

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

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

func (LookupQuotaSetV2OutputArgs) ElementType() reflect.Type

type LookupQuotaSetV2Result added in v3.6.0

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

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

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

import (

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

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

type LookupQuotaSetV2ResultOutput added in v3.6.0

type LookupQuotaSetV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQuotaSetV2.

func LookupQuotaSetV2Output added in v3.6.0

func (LookupQuotaSetV2ResultOutput) Cores added in v3.6.0

The number of allowed server cores.

func (LookupQuotaSetV2ResultOutput) ElementType added in v3.6.0

func (LookupQuotaSetV2ResultOutput) FixedIps added in v3.6.0

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

func (LookupQuotaSetV2ResultOutput) FloatingIps added in v3.6.0

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

func (LookupQuotaSetV2ResultOutput) Id added in v3.6.0

The provider-assigned unique ID for this managed resource.

func (LookupQuotaSetV2ResultOutput) InjectedFileContentBytes added in v3.6.0

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

func (o LookupQuotaSetV2ResultOutput) InjectedFilePathBytes() pulumi.IntOutput

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

func (LookupQuotaSetV2ResultOutput) InjectedFiles added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) InjectedFiles() pulumi.IntOutput

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

func (LookupQuotaSetV2ResultOutput) Instances added in v3.6.0

The number of allowed servers.

func (LookupQuotaSetV2ResultOutput) KeyPairs added in v3.6.0

The number of allowed key pairs for each user.

func (LookupQuotaSetV2ResultOutput) MetadataItems added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) MetadataItems() pulumi.IntOutput

The number of allowed metadata items for each server.

func (LookupQuotaSetV2ResultOutput) ProjectId added in v3.6.0

See Argument Reference above.

func (LookupQuotaSetV2ResultOutput) Ram added in v3.6.0

The amount of allowed server RAM, in MiB.

func (LookupQuotaSetV2ResultOutput) Region added in v3.6.0

See Argument Reference above.

func (LookupQuotaSetV2ResultOutput) SecurityGroupRules added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) SecurityGroupRules() pulumi.IntOutput

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

func (LookupQuotaSetV2ResultOutput) SecurityGroups added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) SecurityGroups() pulumi.IntOutput

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

func (LookupQuotaSetV2ResultOutput) ServerGroupMembers added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) ServerGroupMembers() pulumi.IntOutput

The number of allowed members for each server group.

func (LookupQuotaSetV2ResultOutput) ServerGroups added in v3.6.0

The number of allowed server groups.

func (LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutput added in v3.6.0

func (o LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutput() LookupQuotaSetV2ResultOutput

func (LookupQuotaSetV2ResultOutput) ToLookupQuotaSetV2ResultOutputWithContext added in v3.6.0

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.

## Example Usage

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

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		_, err = compute.NewQuotaSetV2(ctx, "quotaset1", &compute.QuotaSetV2Args{
			ProjectId:          project1.ID(),
			KeyPairs:           pulumi.Int(10),
			Ram:                pulumi.Int(40960),
			Cores:              pulumi.Int(32),
			Instances:          pulumi.Int(20),
			ServerGroups:       pulumi.Int(4),
			ServerGroupMembers: pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

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

func (o QuotaSetV2Output) FixedIps() pulumi.IntOutput

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

func (QuotaSetV2Output) FloatingIps added in v3.9.0

func (o QuotaSetV2Output) FloatingIps() pulumi.IntOutput

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

func (QuotaSetV2Output) InjectedFileContentBytes added in v3.9.0

func (o QuotaSetV2Output) InjectedFileContentBytes() pulumi.IntOutput

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

func (QuotaSetV2Output) InjectedFilePathBytes added in v3.9.0

func (o QuotaSetV2Output) InjectedFilePathBytes() pulumi.IntOutput

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

func (QuotaSetV2Output) InjectedFiles added in v3.9.0

func (o QuotaSetV2Output) InjectedFiles() pulumi.IntOutput

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

func (QuotaSetV2Output) Instances added in v3.9.0

func (o QuotaSetV2Output) Instances() pulumi.IntOutput

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

func (QuotaSetV2Output) KeyPairs added in v3.9.0

func (o QuotaSetV2Output) KeyPairs() pulumi.IntOutput

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

func (QuotaSetV2Output) MetadataItems added in v3.9.0

func (o QuotaSetV2Output) MetadataItems() pulumi.IntOutput

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

func (QuotaSetV2Output) ProjectId added in v3.9.0

func (o QuotaSetV2Output) ProjectId() pulumi.StringOutput

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

func (QuotaSetV2Output) Ram added in v3.9.0

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

func (QuotaSetV2Output) Region added in v3.9.0

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

func (QuotaSetV2Output) SecurityGroupRules added in v3.9.0

func (o QuotaSetV2Output) SecurityGroupRules() pulumi.IntOutput

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

func (QuotaSetV2Output) SecurityGroups added in v3.9.0

func (o QuotaSetV2Output) SecurityGroups() pulumi.IntOutput

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

func (QuotaSetV2Output) ServerGroupMembers added in v3.9.0

func (o QuotaSetV2Output) ServerGroupMembers() pulumi.IntOutput

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

func (QuotaSetV2Output) ServerGroups added in v3.9.0

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

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

import (

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

)

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

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

## Notes

### ICMP Rules

When using ICMP as the `ipProtocol`, the `fromPort` sets the ICMP _type_ and the `toPort` sets the ICMP _code_. To allow all ICMP types, set each value to `-1`, like so:

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

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

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

A list of ICMP types and codes can be found [here](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages).

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

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("3"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				openstack_compute_secgroup_v2.Secgroup_1.Name,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

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

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

func (SecGroupOutput) Region added in v3.9.0

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

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:

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			Policies: pulumi.StringArray{
				pulumi.String("anti-affinity"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

### Compute service API version 2.64 or above:

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

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/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{
			Policies: pulumi.StringArray{
				pulumi.String("anti-affinity"),
			},
			Rules: &compute.ServerGroupRulesArgs{
				MaxServerPerHost: pulumi.Int(3),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

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

## 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 added in v3.9.0

The instances that are part of this server group.

func (ServerGroupOutput) Name added in v3.9.0

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

func (ServerGroupOutput) Policies added in v3.9.0

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

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

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

func (o ServerGroupOutput) ValueSpecs() pulumi.MapOutput

Map of additional options.

type ServerGroupRules added in v3.12.0

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

type ServerGroupRulesArgs added in v3.12.0

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

func (ServerGroupRulesArgs) ElementType added in v3.12.0

func (ServerGroupRulesArgs) ElementType() reflect.Type

func (ServerGroupRulesArgs) ToServerGroupRulesOutput added in v3.12.0

func (i ServerGroupRulesArgs) ToServerGroupRulesOutput() ServerGroupRulesOutput

func (ServerGroupRulesArgs) ToServerGroupRulesOutputWithContext added in v3.12.0

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

func (ServerGroupRulesArgs) ToServerGroupRulesPtrOutput added in v3.12.0

func (i ServerGroupRulesArgs) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesArgs) ToServerGroupRulesPtrOutputWithContext added in v3.12.0

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

type ServerGroupRulesInput added in v3.12.0

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

type ServerGroupRulesOutput struct{ *pulumi.OutputState }

func (ServerGroupRulesOutput) ElementType added in v3.12.0

func (ServerGroupRulesOutput) ElementType() reflect.Type

func (ServerGroupRulesOutput) MaxServerPerHost added in v3.12.0

func (o ServerGroupRulesOutput) MaxServerPerHost() pulumi.IntPtrOutput

func (ServerGroupRulesOutput) ToServerGroupRulesOutput added in v3.12.0

func (o ServerGroupRulesOutput) ToServerGroupRulesOutput() ServerGroupRulesOutput

func (ServerGroupRulesOutput) ToServerGroupRulesOutputWithContext added in v3.12.0

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

func (ServerGroupRulesOutput) ToServerGroupRulesPtrOutput added in v3.12.0

func (o ServerGroupRulesOutput) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesOutput) ToServerGroupRulesPtrOutputWithContext added in v3.12.0

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

type ServerGroupRulesPtrInput added in v3.12.0

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

func ServerGroupRulesPtr added in v3.12.0

func ServerGroupRulesPtr(v *ServerGroupRulesArgs) ServerGroupRulesPtrInput

type ServerGroupRulesPtrOutput added in v3.12.0

type ServerGroupRulesPtrOutput struct{ *pulumi.OutputState }

func (ServerGroupRulesPtrOutput) Elem added in v3.12.0

func (ServerGroupRulesPtrOutput) ElementType added in v3.12.0

func (ServerGroupRulesPtrOutput) ElementType() reflect.Type

func (ServerGroupRulesPtrOutput) MaxServerPerHost added in v3.12.0

func (o ServerGroupRulesPtrOutput) MaxServerPerHost() pulumi.IntPtrOutput

func (ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutput added in v3.12.0

func (o ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutput() ServerGroupRulesPtrOutput

func (ServerGroupRulesPtrOutput) ToServerGroupRulesPtrOutputWithContext added in v3.12.0

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

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

import (

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

)

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

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

### Using Multiattach-enabled volumes

Multiattach Volumes are dependent upon your OpenStack cloud and not all clouds support multiattach.

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

import (

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

)

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

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

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
	// 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 added in v3.9.0

func (VolumeAttachOutput) ElementType

func (VolumeAttachOutput) ElementType() reflect.Type

func (VolumeAttachOutput) InstanceId added in v3.9.0

func (o VolumeAttachOutput) InstanceId() pulumi.StringOutput

The ID of the Instance to attach the Volume to.

func (VolumeAttachOutput) Multiattach added in v3.9.0

func (o VolumeAttachOutput) Multiattach() pulumi.BoolPtrOutput

Enable attachment of multiattach-capable volumes.

func (VolumeAttachOutput) Region added in v3.9.0

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

func (o VolumeAttachOutput) ToVolumeAttachOutput() VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachOutputWithContext

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

func (VolumeAttachOutput) VendorOptions added in v3.9.0

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

func (VolumeAttachOutput) VolumeId added in v3.9.0

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