networking

package
v4.1.3 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressScope

type AddressScope struct {
	pulumi.CustomResourceState

	// IP version, either 4 (default) or 6. Changing this
	// creates a new address-scope.
	IpVersion pulumi.IntPtrOutput `pulumi:"ipVersion"`
	// The name of the address-scope. Changing this updates the
	// name of the existing address-scope.
	Name pulumi.StringOutput `pulumi:"name"`
	// The owner of the address-scope. Required if admin
	// wants to create a address-scope for another project. Changing this creates a
	// new address-scope.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron address-scope. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// address-scope.
	Region pulumi.StringOutput `pulumi:"region"`
	// Indicates whether this address-scope is shared across
	// all projects. Changing this updates the shared status of the existing
	// address-scope.
	Shared pulumi.BoolOutput `pulumi:"shared"`
}

Manages a V2 Neutron addressscope resource within OpenStack.

## Example Usage

### Create an Address-scope

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewAddressScope(ctx, "addressscope_1", &networking.AddressScopeArgs{
			Name:      pulumi.String("addressscope_1"),
			IpVersion: pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Create a Subnet Pool from an Address-scope

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		addressscope1, err := networking.NewAddressScope(ctx, "addressscope_1", &networking.AddressScopeArgs{
			Name:      pulumi.String("addressscope_1"),
			IpVersion: pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewSubnetPool(ctx, "subnetpool_1", &networking.SubnetPoolArgs{
			Name: pulumi.String("subnetpool_1"),
			Prefixes: pulumi.StringArray{
				pulumi.String("fdf7:b13d:dead:beef::/64"),
				pulumi.String("fd65:86cc:a334:39b7::/64"),
			},
			AddressScopeId: addressscope1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Address-scopes can be imported using the `id`, e.g.

```sh $ pulumi import openstack:networking/addressScope:AddressScope addressscope_1 9cc35860-522a-4d35-974d-51d4b011801e ```

func GetAddressScope

func GetAddressScope(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AddressScopeState, opts ...pulumi.ResourceOption) (*AddressScope, error)

GetAddressScope gets an existing AddressScope 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 NewAddressScope

func NewAddressScope(ctx *pulumi.Context,
	name string, args *AddressScopeArgs, opts ...pulumi.ResourceOption) (*AddressScope, error)

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

func (*AddressScope) ElementType

func (*AddressScope) ElementType() reflect.Type

func (*AddressScope) ToAddressScopeOutput

func (i *AddressScope) ToAddressScopeOutput() AddressScopeOutput

func (*AddressScope) ToAddressScopeOutputWithContext

func (i *AddressScope) ToAddressScopeOutputWithContext(ctx context.Context) AddressScopeOutput

type AddressScopeArgs

type AddressScopeArgs struct {
	// IP version, either 4 (default) or 6. Changing this
	// creates a new address-scope.
	IpVersion pulumi.IntPtrInput
	// The name of the address-scope. Changing this updates the
	// name of the existing address-scope.
	Name pulumi.StringPtrInput
	// The owner of the address-scope. Required if admin
	// wants to create a address-scope for another project. Changing this creates a
	// new address-scope.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron address-scope. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// address-scope.
	Region pulumi.StringPtrInput
	// Indicates whether this address-scope is shared across
	// all projects. Changing this updates the shared status of the existing
	// address-scope.
	Shared pulumi.BoolPtrInput
}

The set of arguments for constructing a AddressScope resource.

func (AddressScopeArgs) ElementType

func (AddressScopeArgs) ElementType() reflect.Type

type AddressScopeArray

type AddressScopeArray []AddressScopeInput

func (AddressScopeArray) ElementType

func (AddressScopeArray) ElementType() reflect.Type

func (AddressScopeArray) ToAddressScopeArrayOutput

func (i AddressScopeArray) ToAddressScopeArrayOutput() AddressScopeArrayOutput

func (AddressScopeArray) ToAddressScopeArrayOutputWithContext

func (i AddressScopeArray) ToAddressScopeArrayOutputWithContext(ctx context.Context) AddressScopeArrayOutput

type AddressScopeArrayInput

type AddressScopeArrayInput interface {
	pulumi.Input

	ToAddressScopeArrayOutput() AddressScopeArrayOutput
	ToAddressScopeArrayOutputWithContext(context.Context) AddressScopeArrayOutput
}

AddressScopeArrayInput is an input type that accepts AddressScopeArray and AddressScopeArrayOutput values. You can construct a concrete instance of `AddressScopeArrayInput` via:

AddressScopeArray{ AddressScopeArgs{...} }

type AddressScopeArrayOutput

type AddressScopeArrayOutput struct{ *pulumi.OutputState }

func (AddressScopeArrayOutput) ElementType

func (AddressScopeArrayOutput) ElementType() reflect.Type

func (AddressScopeArrayOutput) Index

func (AddressScopeArrayOutput) ToAddressScopeArrayOutput

func (o AddressScopeArrayOutput) ToAddressScopeArrayOutput() AddressScopeArrayOutput

func (AddressScopeArrayOutput) ToAddressScopeArrayOutputWithContext

func (o AddressScopeArrayOutput) ToAddressScopeArrayOutputWithContext(ctx context.Context) AddressScopeArrayOutput

type AddressScopeInput

type AddressScopeInput interface {
	pulumi.Input

	ToAddressScopeOutput() AddressScopeOutput
	ToAddressScopeOutputWithContext(ctx context.Context) AddressScopeOutput
}

type AddressScopeMap

type AddressScopeMap map[string]AddressScopeInput

func (AddressScopeMap) ElementType

func (AddressScopeMap) ElementType() reflect.Type

func (AddressScopeMap) ToAddressScopeMapOutput

func (i AddressScopeMap) ToAddressScopeMapOutput() AddressScopeMapOutput

func (AddressScopeMap) ToAddressScopeMapOutputWithContext

func (i AddressScopeMap) ToAddressScopeMapOutputWithContext(ctx context.Context) AddressScopeMapOutput

type AddressScopeMapInput

type AddressScopeMapInput interface {
	pulumi.Input

	ToAddressScopeMapOutput() AddressScopeMapOutput
	ToAddressScopeMapOutputWithContext(context.Context) AddressScopeMapOutput
}

AddressScopeMapInput is an input type that accepts AddressScopeMap and AddressScopeMapOutput values. You can construct a concrete instance of `AddressScopeMapInput` via:

AddressScopeMap{ "key": AddressScopeArgs{...} }

type AddressScopeMapOutput

type AddressScopeMapOutput struct{ *pulumi.OutputState }

func (AddressScopeMapOutput) ElementType

func (AddressScopeMapOutput) ElementType() reflect.Type

func (AddressScopeMapOutput) MapIndex

func (AddressScopeMapOutput) ToAddressScopeMapOutput

func (o AddressScopeMapOutput) ToAddressScopeMapOutput() AddressScopeMapOutput

func (AddressScopeMapOutput) ToAddressScopeMapOutputWithContext

func (o AddressScopeMapOutput) ToAddressScopeMapOutputWithContext(ctx context.Context) AddressScopeMapOutput

type AddressScopeOutput

type AddressScopeOutput struct{ *pulumi.OutputState }

func (AddressScopeOutput) ElementType

func (AddressScopeOutput) ElementType() reflect.Type

func (AddressScopeOutput) IpVersion

func (o AddressScopeOutput) IpVersion() pulumi.IntPtrOutput

IP version, either 4 (default) or 6. Changing this creates a new address-scope.

func (AddressScopeOutput) Name

The name of the address-scope. Changing this updates the name of the existing address-scope.

func (AddressScopeOutput) ProjectId

func (o AddressScopeOutput) ProjectId() pulumi.StringOutput

The owner of the address-scope. Required if admin wants to create a address-scope for another project. Changing this creates a new address-scope.

func (AddressScopeOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a Neutron address-scope. If omitted, the `region` argument of the provider is used. Changing this creates a new address-scope.

func (AddressScopeOutput) Shared

Indicates whether this address-scope is shared across all projects. Changing this updates the shared status of the existing address-scope.

func (AddressScopeOutput) ToAddressScopeOutput

func (o AddressScopeOutput) ToAddressScopeOutput() AddressScopeOutput

func (AddressScopeOutput) ToAddressScopeOutputWithContext

func (o AddressScopeOutput) ToAddressScopeOutputWithContext(ctx context.Context) AddressScopeOutput

type AddressScopeState

type AddressScopeState struct {
	// IP version, either 4 (default) or 6. Changing this
	// creates a new address-scope.
	IpVersion pulumi.IntPtrInput
	// The name of the address-scope. Changing this updates the
	// name of the existing address-scope.
	Name pulumi.StringPtrInput
	// The owner of the address-scope. Required if admin
	// wants to create a address-scope for another project. Changing this creates a
	// new address-scope.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron address-scope. If omitted,
	// the `region` argument of the provider is used. Changing this creates a new
	// address-scope.
	Region pulumi.StringPtrInput
	// Indicates whether this address-scope is shared across
	// all projects. Changing this updates the shared status of the existing
	// address-scope.
	Shared pulumi.BoolPtrInput
}

func (AddressScopeState) ElementType

func (AddressScopeState) ElementType() reflect.Type

type FloatingIp

type FloatingIp struct {
	pulumi.CustomResourceState

	// The actual/specific floating IP to obtain. By default,
	// non-admin users are not able to specify a floating IP, so you must either be
	// an admin user or have had a custom policy or role applied to your OpenStack
	// user or project.
	Address pulumi.StringOutput `pulumi:"address"`
	// The collection of tags assigned on the floating IP, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// Human-readable description for the floating IP.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The floating IP DNS domain. Available, when Neutron
	// DNS extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsDomain pulumi.StringOutput `pulumi:"dnsDomain"`
	// The floating IP DNS name. Available, when Neutron DNS
	// extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// Fixed IP of the port to associate with this floating IP. Required if
	// the port has multiple fixed IPs.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringOutput `pulumi:"pool"`
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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"`
	// The subnet ID of the floating IP pool. Specify this if
	// the floating IP network has multiple subnets.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// A list of external subnet IDs to try over each to
	// allocate a floating IP address. If a subnet ID in a list has exhausted
	// floating IP pool, the next subnet ID will be tried. This argument is used only
	// during the resource creation. Conflicts with a `subnetId` argument.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// A set of string tags for the floating IP.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The target tenant ID in which to allocate the floating
	// IP, if you specify this together with a port_id, make sure the target port
	// belongs to the same tenant. Changing this creates a new floating IP (which
	// may or may not have a different address)
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

## Import

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

```sh $ pulumi import openstack:networking/floatingIp:FloatingIp floatip_1 2c7f39f3-702b-48d1-940c-b50384177ee1 ```

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 actual/specific floating IP to obtain. By default,
	// non-admin users are not able to specify a floating IP, so you must either be
	// an admin user or have had a custom policy or role applied to your OpenStack
	// user or project.
	Address pulumi.StringPtrInput
	// Human-readable description for the floating IP.
	Description pulumi.StringPtrInput
	// The floating IP DNS domain. Available, when Neutron
	// DNS extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsDomain pulumi.StringPtrInput
	// The floating IP DNS name. Available, when Neutron DNS
	// extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsName pulumi.StringPtrInput
	// Fixed IP of the port to associate with this floating IP. Required if
	// the port has multiple fixed IPs.
	FixedIp pulumi.StringPtrInput
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringInput
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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 subnet ID of the floating IP pool. Specify this if
	// the floating IP network has multiple subnets.
	SubnetId pulumi.StringPtrInput
	// A list of external subnet IDs to try over each to
	// allocate a floating IP address. If a subnet ID in a list has exhausted
	// floating IP pool, the next subnet ID will be tried. This argument is used only
	// during the resource creation. Conflicts with a `subnetId` argument.
	SubnetIds pulumi.StringArrayInput
	// A set of string tags for the floating IP.
	Tags pulumi.StringArrayInput
	// The target tenant ID in which to allocate the floating
	// IP, if you specify this together with a port_id, make sure the target port
	// belongs to the same tenant. Changing this creates a new floating IP (which
	// may or may not have a different address)
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

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

	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// IP Address of an existing floating IP.
	FloatingIp pulumi.StringOutput `pulumi:"floatingIp"`
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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"`
}

Associates a floating IP to a port. This is useful for situations where you have a pre-allocated floating IP or are unable to use the `networking.FloatingIp` resource to create a floating IP.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		port1, err := networking.NewPort(ctx, "port_1", &networking.PortArgs{
			NetworkId: pulumi.String("a5bbd213-e1d3-49b6-aed1-9df60ea94b9a"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewFloatingIpAssociate(ctx, "fip_1", &networking.FloatingIpAssociateArgs{
			FloatingIp: pulumi.String("1.2.3.4"),
			PortId:     port1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Floating IP associations can be imported using the `id` of the floating IP, e.g.

```sh $ pulumi import openstack:networking/floatingIpAssociate:FloatingIpAssociate fip 2c7f39f3-702b-48d1-940c-b50384177ee1 ```

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 {
	FixedIp pulumi.StringPtrInput
	// IP Address of an existing floating IP.
	FloatingIp pulumi.StringInput
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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 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

func (FloatingIpAssociateOutput) FloatingIp

IP Address of an existing floating IP.

func (FloatingIpAssociateOutput) PortId

ID of an existing port with at least one IP address to associate with this floating IP.

func (FloatingIpAssociateOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. 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 (FloatingIpAssociateOutput) ToFloatingIpAssociateOutput

func (o FloatingIpAssociateOutput) ToFloatingIpAssociateOutput() FloatingIpAssociateOutput

func (FloatingIpAssociateOutput) ToFloatingIpAssociateOutputWithContext

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

type FloatingIpAssociateState

type FloatingIpAssociateState struct {
	FixedIp pulumi.StringPtrInput
	// IP Address of an existing floating IP.
	FloatingIp pulumi.StringPtrInput
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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 (FloatingIpAssociateState) ElementType

func (FloatingIpAssociateState) ElementType() reflect.Type

type FloatingIpInput

type FloatingIpInput interface {
	pulumi.Input

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

type FloatingIpMap

type FloatingIpMap map[string]FloatingIpInput

func (FloatingIpMap) ElementType

func (FloatingIpMap) ElementType() reflect.Type

func (FloatingIpMap) ToFloatingIpMapOutput

func (i FloatingIpMap) ToFloatingIpMapOutput() FloatingIpMapOutput

func (FloatingIpMap) ToFloatingIpMapOutputWithContext

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

type FloatingIpMapInput

type FloatingIpMapInput interface {
	pulumi.Input

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

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

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

type FloatingIpMapOutput

type FloatingIpMapOutput struct{ *pulumi.OutputState }

func (FloatingIpMapOutput) ElementType

func (FloatingIpMapOutput) ElementType() reflect.Type

func (FloatingIpMapOutput) MapIndex

func (FloatingIpMapOutput) ToFloatingIpMapOutput

func (o FloatingIpMapOutput) ToFloatingIpMapOutput() FloatingIpMapOutput

func (FloatingIpMapOutput) ToFloatingIpMapOutputWithContext

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

type FloatingIpOutput

type FloatingIpOutput struct{ *pulumi.OutputState }

func (FloatingIpOutput) Address

func (o FloatingIpOutput) Address() pulumi.StringOutput

The actual/specific floating IP to obtain. By default, non-admin users are not able to specify a floating IP, so you must either be an admin user or have had a custom policy or role applied to your OpenStack user or project.

func (FloatingIpOutput) AllTags

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

func (FloatingIpOutput) Description

func (o FloatingIpOutput) Description() pulumi.StringPtrOutput

Human-readable description for the floating IP.

func (FloatingIpOutput) DnsDomain

func (o FloatingIpOutput) DnsDomain() pulumi.StringOutput

The floating IP DNS domain. Available, when Neutron DNS extension is enabled. The data in this attribute will be published in an external DNS service when Neutron is configured to integrate with such a service. Changing this creates a new floating IP.

func (FloatingIpOutput) DnsName

func (o FloatingIpOutput) DnsName() pulumi.StringOutput

The floating IP DNS name. Available, when Neutron DNS extension is enabled. The data in this attribute will be published in an external DNS service when Neutron is configured to integrate with such a service. Changing this creates a new floating IP.

func (FloatingIpOutput) ElementType

func (FloatingIpOutput) ElementType() reflect.Type

func (FloatingIpOutput) FixedIp

func (o FloatingIpOutput) FixedIp() pulumi.StringOutput

Fixed IP of the port to associate with this floating IP. Required if the port has multiple fixed IPs.

func (FloatingIpOutput) Pool

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

func (FloatingIpOutput) PortId

ID of an existing port with at least one IP address to associate with this floating IP.

func (FloatingIpOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a floating IP that can be used with another networking resource, such as a load balancer. 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) SubnetId

func (o FloatingIpOutput) SubnetId() pulumi.StringOutput

The subnet ID of the floating IP pool. Specify this if the floating IP network has multiple subnets.

func (FloatingIpOutput) SubnetIds

A list of external subnet IDs to try over each to allocate a floating IP address. If a subnet ID in a list has exhausted floating IP pool, the next subnet ID will be tried. This argument is used only during the resource creation. Conflicts with a `subnetId` argument.

func (FloatingIpOutput) Tags

A set of string tags for the floating IP.

func (FloatingIpOutput) TenantId

func (o FloatingIpOutput) TenantId() pulumi.StringOutput

The target tenant ID in which to allocate the floating IP, if you specify this together with a port_id, make sure the target port belongs to the same tenant. 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

func (FloatingIpOutput) ValueSpecs

func (o FloatingIpOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type FloatingIpState

type FloatingIpState struct {
	// The actual/specific floating IP to obtain. By default,
	// non-admin users are not able to specify a floating IP, so you must either be
	// an admin user or have had a custom policy or role applied to your OpenStack
	// user or project.
	Address pulumi.StringPtrInput
	// The collection of tags assigned on the floating IP, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// Human-readable description for the floating IP.
	Description pulumi.StringPtrInput
	// The floating IP DNS domain. Available, when Neutron
	// DNS extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsDomain pulumi.StringPtrInput
	// The floating IP DNS name. Available, when Neutron DNS
	// extension is enabled. The data in this attribute will be published in an
	// external DNS service when Neutron is configured to integrate with such a
	// service. Changing this creates a new floating IP.
	DnsName pulumi.StringPtrInput
	// Fixed IP of the port to associate with this floating IP. Required if
	// the port has multiple fixed IPs.
	FixedIp pulumi.StringPtrInput
	// The name of the pool from which to obtain the floating
	// IP. Changing this creates a new floating IP.
	Pool pulumi.StringPtrInput
	// ID of an existing port with at least one IP address to
	// associate with this floating IP.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a floating IP that can be used with
	// another networking resource, such as a load balancer. 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 subnet ID of the floating IP pool. Specify this if
	// the floating IP network has multiple subnets.
	SubnetId pulumi.StringPtrInput
	// A list of external subnet IDs to try over each to
	// allocate a floating IP address. If a subnet ID in a list has exhausted
	// floating IP pool, the next subnet ID will be tried. This argument is used only
	// during the resource creation. Conflicts with a `subnetId` argument.
	SubnetIds pulumi.StringArrayInput
	// A set of string tags for the floating IP.
	Tags pulumi.StringArrayInput
	// The target tenant ID in which to allocate the floating
	// IP, if you specify this together with a port_id, make sure the target port
	// belongs to the same tenant. Changing this creates a new floating IP (which
	// may or may not have a different address)
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (FloatingIpState) ElementType

func (FloatingIpState) ElementType() reflect.Type

type GetNetworkSegment

type GetNetworkSegment struct {
	NetworkType     string `pulumi:"networkType"`
	PhysicalNetwork string `pulumi:"physicalNetwork"`
	SegmentationId  int    `pulumi:"segmentationId"`
}

type GetNetworkSegmentArgs

type GetNetworkSegmentArgs struct {
	NetworkType     pulumi.StringInput `pulumi:"networkType"`
	PhysicalNetwork pulumi.StringInput `pulumi:"physicalNetwork"`
	SegmentationId  pulumi.IntInput    `pulumi:"segmentationId"`
}

func (GetNetworkSegmentArgs) ElementType

func (GetNetworkSegmentArgs) ElementType() reflect.Type

func (GetNetworkSegmentArgs) ToGetNetworkSegmentOutput

func (i GetNetworkSegmentArgs) ToGetNetworkSegmentOutput() GetNetworkSegmentOutput

func (GetNetworkSegmentArgs) ToGetNetworkSegmentOutputWithContext

func (i GetNetworkSegmentArgs) ToGetNetworkSegmentOutputWithContext(ctx context.Context) GetNetworkSegmentOutput

type GetNetworkSegmentArray

type GetNetworkSegmentArray []GetNetworkSegmentInput

func (GetNetworkSegmentArray) ElementType

func (GetNetworkSegmentArray) ElementType() reflect.Type

func (GetNetworkSegmentArray) ToGetNetworkSegmentArrayOutput

func (i GetNetworkSegmentArray) ToGetNetworkSegmentArrayOutput() GetNetworkSegmentArrayOutput

func (GetNetworkSegmentArray) ToGetNetworkSegmentArrayOutputWithContext

func (i GetNetworkSegmentArray) ToGetNetworkSegmentArrayOutputWithContext(ctx context.Context) GetNetworkSegmentArrayOutput

type GetNetworkSegmentArrayInput

type GetNetworkSegmentArrayInput interface {
	pulumi.Input

	ToGetNetworkSegmentArrayOutput() GetNetworkSegmentArrayOutput
	ToGetNetworkSegmentArrayOutputWithContext(context.Context) GetNetworkSegmentArrayOutput
}

GetNetworkSegmentArrayInput is an input type that accepts GetNetworkSegmentArray and GetNetworkSegmentArrayOutput values. You can construct a concrete instance of `GetNetworkSegmentArrayInput` via:

GetNetworkSegmentArray{ GetNetworkSegmentArgs{...} }

type GetNetworkSegmentArrayOutput

type GetNetworkSegmentArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkSegmentArrayOutput) ElementType

func (GetNetworkSegmentArrayOutput) Index

func (GetNetworkSegmentArrayOutput) ToGetNetworkSegmentArrayOutput

func (o GetNetworkSegmentArrayOutput) ToGetNetworkSegmentArrayOutput() GetNetworkSegmentArrayOutput

func (GetNetworkSegmentArrayOutput) ToGetNetworkSegmentArrayOutputWithContext

func (o GetNetworkSegmentArrayOutput) ToGetNetworkSegmentArrayOutputWithContext(ctx context.Context) GetNetworkSegmentArrayOutput

type GetNetworkSegmentInput

type GetNetworkSegmentInput interface {
	pulumi.Input

	ToGetNetworkSegmentOutput() GetNetworkSegmentOutput
	ToGetNetworkSegmentOutputWithContext(context.Context) GetNetworkSegmentOutput
}

GetNetworkSegmentInput is an input type that accepts GetNetworkSegmentArgs and GetNetworkSegmentOutput values. You can construct a concrete instance of `GetNetworkSegmentInput` via:

GetNetworkSegmentArgs{...}

type GetNetworkSegmentOutput

type GetNetworkSegmentOutput struct{ *pulumi.OutputState }

func (GetNetworkSegmentOutput) ElementType

func (GetNetworkSegmentOutput) ElementType() reflect.Type

func (GetNetworkSegmentOutput) NetworkType

func (GetNetworkSegmentOutput) PhysicalNetwork

func (o GetNetworkSegmentOutput) PhysicalNetwork() pulumi.StringOutput

func (GetNetworkSegmentOutput) SegmentationId

func (o GetNetworkSegmentOutput) SegmentationId() pulumi.IntOutput

func (GetNetworkSegmentOutput) ToGetNetworkSegmentOutput

func (o GetNetworkSegmentOutput) ToGetNetworkSegmentOutput() GetNetworkSegmentOutput

func (GetNetworkSegmentOutput) ToGetNetworkSegmentOutputWithContext

func (o GetNetworkSegmentOutput) ToGetNetworkSegmentOutputWithContext(ctx context.Context) GetNetworkSegmentOutput

type GetPortAllowedAddressPair

type GetPortAllowedAddressPair struct {
	// The additional IP address.
	IpAddress string `pulumi:"ipAddress"`
	// The MAC address of the port.
	MacAddress string `pulumi:"macAddress"`
}

type GetPortAllowedAddressPairArgs

type GetPortAllowedAddressPairArgs struct {
	// The additional IP address.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The MAC address of the port.
	MacAddress pulumi.StringInput `pulumi:"macAddress"`
}

func (GetPortAllowedAddressPairArgs) ElementType

func (GetPortAllowedAddressPairArgs) ToGetPortAllowedAddressPairOutput

func (i GetPortAllowedAddressPairArgs) ToGetPortAllowedAddressPairOutput() GetPortAllowedAddressPairOutput

func (GetPortAllowedAddressPairArgs) ToGetPortAllowedAddressPairOutputWithContext

func (i GetPortAllowedAddressPairArgs) ToGetPortAllowedAddressPairOutputWithContext(ctx context.Context) GetPortAllowedAddressPairOutput

type GetPortAllowedAddressPairArray

type GetPortAllowedAddressPairArray []GetPortAllowedAddressPairInput

func (GetPortAllowedAddressPairArray) ElementType

func (GetPortAllowedAddressPairArray) ToGetPortAllowedAddressPairArrayOutput

func (i GetPortAllowedAddressPairArray) ToGetPortAllowedAddressPairArrayOutput() GetPortAllowedAddressPairArrayOutput

func (GetPortAllowedAddressPairArray) ToGetPortAllowedAddressPairArrayOutputWithContext

func (i GetPortAllowedAddressPairArray) ToGetPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) GetPortAllowedAddressPairArrayOutput

type GetPortAllowedAddressPairArrayInput

type GetPortAllowedAddressPairArrayInput interface {
	pulumi.Input

	ToGetPortAllowedAddressPairArrayOutput() GetPortAllowedAddressPairArrayOutput
	ToGetPortAllowedAddressPairArrayOutputWithContext(context.Context) GetPortAllowedAddressPairArrayOutput
}

GetPortAllowedAddressPairArrayInput is an input type that accepts GetPortAllowedAddressPairArray and GetPortAllowedAddressPairArrayOutput values. You can construct a concrete instance of `GetPortAllowedAddressPairArrayInput` via:

GetPortAllowedAddressPairArray{ GetPortAllowedAddressPairArgs{...} }

type GetPortAllowedAddressPairArrayOutput

type GetPortAllowedAddressPairArrayOutput struct{ *pulumi.OutputState }

func (GetPortAllowedAddressPairArrayOutput) ElementType

func (GetPortAllowedAddressPairArrayOutput) Index

func (GetPortAllowedAddressPairArrayOutput) ToGetPortAllowedAddressPairArrayOutput

func (o GetPortAllowedAddressPairArrayOutput) ToGetPortAllowedAddressPairArrayOutput() GetPortAllowedAddressPairArrayOutput

func (GetPortAllowedAddressPairArrayOutput) ToGetPortAllowedAddressPairArrayOutputWithContext

func (o GetPortAllowedAddressPairArrayOutput) ToGetPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) GetPortAllowedAddressPairArrayOutput

type GetPortAllowedAddressPairInput

type GetPortAllowedAddressPairInput interface {
	pulumi.Input

	ToGetPortAllowedAddressPairOutput() GetPortAllowedAddressPairOutput
	ToGetPortAllowedAddressPairOutputWithContext(context.Context) GetPortAllowedAddressPairOutput
}

GetPortAllowedAddressPairInput is an input type that accepts GetPortAllowedAddressPairArgs and GetPortAllowedAddressPairOutput values. You can construct a concrete instance of `GetPortAllowedAddressPairInput` via:

GetPortAllowedAddressPairArgs{...}

type GetPortAllowedAddressPairOutput

type GetPortAllowedAddressPairOutput struct{ *pulumi.OutputState }

func (GetPortAllowedAddressPairOutput) ElementType

func (GetPortAllowedAddressPairOutput) IpAddress

The additional IP address.

func (GetPortAllowedAddressPairOutput) MacAddress

The MAC address of the port.

func (GetPortAllowedAddressPairOutput) ToGetPortAllowedAddressPairOutput

func (o GetPortAllowedAddressPairOutput) ToGetPortAllowedAddressPairOutput() GetPortAllowedAddressPairOutput

func (GetPortAllowedAddressPairOutput) ToGetPortAllowedAddressPairOutputWithContext

func (o GetPortAllowedAddressPairOutput) ToGetPortAllowedAddressPairOutputWithContext(ctx context.Context) GetPortAllowedAddressPairOutput

type GetPortBinding

type GetPortBinding struct {
	// The ID of the host, which has the allocatee port.
	HostId string `pulumi:"hostId"`
	// A JSON string containing the binding profile information.
	Profile string `pulumi:"profile"`
	// A map of JSON strings containing additional details for this
	// specific binding.
	VifDetails map[string]string `pulumi:"vifDetails"`
	// The VNIC type of the port binding.
	VifType string `pulumi:"vifType"`
	// VNIC type for the port.
	VnicType string `pulumi:"vnicType"`
}

type GetPortBindingArgs

type GetPortBindingArgs struct {
	// The ID of the host, which has the allocatee port.
	HostId pulumi.StringInput `pulumi:"hostId"`
	// A JSON string containing the binding profile information.
	Profile pulumi.StringInput `pulumi:"profile"`
	// A map of JSON strings containing additional details for this
	// specific binding.
	VifDetails pulumi.StringMapInput `pulumi:"vifDetails"`
	// The VNIC type of the port binding.
	VifType pulumi.StringInput `pulumi:"vifType"`
	// VNIC type for the port.
	VnicType pulumi.StringInput `pulumi:"vnicType"`
}

func (GetPortBindingArgs) ElementType

func (GetPortBindingArgs) ElementType() reflect.Type

func (GetPortBindingArgs) ToGetPortBindingOutput

func (i GetPortBindingArgs) ToGetPortBindingOutput() GetPortBindingOutput

func (GetPortBindingArgs) ToGetPortBindingOutputWithContext

func (i GetPortBindingArgs) ToGetPortBindingOutputWithContext(ctx context.Context) GetPortBindingOutput

type GetPortBindingArray

type GetPortBindingArray []GetPortBindingInput

func (GetPortBindingArray) ElementType

func (GetPortBindingArray) ElementType() reflect.Type

func (GetPortBindingArray) ToGetPortBindingArrayOutput

func (i GetPortBindingArray) ToGetPortBindingArrayOutput() GetPortBindingArrayOutput

func (GetPortBindingArray) ToGetPortBindingArrayOutputWithContext

func (i GetPortBindingArray) ToGetPortBindingArrayOutputWithContext(ctx context.Context) GetPortBindingArrayOutput

type GetPortBindingArrayInput

type GetPortBindingArrayInput interface {
	pulumi.Input

	ToGetPortBindingArrayOutput() GetPortBindingArrayOutput
	ToGetPortBindingArrayOutputWithContext(context.Context) GetPortBindingArrayOutput
}

GetPortBindingArrayInput is an input type that accepts GetPortBindingArray and GetPortBindingArrayOutput values. You can construct a concrete instance of `GetPortBindingArrayInput` via:

GetPortBindingArray{ GetPortBindingArgs{...} }

type GetPortBindingArrayOutput

type GetPortBindingArrayOutput struct{ *pulumi.OutputState }

func (GetPortBindingArrayOutput) ElementType

func (GetPortBindingArrayOutput) ElementType() reflect.Type

func (GetPortBindingArrayOutput) Index

func (GetPortBindingArrayOutput) ToGetPortBindingArrayOutput

func (o GetPortBindingArrayOutput) ToGetPortBindingArrayOutput() GetPortBindingArrayOutput

func (GetPortBindingArrayOutput) ToGetPortBindingArrayOutputWithContext

func (o GetPortBindingArrayOutput) ToGetPortBindingArrayOutputWithContext(ctx context.Context) GetPortBindingArrayOutput

type GetPortBindingInput

type GetPortBindingInput interface {
	pulumi.Input

	ToGetPortBindingOutput() GetPortBindingOutput
	ToGetPortBindingOutputWithContext(context.Context) GetPortBindingOutput
}

GetPortBindingInput is an input type that accepts GetPortBindingArgs and GetPortBindingOutput values. You can construct a concrete instance of `GetPortBindingInput` via:

GetPortBindingArgs{...}

type GetPortBindingOutput

type GetPortBindingOutput struct{ *pulumi.OutputState }

func (GetPortBindingOutput) ElementType

func (GetPortBindingOutput) ElementType() reflect.Type

func (GetPortBindingOutput) HostId

The ID of the host, which has the allocatee port.

func (GetPortBindingOutput) Profile

A JSON string containing the binding profile information.

func (GetPortBindingOutput) ToGetPortBindingOutput

func (o GetPortBindingOutput) ToGetPortBindingOutput() GetPortBindingOutput

func (GetPortBindingOutput) ToGetPortBindingOutputWithContext

func (o GetPortBindingOutput) ToGetPortBindingOutputWithContext(ctx context.Context) GetPortBindingOutput

func (GetPortBindingOutput) VifDetails

A map of JSON strings containing additional details for this specific binding.

func (GetPortBindingOutput) VifType

The VNIC type of the port binding.

func (GetPortBindingOutput) VnicType

VNIC type for the port.

type GetPortExtraDhcpOption

type GetPortExtraDhcpOption struct {
	// IP protocol version
	IpVersion int `pulumi:"ipVersion"`
	// The name of the port.
	Name string `pulumi:"name"`
	// Value of the DHCP option.
	Value string `pulumi:"value"`
}

type GetPortExtraDhcpOptionArgs

type GetPortExtraDhcpOptionArgs struct {
	// IP protocol version
	IpVersion pulumi.IntInput `pulumi:"ipVersion"`
	// The name of the port.
	Name pulumi.StringInput `pulumi:"name"`
	// Value of the DHCP option.
	Value pulumi.StringInput `pulumi:"value"`
}

func (GetPortExtraDhcpOptionArgs) ElementType

func (GetPortExtraDhcpOptionArgs) ElementType() reflect.Type

func (GetPortExtraDhcpOptionArgs) ToGetPortExtraDhcpOptionOutput

func (i GetPortExtraDhcpOptionArgs) ToGetPortExtraDhcpOptionOutput() GetPortExtraDhcpOptionOutput

func (GetPortExtraDhcpOptionArgs) ToGetPortExtraDhcpOptionOutputWithContext

func (i GetPortExtraDhcpOptionArgs) ToGetPortExtraDhcpOptionOutputWithContext(ctx context.Context) GetPortExtraDhcpOptionOutput

type GetPortExtraDhcpOptionArray

type GetPortExtraDhcpOptionArray []GetPortExtraDhcpOptionInput

func (GetPortExtraDhcpOptionArray) ElementType

func (GetPortExtraDhcpOptionArray) ToGetPortExtraDhcpOptionArrayOutput

func (i GetPortExtraDhcpOptionArray) ToGetPortExtraDhcpOptionArrayOutput() GetPortExtraDhcpOptionArrayOutput

func (GetPortExtraDhcpOptionArray) ToGetPortExtraDhcpOptionArrayOutputWithContext

func (i GetPortExtraDhcpOptionArray) ToGetPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) GetPortExtraDhcpOptionArrayOutput

type GetPortExtraDhcpOptionArrayInput

type GetPortExtraDhcpOptionArrayInput interface {
	pulumi.Input

	ToGetPortExtraDhcpOptionArrayOutput() GetPortExtraDhcpOptionArrayOutput
	ToGetPortExtraDhcpOptionArrayOutputWithContext(context.Context) GetPortExtraDhcpOptionArrayOutput
}

GetPortExtraDhcpOptionArrayInput is an input type that accepts GetPortExtraDhcpOptionArray and GetPortExtraDhcpOptionArrayOutput values. You can construct a concrete instance of `GetPortExtraDhcpOptionArrayInput` via:

GetPortExtraDhcpOptionArray{ GetPortExtraDhcpOptionArgs{...} }

type GetPortExtraDhcpOptionArrayOutput

type GetPortExtraDhcpOptionArrayOutput struct{ *pulumi.OutputState }

func (GetPortExtraDhcpOptionArrayOutput) ElementType

func (GetPortExtraDhcpOptionArrayOutput) Index

func (GetPortExtraDhcpOptionArrayOutput) ToGetPortExtraDhcpOptionArrayOutput

func (o GetPortExtraDhcpOptionArrayOutput) ToGetPortExtraDhcpOptionArrayOutput() GetPortExtraDhcpOptionArrayOutput

func (GetPortExtraDhcpOptionArrayOutput) ToGetPortExtraDhcpOptionArrayOutputWithContext

func (o GetPortExtraDhcpOptionArrayOutput) ToGetPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) GetPortExtraDhcpOptionArrayOutput

type GetPortExtraDhcpOptionInput

type GetPortExtraDhcpOptionInput interface {
	pulumi.Input

	ToGetPortExtraDhcpOptionOutput() GetPortExtraDhcpOptionOutput
	ToGetPortExtraDhcpOptionOutputWithContext(context.Context) GetPortExtraDhcpOptionOutput
}

GetPortExtraDhcpOptionInput is an input type that accepts GetPortExtraDhcpOptionArgs and GetPortExtraDhcpOptionOutput values. You can construct a concrete instance of `GetPortExtraDhcpOptionInput` via:

GetPortExtraDhcpOptionArgs{...}

type GetPortExtraDhcpOptionOutput

type GetPortExtraDhcpOptionOutput struct{ *pulumi.OutputState }

func (GetPortExtraDhcpOptionOutput) ElementType

func (GetPortExtraDhcpOptionOutput) IpVersion

IP protocol version

func (GetPortExtraDhcpOptionOutput) Name

The name of the port.

func (GetPortExtraDhcpOptionOutput) ToGetPortExtraDhcpOptionOutput

func (o GetPortExtraDhcpOptionOutput) ToGetPortExtraDhcpOptionOutput() GetPortExtraDhcpOptionOutput

func (GetPortExtraDhcpOptionOutput) ToGetPortExtraDhcpOptionOutputWithContext

func (o GetPortExtraDhcpOptionOutput) ToGetPortExtraDhcpOptionOutputWithContext(ctx context.Context) GetPortExtraDhcpOptionOutput

func (GetPortExtraDhcpOptionOutput) Value

Value of the DHCP option.

type GetPortIdsArgs

type GetPortIdsArgs struct {
	// The administrative state of the port.
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// Human-readable description of the port.
	Description *string `pulumi:"description"`
	// The ID of the device the port belongs to.
	DeviceId *string `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner *string `pulumi:"deviceOwner"`
	DnsName     *string `pulumi:"dnsName"`
	// The port IP address filter.
	FixedIp *string `pulumi:"fixedIp"`
	// The MAC address of the port.
	MacAddress *string `pulumi:"macAddress"`
	// The name of the port.
	Name *string `pulumi:"name"`
	// The ID of the network the port belongs to.
	NetworkId *string `pulumi:"networkId"`
	// The owner of the port.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve port ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// Order the results in either `asc` or `desc`.
	// Defaults to none.
	SortDirection *string `pulumi:"sortDirection"`
	// Sort ports based on a certain key. Defaults to none.
	SortKey *string `pulumi:"sortKey"`
	// The status of the port.
	Status *string `pulumi:"status"`
	// The list of port tags to filter.
	Tags     []string `pulumi:"tags"`
	TenantId *string  `pulumi:"tenantId"`
}

A collection of arguments for invoking getPortIds.

type GetPortIdsOutputArgs

type GetPortIdsOutputArgs struct {
	// The administrative state of the port.
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// Human-readable description of the port.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The ID of the device the port belongs to.
	DeviceId pulumi.StringPtrInput `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner pulumi.StringPtrInput `pulumi:"deviceOwner"`
	DnsName     pulumi.StringPtrInput `pulumi:"dnsName"`
	// The port IP address filter.
	FixedIp pulumi.StringPtrInput `pulumi:"fixedIp"`
	// The MAC address of the port.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The name of the port.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the network the port belongs to.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// The owner of the port.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve port ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// Order the results in either `asc` or `desc`.
	// Defaults to none.
	SortDirection pulumi.StringPtrInput `pulumi:"sortDirection"`
	// Sort ports based on a certain key. Defaults to none.
	SortKey pulumi.StringPtrInput `pulumi:"sortKey"`
	// The status of the port.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of port tags to filter.
	Tags     pulumi.StringArrayInput `pulumi:"tags"`
	TenantId pulumi.StringPtrInput   `pulumi:"tenantId"`
}

A collection of arguments for invoking getPortIds.

func (GetPortIdsOutputArgs) ElementType

func (GetPortIdsOutputArgs) ElementType() reflect.Type

type GetPortIdsResult

type GetPortIdsResult struct {
	AdminStateUp *bool   `pulumi:"adminStateUp"`
	Description  *string `pulumi:"description"`
	DeviceId     *string `pulumi:"deviceId"`
	DeviceOwner  *string `pulumi:"deviceOwner"`
	DnsName      *string `pulumi:"dnsName"`
	FixedIp      *string `pulumi:"fixedIp"`
	// The provider-assigned unique ID for this managed resource.
	Id               string   `pulumi:"id"`
	Ids              []string `pulumi:"ids"`
	MacAddress       *string  `pulumi:"macAddress"`
	Name             *string  `pulumi:"name"`
	NetworkId        *string  `pulumi:"networkId"`
	ProjectId        *string  `pulumi:"projectId"`
	Region           *string  `pulumi:"region"`
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	SortDirection    *string  `pulumi:"sortDirection"`
	SortKey          *string  `pulumi:"sortKey"`
	Status           *string  `pulumi:"status"`
	Tags             []string `pulumi:"tags"`
	TenantId         *string  `pulumi:"tenantId"`
}

A collection of values returned by getPortIds.

func GetPortIds

func GetPortIds(ctx *pulumi.Context, args *GetPortIdsArgs, opts ...pulumi.InvokeOption) (*GetPortIdsResult, error)

Use this data source to get a list of Openstack Port IDs matching the specified criteria.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.GetPortIds(ctx, &networking.GetPortIdsArgs{
			Name: pulumi.StringRef("port"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetPortIdsResultOutput

type GetPortIdsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPortIds.

func (GetPortIdsResultOutput) AdminStateUp

func (o GetPortIdsResultOutput) AdminStateUp() pulumi.BoolPtrOutput

func (GetPortIdsResultOutput) Description

func (GetPortIdsResultOutput) DeviceId

func (GetPortIdsResultOutput) DeviceOwner

func (GetPortIdsResultOutput) DnsName

func (GetPortIdsResultOutput) ElementType

func (GetPortIdsResultOutput) ElementType() reflect.Type

func (GetPortIdsResultOutput) FixedIp

func (GetPortIdsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPortIdsResultOutput) Ids

func (GetPortIdsResultOutput) MacAddress

func (GetPortIdsResultOutput) Name

func (GetPortIdsResultOutput) NetworkId

func (GetPortIdsResultOutput) ProjectId

func (GetPortIdsResultOutput) Region

func (GetPortIdsResultOutput) SecurityGroupIds

func (o GetPortIdsResultOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (GetPortIdsResultOutput) SortDirection

func (o GetPortIdsResultOutput) SortDirection() pulumi.StringPtrOutput

func (GetPortIdsResultOutput) SortKey

func (GetPortIdsResultOutput) Status

func (GetPortIdsResultOutput) Tags

func (GetPortIdsResultOutput) TenantId

func (GetPortIdsResultOutput) ToGetPortIdsResultOutput

func (o GetPortIdsResultOutput) ToGetPortIdsResultOutput() GetPortIdsResultOutput

func (GetPortIdsResultOutput) ToGetPortIdsResultOutputWithContext

func (o GetPortIdsResultOutput) ToGetPortIdsResultOutputWithContext(ctx context.Context) GetPortIdsResultOutput

type GetRouterExternalFixedIp

type GetRouterExternalFixedIp struct {
	// The IP address to set on the router.
	IpAddress *string `pulumi:"ipAddress"`
	// Subnet in which the fixed IP belongs to.
	SubnetId *string `pulumi:"subnetId"`
}

type GetRouterExternalFixedIpArgs

type GetRouterExternalFixedIpArgs struct {
	// The IP address to set on the router.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// Subnet in which the fixed IP belongs to.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
}

func (GetRouterExternalFixedIpArgs) ElementType

func (GetRouterExternalFixedIpArgs) ToGetRouterExternalFixedIpOutput

func (i GetRouterExternalFixedIpArgs) ToGetRouterExternalFixedIpOutput() GetRouterExternalFixedIpOutput

func (GetRouterExternalFixedIpArgs) ToGetRouterExternalFixedIpOutputWithContext

func (i GetRouterExternalFixedIpArgs) ToGetRouterExternalFixedIpOutputWithContext(ctx context.Context) GetRouterExternalFixedIpOutput

type GetRouterExternalFixedIpArray

type GetRouterExternalFixedIpArray []GetRouterExternalFixedIpInput

func (GetRouterExternalFixedIpArray) ElementType

func (GetRouterExternalFixedIpArray) ToGetRouterExternalFixedIpArrayOutput

func (i GetRouterExternalFixedIpArray) ToGetRouterExternalFixedIpArrayOutput() GetRouterExternalFixedIpArrayOutput

func (GetRouterExternalFixedIpArray) ToGetRouterExternalFixedIpArrayOutputWithContext

func (i GetRouterExternalFixedIpArray) ToGetRouterExternalFixedIpArrayOutputWithContext(ctx context.Context) GetRouterExternalFixedIpArrayOutput

type GetRouterExternalFixedIpArrayInput

type GetRouterExternalFixedIpArrayInput interface {
	pulumi.Input

	ToGetRouterExternalFixedIpArrayOutput() GetRouterExternalFixedIpArrayOutput
	ToGetRouterExternalFixedIpArrayOutputWithContext(context.Context) GetRouterExternalFixedIpArrayOutput
}

GetRouterExternalFixedIpArrayInput is an input type that accepts GetRouterExternalFixedIpArray and GetRouterExternalFixedIpArrayOutput values. You can construct a concrete instance of `GetRouterExternalFixedIpArrayInput` via:

GetRouterExternalFixedIpArray{ GetRouterExternalFixedIpArgs{...} }

type GetRouterExternalFixedIpArrayOutput

type GetRouterExternalFixedIpArrayOutput struct{ *pulumi.OutputState }

func (GetRouterExternalFixedIpArrayOutput) ElementType

func (GetRouterExternalFixedIpArrayOutput) Index

func (GetRouterExternalFixedIpArrayOutput) ToGetRouterExternalFixedIpArrayOutput

func (o GetRouterExternalFixedIpArrayOutput) ToGetRouterExternalFixedIpArrayOutput() GetRouterExternalFixedIpArrayOutput

func (GetRouterExternalFixedIpArrayOutput) ToGetRouterExternalFixedIpArrayOutputWithContext

func (o GetRouterExternalFixedIpArrayOutput) ToGetRouterExternalFixedIpArrayOutputWithContext(ctx context.Context) GetRouterExternalFixedIpArrayOutput

type GetRouterExternalFixedIpInput

type GetRouterExternalFixedIpInput interface {
	pulumi.Input

	ToGetRouterExternalFixedIpOutput() GetRouterExternalFixedIpOutput
	ToGetRouterExternalFixedIpOutputWithContext(context.Context) GetRouterExternalFixedIpOutput
}

GetRouterExternalFixedIpInput is an input type that accepts GetRouterExternalFixedIpArgs and GetRouterExternalFixedIpOutput values. You can construct a concrete instance of `GetRouterExternalFixedIpInput` via:

GetRouterExternalFixedIpArgs{...}

type GetRouterExternalFixedIpOutput

type GetRouterExternalFixedIpOutput struct{ *pulumi.OutputState }

func (GetRouterExternalFixedIpOutput) ElementType

func (GetRouterExternalFixedIpOutput) IpAddress

The IP address to set on the router.

func (GetRouterExternalFixedIpOutput) SubnetId

Subnet in which the fixed IP belongs to.

func (GetRouterExternalFixedIpOutput) ToGetRouterExternalFixedIpOutput

func (o GetRouterExternalFixedIpOutput) ToGetRouterExternalFixedIpOutput() GetRouterExternalFixedIpOutput

func (GetRouterExternalFixedIpOutput) ToGetRouterExternalFixedIpOutputWithContext

func (o GetRouterExternalFixedIpOutput) ToGetRouterExternalFixedIpOutputWithContext(ctx context.Context) GetRouterExternalFixedIpOutput

type GetSubnetAllocationPool

type GetSubnetAllocationPool struct {
	End   string `pulumi:"end"`
	Start string `pulumi:"start"`
}

type GetSubnetAllocationPoolArgs

type GetSubnetAllocationPoolArgs struct {
	End   pulumi.StringInput `pulumi:"end"`
	Start pulumi.StringInput `pulumi:"start"`
}

func (GetSubnetAllocationPoolArgs) ElementType

func (GetSubnetAllocationPoolArgs) ToGetSubnetAllocationPoolOutput

func (i GetSubnetAllocationPoolArgs) ToGetSubnetAllocationPoolOutput() GetSubnetAllocationPoolOutput

func (GetSubnetAllocationPoolArgs) ToGetSubnetAllocationPoolOutputWithContext

func (i GetSubnetAllocationPoolArgs) ToGetSubnetAllocationPoolOutputWithContext(ctx context.Context) GetSubnetAllocationPoolOutput

type GetSubnetAllocationPoolArray

type GetSubnetAllocationPoolArray []GetSubnetAllocationPoolInput

func (GetSubnetAllocationPoolArray) ElementType

func (GetSubnetAllocationPoolArray) ToGetSubnetAllocationPoolArrayOutput

func (i GetSubnetAllocationPoolArray) ToGetSubnetAllocationPoolArrayOutput() GetSubnetAllocationPoolArrayOutput

func (GetSubnetAllocationPoolArray) ToGetSubnetAllocationPoolArrayOutputWithContext

func (i GetSubnetAllocationPoolArray) ToGetSubnetAllocationPoolArrayOutputWithContext(ctx context.Context) GetSubnetAllocationPoolArrayOutput

type GetSubnetAllocationPoolArrayInput

type GetSubnetAllocationPoolArrayInput interface {
	pulumi.Input

	ToGetSubnetAllocationPoolArrayOutput() GetSubnetAllocationPoolArrayOutput
	ToGetSubnetAllocationPoolArrayOutputWithContext(context.Context) GetSubnetAllocationPoolArrayOutput
}

GetSubnetAllocationPoolArrayInput is an input type that accepts GetSubnetAllocationPoolArray and GetSubnetAllocationPoolArrayOutput values. You can construct a concrete instance of `GetSubnetAllocationPoolArrayInput` via:

GetSubnetAllocationPoolArray{ GetSubnetAllocationPoolArgs{...} }

type GetSubnetAllocationPoolArrayOutput

type GetSubnetAllocationPoolArrayOutput struct{ *pulumi.OutputState }

func (GetSubnetAllocationPoolArrayOutput) ElementType

func (GetSubnetAllocationPoolArrayOutput) Index

func (GetSubnetAllocationPoolArrayOutput) ToGetSubnetAllocationPoolArrayOutput

func (o GetSubnetAllocationPoolArrayOutput) ToGetSubnetAllocationPoolArrayOutput() GetSubnetAllocationPoolArrayOutput

func (GetSubnetAllocationPoolArrayOutput) ToGetSubnetAllocationPoolArrayOutputWithContext

func (o GetSubnetAllocationPoolArrayOutput) ToGetSubnetAllocationPoolArrayOutputWithContext(ctx context.Context) GetSubnetAllocationPoolArrayOutput

type GetSubnetAllocationPoolInput

type GetSubnetAllocationPoolInput interface {
	pulumi.Input

	ToGetSubnetAllocationPoolOutput() GetSubnetAllocationPoolOutput
	ToGetSubnetAllocationPoolOutputWithContext(context.Context) GetSubnetAllocationPoolOutput
}

GetSubnetAllocationPoolInput is an input type that accepts GetSubnetAllocationPoolArgs and GetSubnetAllocationPoolOutput values. You can construct a concrete instance of `GetSubnetAllocationPoolInput` via:

GetSubnetAllocationPoolArgs{...}

type GetSubnetAllocationPoolOutput

type GetSubnetAllocationPoolOutput struct{ *pulumi.OutputState }

func (GetSubnetAllocationPoolOutput) ElementType

func (GetSubnetAllocationPoolOutput) End

func (GetSubnetAllocationPoolOutput) Start

func (GetSubnetAllocationPoolOutput) ToGetSubnetAllocationPoolOutput

func (o GetSubnetAllocationPoolOutput) ToGetSubnetAllocationPoolOutput() GetSubnetAllocationPoolOutput

func (GetSubnetAllocationPoolOutput) ToGetSubnetAllocationPoolOutputWithContext

func (o GetSubnetAllocationPoolOutput) ToGetSubnetAllocationPoolOutputWithContext(ctx context.Context) GetSubnetAllocationPoolOutput

type GetSubnetHostRoute

type GetSubnetHostRoute struct {
	DestinationCidr string `pulumi:"destinationCidr"`
	NextHop         string `pulumi:"nextHop"`
}

type GetSubnetHostRouteArgs

type GetSubnetHostRouteArgs struct {
	DestinationCidr pulumi.StringInput `pulumi:"destinationCidr"`
	NextHop         pulumi.StringInput `pulumi:"nextHop"`
}

func (GetSubnetHostRouteArgs) ElementType

func (GetSubnetHostRouteArgs) ElementType() reflect.Type

func (GetSubnetHostRouteArgs) ToGetSubnetHostRouteOutput

func (i GetSubnetHostRouteArgs) ToGetSubnetHostRouteOutput() GetSubnetHostRouteOutput

func (GetSubnetHostRouteArgs) ToGetSubnetHostRouteOutputWithContext

func (i GetSubnetHostRouteArgs) ToGetSubnetHostRouteOutputWithContext(ctx context.Context) GetSubnetHostRouteOutput

type GetSubnetHostRouteArray

type GetSubnetHostRouteArray []GetSubnetHostRouteInput

func (GetSubnetHostRouteArray) ElementType

func (GetSubnetHostRouteArray) ElementType() reflect.Type

func (GetSubnetHostRouteArray) ToGetSubnetHostRouteArrayOutput

func (i GetSubnetHostRouteArray) ToGetSubnetHostRouteArrayOutput() GetSubnetHostRouteArrayOutput

func (GetSubnetHostRouteArray) ToGetSubnetHostRouteArrayOutputWithContext

func (i GetSubnetHostRouteArray) ToGetSubnetHostRouteArrayOutputWithContext(ctx context.Context) GetSubnetHostRouteArrayOutput

type GetSubnetHostRouteArrayInput

type GetSubnetHostRouteArrayInput interface {
	pulumi.Input

	ToGetSubnetHostRouteArrayOutput() GetSubnetHostRouteArrayOutput
	ToGetSubnetHostRouteArrayOutputWithContext(context.Context) GetSubnetHostRouteArrayOutput
}

GetSubnetHostRouteArrayInput is an input type that accepts GetSubnetHostRouteArray and GetSubnetHostRouteArrayOutput values. You can construct a concrete instance of `GetSubnetHostRouteArrayInput` via:

GetSubnetHostRouteArray{ GetSubnetHostRouteArgs{...} }

type GetSubnetHostRouteArrayOutput

type GetSubnetHostRouteArrayOutput struct{ *pulumi.OutputState }

func (GetSubnetHostRouteArrayOutput) ElementType

func (GetSubnetHostRouteArrayOutput) Index

func (GetSubnetHostRouteArrayOutput) ToGetSubnetHostRouteArrayOutput

func (o GetSubnetHostRouteArrayOutput) ToGetSubnetHostRouteArrayOutput() GetSubnetHostRouteArrayOutput

func (GetSubnetHostRouteArrayOutput) ToGetSubnetHostRouteArrayOutputWithContext

func (o GetSubnetHostRouteArrayOutput) ToGetSubnetHostRouteArrayOutputWithContext(ctx context.Context) GetSubnetHostRouteArrayOutput

type GetSubnetHostRouteInput

type GetSubnetHostRouteInput interface {
	pulumi.Input

	ToGetSubnetHostRouteOutput() GetSubnetHostRouteOutput
	ToGetSubnetHostRouteOutputWithContext(context.Context) GetSubnetHostRouteOutput
}

GetSubnetHostRouteInput is an input type that accepts GetSubnetHostRouteArgs and GetSubnetHostRouteOutput values. You can construct a concrete instance of `GetSubnetHostRouteInput` via:

GetSubnetHostRouteArgs{...}

type GetSubnetHostRouteOutput

type GetSubnetHostRouteOutput struct{ *pulumi.OutputState }

func (GetSubnetHostRouteOutput) DestinationCidr

func (o GetSubnetHostRouteOutput) DestinationCidr() pulumi.StringOutput

func (GetSubnetHostRouteOutput) ElementType

func (GetSubnetHostRouteOutput) ElementType() reflect.Type

func (GetSubnetHostRouteOutput) NextHop

func (GetSubnetHostRouteOutput) ToGetSubnetHostRouteOutput

func (o GetSubnetHostRouteOutput) ToGetSubnetHostRouteOutput() GetSubnetHostRouteOutput

func (GetSubnetHostRouteOutput) ToGetSubnetHostRouteOutputWithContext

func (o GetSubnetHostRouteOutput) ToGetSubnetHostRouteOutputWithContext(ctx context.Context) GetSubnetHostRouteOutput

type GetSubnetIdsV2Args

type GetSubnetIdsV2Args struct {
	// The CIDR of the subnet.
	Cidr *string `pulumi:"cidr"`
	// Human-readable description of the subnet.
	Description *string `pulumi:"description"`
	// If the subnet has DHCP enabled.
	DhcpEnabled *bool `pulumi:"dhcpEnabled"`
	// If the subnet publishes DNS records.
	DnsPublishFixedIp *bool `pulumi:"dnsPublishFixedIp"`
	// The IP of the subnet's gateway.
	GatewayIp *string `pulumi:"gatewayIp"`
	// The IP version of the subnet (either 4 or 6).
	IpVersion *int `pulumi:"ipVersion"`
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode *string `pulumi:"ipv6AddressMode"`
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode *string `pulumi:"ipv6RaMode"`
	// The name of the subnet.
	Name      *string `pulumi:"name"`
	NameRegex *string `pulumi:"nameRegex"`
	// The ID of the network the subnet belongs to.
	NetworkId *string `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve subnet ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// Order the results in either `asc` or `desc`.
	// Defaults to none.
	SortDirection *string `pulumi:"sortDirection"`
	// Sort subnets based on a certain key. Defaults to none.
	SortKey *string `pulumi:"sortKey"`
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId *string `pulumi:"subnetpoolId"`
	// The list of subnet tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the subnet.
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getSubnetIdsV2.

type GetSubnetIdsV2OutputArgs

type GetSubnetIdsV2OutputArgs struct {
	// The CIDR of the subnet.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Human-readable description of the subnet.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// If the subnet has DHCP enabled.
	DhcpEnabled pulumi.BoolPtrInput `pulumi:"dhcpEnabled"`
	// If the subnet publishes DNS records.
	DnsPublishFixedIp pulumi.BoolPtrInput `pulumi:"dnsPublishFixedIp"`
	// The IP of the subnet's gateway.
	GatewayIp pulumi.StringPtrInput `pulumi:"gatewayIp"`
	// The IP version of the subnet (either 4 or 6).
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode pulumi.StringPtrInput `pulumi:"ipv6AddressMode"`
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode pulumi.StringPtrInput `pulumi:"ipv6RaMode"`
	// The name of the subnet.
	Name      pulumi.StringPtrInput `pulumi:"name"`
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// The ID of the network the subnet belongs to.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve subnet ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Order the results in either `asc` or `desc`.
	// Defaults to none.
	SortDirection pulumi.StringPtrInput `pulumi:"sortDirection"`
	// Sort subnets based on a certain key. Defaults to none.
	SortKey pulumi.StringPtrInput `pulumi:"sortKey"`
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId pulumi.StringPtrInput `pulumi:"subnetpoolId"`
	// The list of subnet tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the subnet.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getSubnetIdsV2.

func (GetSubnetIdsV2OutputArgs) ElementType

func (GetSubnetIdsV2OutputArgs) ElementType() reflect.Type

type GetSubnetIdsV2Result

type GetSubnetIdsV2Result struct {
	Cidr              *string `pulumi:"cidr"`
	Description       *string `pulumi:"description"`
	DhcpEnabled       *bool   `pulumi:"dhcpEnabled"`
	DnsPublishFixedIp *bool   `pulumi:"dnsPublishFixedIp"`
	GatewayIp         *string `pulumi:"gatewayIp"`
	// The provider-assigned unique ID for this managed resource.
	Id              string   `pulumi:"id"`
	Ids             []string `pulumi:"ids"`
	IpVersion       *int     `pulumi:"ipVersion"`
	Ipv6AddressMode *string  `pulumi:"ipv6AddressMode"`
	Ipv6RaMode      string   `pulumi:"ipv6RaMode"`
	Name            *string  `pulumi:"name"`
	NameRegex       *string  `pulumi:"nameRegex"`
	NetworkId       *string  `pulumi:"networkId"`
	Region          string   `pulumi:"region"`
	SortDirection   *string  `pulumi:"sortDirection"`
	SortKey         *string  `pulumi:"sortKey"`
	SubnetpoolId    *string  `pulumi:"subnetpoolId"`
	Tags            []string `pulumi:"tags"`
	TenantId        *string  `pulumi:"tenantId"`
}

A collection of values returned by getSubnetIdsV2.

func GetSubnetIdsV2

func GetSubnetIdsV2(ctx *pulumi.Context, args *GetSubnetIdsV2Args, opts ...pulumi.InvokeOption) (*GetSubnetIdsV2Result, error)

Use this data source to get a list of Openstack Subnet IDs matching the specified criteria.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.GetSubnetIdsV2(ctx, &networking.GetSubnetIdsV2Args{
			NameRegex: pulumi.StringRef("public"),
			Tags: []string{
				"public",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSubnetIdsV2ResultOutput

type GetSubnetIdsV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetIdsV2.

func (GetSubnetIdsV2ResultOutput) Cidr

func (GetSubnetIdsV2ResultOutput) Description

func (GetSubnetIdsV2ResultOutput) DhcpEnabled

func (GetSubnetIdsV2ResultOutput) DnsPublishFixedIp added in v4.1.0

func (o GetSubnetIdsV2ResultOutput) DnsPublishFixedIp() pulumi.BoolPtrOutput

func (GetSubnetIdsV2ResultOutput) ElementType

func (GetSubnetIdsV2ResultOutput) ElementType() reflect.Type

func (GetSubnetIdsV2ResultOutput) GatewayIp

func (GetSubnetIdsV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSubnetIdsV2ResultOutput) Ids

func (GetSubnetIdsV2ResultOutput) IpVersion

func (GetSubnetIdsV2ResultOutput) Ipv6AddressMode

func (GetSubnetIdsV2ResultOutput) Ipv6RaMode

func (GetSubnetIdsV2ResultOutput) Name

func (GetSubnetIdsV2ResultOutput) NameRegex

func (GetSubnetIdsV2ResultOutput) NetworkId

func (GetSubnetIdsV2ResultOutput) Region

func (GetSubnetIdsV2ResultOutput) SortDirection

func (GetSubnetIdsV2ResultOutput) SortKey

func (GetSubnetIdsV2ResultOutput) SubnetpoolId

func (GetSubnetIdsV2ResultOutput) Tags

func (GetSubnetIdsV2ResultOutput) TenantId

func (GetSubnetIdsV2ResultOutput) ToGetSubnetIdsV2ResultOutput

func (o GetSubnetIdsV2ResultOutput) ToGetSubnetIdsV2ResultOutput() GetSubnetIdsV2ResultOutput

func (GetSubnetIdsV2ResultOutput) ToGetSubnetIdsV2ResultOutputWithContext

func (o GetSubnetIdsV2ResultOutput) ToGetSubnetIdsV2ResultOutputWithContext(ctx context.Context) GetSubnetIdsV2ResultOutput

type GetTrunkSubPort

type GetTrunkSubPort struct {
	// The ID of the trunk parent port.
	PortId string `pulumi:"portId"`
	// The numeric id of the subport segment.
	SegmentationId int `pulumi:"segmentationId"`
	// The segmenation tecnology used, e.g., "vlan".
	SegmentationType string `pulumi:"segmentationType"`
}

type GetTrunkSubPortArgs

type GetTrunkSubPortArgs struct {
	// The ID of the trunk parent port.
	PortId pulumi.StringInput `pulumi:"portId"`
	// The numeric id of the subport segment.
	SegmentationId pulumi.IntInput `pulumi:"segmentationId"`
	// The segmenation tecnology used, e.g., "vlan".
	SegmentationType pulumi.StringInput `pulumi:"segmentationType"`
}

func (GetTrunkSubPortArgs) ElementType

func (GetTrunkSubPortArgs) ElementType() reflect.Type

func (GetTrunkSubPortArgs) ToGetTrunkSubPortOutput

func (i GetTrunkSubPortArgs) ToGetTrunkSubPortOutput() GetTrunkSubPortOutput

func (GetTrunkSubPortArgs) ToGetTrunkSubPortOutputWithContext

func (i GetTrunkSubPortArgs) ToGetTrunkSubPortOutputWithContext(ctx context.Context) GetTrunkSubPortOutput

type GetTrunkSubPortArray

type GetTrunkSubPortArray []GetTrunkSubPortInput

func (GetTrunkSubPortArray) ElementType

func (GetTrunkSubPortArray) ElementType() reflect.Type

func (GetTrunkSubPortArray) ToGetTrunkSubPortArrayOutput

func (i GetTrunkSubPortArray) ToGetTrunkSubPortArrayOutput() GetTrunkSubPortArrayOutput

func (GetTrunkSubPortArray) ToGetTrunkSubPortArrayOutputWithContext

func (i GetTrunkSubPortArray) ToGetTrunkSubPortArrayOutputWithContext(ctx context.Context) GetTrunkSubPortArrayOutput

type GetTrunkSubPortArrayInput

type GetTrunkSubPortArrayInput interface {
	pulumi.Input

	ToGetTrunkSubPortArrayOutput() GetTrunkSubPortArrayOutput
	ToGetTrunkSubPortArrayOutputWithContext(context.Context) GetTrunkSubPortArrayOutput
}

GetTrunkSubPortArrayInput is an input type that accepts GetTrunkSubPortArray and GetTrunkSubPortArrayOutput values. You can construct a concrete instance of `GetTrunkSubPortArrayInput` via:

GetTrunkSubPortArray{ GetTrunkSubPortArgs{...} }

type GetTrunkSubPortArrayOutput

type GetTrunkSubPortArrayOutput struct{ *pulumi.OutputState }

func (GetTrunkSubPortArrayOutput) ElementType

func (GetTrunkSubPortArrayOutput) ElementType() reflect.Type

func (GetTrunkSubPortArrayOutput) Index

func (GetTrunkSubPortArrayOutput) ToGetTrunkSubPortArrayOutput

func (o GetTrunkSubPortArrayOutput) ToGetTrunkSubPortArrayOutput() GetTrunkSubPortArrayOutput

func (GetTrunkSubPortArrayOutput) ToGetTrunkSubPortArrayOutputWithContext

func (o GetTrunkSubPortArrayOutput) ToGetTrunkSubPortArrayOutputWithContext(ctx context.Context) GetTrunkSubPortArrayOutput

type GetTrunkSubPortInput

type GetTrunkSubPortInput interface {
	pulumi.Input

	ToGetTrunkSubPortOutput() GetTrunkSubPortOutput
	ToGetTrunkSubPortOutputWithContext(context.Context) GetTrunkSubPortOutput
}

GetTrunkSubPortInput is an input type that accepts GetTrunkSubPortArgs and GetTrunkSubPortOutput values. You can construct a concrete instance of `GetTrunkSubPortInput` via:

GetTrunkSubPortArgs{...}

type GetTrunkSubPortOutput

type GetTrunkSubPortOutput struct{ *pulumi.OutputState }

func (GetTrunkSubPortOutput) ElementType

func (GetTrunkSubPortOutput) ElementType() reflect.Type

func (GetTrunkSubPortOutput) PortId

The ID of the trunk parent port.

func (GetTrunkSubPortOutput) SegmentationId

func (o GetTrunkSubPortOutput) SegmentationId() pulumi.IntOutput

The numeric id of the subport segment.

func (GetTrunkSubPortOutput) SegmentationType

func (o GetTrunkSubPortOutput) SegmentationType() pulumi.StringOutput

The segmenation tecnology used, e.g., "vlan".

func (GetTrunkSubPortOutput) ToGetTrunkSubPortOutput

func (o GetTrunkSubPortOutput) ToGetTrunkSubPortOutput() GetTrunkSubPortOutput

func (GetTrunkSubPortOutput) ToGetTrunkSubPortOutputWithContext

func (o GetTrunkSubPortOutput) ToGetTrunkSubPortOutputWithContext(ctx context.Context) GetTrunkSubPortOutput

type LookupAddressScopeArgs

type LookupAddressScopeArgs struct {
	// IP version.
	IpVersion *int `pulumi:"ipVersion"`
	// Name of the address-scope.
	Name *string `pulumi:"name"`
	// The owner of the address-scope.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve address-scopes. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// Indicates whether this address-scope is shared across
	// all projects.
	Shared *bool `pulumi:"shared"`
}

A collection of arguments for invoking getAddressScope.

type LookupAddressScopeOutputArgs

type LookupAddressScopeOutputArgs struct {
	// IP version.
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// Name of the address-scope.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The owner of the address-scope.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve address-scopes. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Indicates whether this address-scope is shared across
	// all projects.
	Shared pulumi.BoolPtrInput `pulumi:"shared"`
}

A collection of arguments for invoking getAddressScope.

func (LookupAddressScopeOutputArgs) ElementType

type LookupAddressScopeResult

type LookupAddressScopeResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	IpVersion *int `pulumi:"ipVersion"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	ProjectId *string `pulumi:"projectId"`
	Region    *string `pulumi:"region"`
	// See Argument Reference above.
	Shared *bool `pulumi:"shared"`
}

A collection of values returned by getAddressScope.

func LookupAddressScope

func LookupAddressScope(ctx *pulumi.Context, args *LookupAddressScopeArgs, opts ...pulumi.InvokeOption) (*LookupAddressScopeResult, error)

Use this data source to get the ID of an available OpenStack address-scope.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupAddressScope(ctx, &networking.LookupAddressScopeArgs{
			Name:      pulumi.StringRef("public_addressscope"),
			Shared:    pulumi.BoolRef(true),
			IpVersion: pulumi.IntRef(4),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAddressScopeResultOutput

type LookupAddressScopeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAddressScope.

func (LookupAddressScopeResultOutput) ElementType

func (LookupAddressScopeResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupAddressScopeResultOutput) IpVersion

See Argument Reference above.

func (LookupAddressScopeResultOutput) Name

See Argument Reference above.

func (LookupAddressScopeResultOutput) ProjectId

See Argument Reference above.

func (LookupAddressScopeResultOutput) Region

func (LookupAddressScopeResultOutput) Shared

See Argument Reference above.

func (LookupAddressScopeResultOutput) ToLookupAddressScopeResultOutput

func (o LookupAddressScopeResultOutput) ToLookupAddressScopeResultOutput() LookupAddressScopeResultOutput

func (LookupAddressScopeResultOutput) ToLookupAddressScopeResultOutputWithContext

func (o LookupAddressScopeResultOutput) ToLookupAddressScopeResultOutputWithContext(ctx context.Context) LookupAddressScopeResultOutput

type LookupFloatingIpArgs

type LookupFloatingIpArgs struct {
	// The IP address of the floating IP.
	Address *string `pulumi:"address"`
	// Human-readable description of the floating IP.
	Description *string `pulumi:"description"`
	// The specific IP address of the internal port which should be associated with the floating IP.
	FixedIp *string `pulumi:"fixedIp"`
	// The ID of the network from which the floating IP belongs to.
	Pool *string `pulumi:"pool"`
	// The ID of the port the floating IP is attached.
	PortId *string `pulumi:"portId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve floating IP ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// status of the floating IP (ACTIVE/DOWN).
	Status *string `pulumi:"status"`
	// The list of floating IP tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the floating IP.
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getFloatingIp.

type LookupFloatingIpOutputArgs

type LookupFloatingIpOutputArgs struct {
	// The IP address of the floating IP.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// Human-readable description of the floating IP.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The specific IP address of the internal port which should be associated with the floating IP.
	FixedIp pulumi.StringPtrInput `pulumi:"fixedIp"`
	// The ID of the network from which the floating IP belongs to.
	Pool pulumi.StringPtrInput `pulumi:"pool"`
	// The ID of the port the floating IP is attached.
	PortId pulumi.StringPtrInput `pulumi:"portId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve floating IP ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// status of the floating IP (ACTIVE/DOWN).
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of floating IP tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the floating IP.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getFloatingIp.

func (LookupFloatingIpOutputArgs) ElementType

func (LookupFloatingIpOutputArgs) ElementType() reflect.Type

type LookupFloatingIpResult

type LookupFloatingIpResult struct {
	Address *string `pulumi:"address"`
	// A set of string tags applied on the floating IP.
	AllTags     []string `pulumi:"allTags"`
	Description *string  `pulumi:"description"`
	// The floating IP DNS domain. Available, when Neutron DNS
	// extension is enabled.
	DnsDomain string `pulumi:"dnsDomain"`
	// The floating IP DNS name. Available, when Neutron DNS extension
	// is enabled.
	DnsName string  `pulumi:"dnsName"`
	FixedIp *string `pulumi:"fixedIp"`
	// The provider-assigned unique ID for this managed resource.
	Id       string   `pulumi:"id"`
	Pool     *string  `pulumi:"pool"`
	PortId   *string  `pulumi:"portId"`
	Region   *string  `pulumi:"region"`
	Status   *string  `pulumi:"status"`
	Tags     []string `pulumi:"tags"`
	TenantId *string  `pulumi:"tenantId"`
}

A collection of values returned by getFloatingIp.

func LookupFloatingIp

func LookupFloatingIp(ctx *pulumi.Context, args *LookupFloatingIpArgs, opts ...pulumi.InvokeOption) (*LookupFloatingIpResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupFloatingIp(ctx, &networking.LookupFloatingIpArgs{
			Address: pulumi.StringRef("192.168.0.4"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFloatingIpResultOutput

type LookupFloatingIpResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFloatingIp.

func (LookupFloatingIpResultOutput) Address

func (LookupFloatingIpResultOutput) AllTags

A set of string tags applied on the floating IP.

func (LookupFloatingIpResultOutput) Description

func (LookupFloatingIpResultOutput) DnsDomain

The floating IP DNS domain. Available, when Neutron DNS extension is enabled.

func (LookupFloatingIpResultOutput) DnsName

The floating IP DNS name. Available, when Neutron DNS extension is enabled.

func (LookupFloatingIpResultOutput) ElementType

func (LookupFloatingIpResultOutput) FixedIp

func (LookupFloatingIpResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFloatingIpResultOutput) Pool

func (LookupFloatingIpResultOutput) PortId

func (LookupFloatingIpResultOutput) Region

func (LookupFloatingIpResultOutput) Status

func (LookupFloatingIpResultOutput) Tags

func (LookupFloatingIpResultOutput) TenantId

func (LookupFloatingIpResultOutput) ToLookupFloatingIpResultOutput

func (o LookupFloatingIpResultOutput) ToLookupFloatingIpResultOutput() LookupFloatingIpResultOutput

func (LookupFloatingIpResultOutput) ToLookupFloatingIpResultOutputWithContext

func (o LookupFloatingIpResultOutput) ToLookupFloatingIpResultOutputWithContext(ctx context.Context) LookupFloatingIpResultOutput

type LookupNetworkArgs

type LookupNetworkArgs struct {
	// Human-readable description of the network.
	Description *string `pulumi:"description"`
	// The external routing facility of the network.
	External *bool `pulumi:"external"`
	// The CIDR of a subnet within the network.
	MatchingSubnetCidr *string `pulumi:"matchingSubnetCidr"`
	// The network MTU to filter. Available, when Neutron `net-mtu`
	// extension is enabled.
	Mtu *int `pulumi:"mtu"`
	// The name of the network.
	Name *string `pulumi:"name"`
	// The ID of the network.
	NetworkId *string `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve networks ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the network.
	Status *string `pulumi:"status"`
	// The list of network tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the network.
	TenantId *string `pulumi:"tenantId"`
	// The VLAN transparent attribute for the
	// network.
	TransparentVlan *bool `pulumi:"transparentVlan"`
}

A collection of arguments for invoking getNetwork.

type LookupNetworkOutputArgs

type LookupNetworkOutputArgs struct {
	// Human-readable description of the network.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The external routing facility of the network.
	External pulumi.BoolPtrInput `pulumi:"external"`
	// The CIDR of a subnet within the network.
	MatchingSubnetCidr pulumi.StringPtrInput `pulumi:"matchingSubnetCidr"`
	// The network MTU to filter. Available, when Neutron `net-mtu`
	// extension is enabled.
	Mtu pulumi.IntPtrInput `pulumi:"mtu"`
	// The name of the network.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the network.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve networks ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The status of the network.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of network tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the network.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// The VLAN transparent attribute for the
	// network.
	TransparentVlan pulumi.BoolPtrInput `pulumi:"transparentVlan"`
}

A collection of arguments for invoking getNetwork.

func (LookupNetworkOutputArgs) ElementType

func (LookupNetworkOutputArgs) ElementType() reflect.Type

type LookupNetworkResult

type LookupNetworkResult struct {
	// The administrative state of the network.
	AdminStateUp string `pulumi:"adminStateUp"`
	// The set of string tags applied on the network.
	AllTags []string `pulumi:"allTags"`
	// The availability zone candidates for the network.
	AvailabilityZoneHints []string `pulumi:"availabilityZoneHints"`
	// See Argument Reference above.
	Description *string `pulumi:"description"`
	// The network DNS domain. Available, when Neutron DNS extension
	// is enabled
	DnsDomain string `pulumi:"dnsDomain"`
	// See Argument Reference above.
	External *bool `pulumi:"external"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string  `pulumi:"id"`
	MatchingSubnetCidr *string `pulumi:"matchingSubnetCidr"`
	// See Argument Reference above.
	Mtu *int `pulumi:"mtu"`
	// See Argument Reference above.
	Name      *string `pulumi:"name"`
	NetworkId *string `pulumi:"networkId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// An array of one or more provider segment objects.
	Segments []GetNetworkSegment `pulumi:"segments"`
	// Specifies whether the network resource can be accessed by any
	// tenant or not.
	Shared string  `pulumi:"shared"`
	Status *string `pulumi:"status"`
	// A list of subnet IDs belonging to the network.
	Subnets  []string `pulumi:"subnets"`
	Tags     []string `pulumi:"tags"`
	TenantId *string  `pulumi:"tenantId"`
	// See Argument Reference above.
	TransparentVlan *bool `pulumi:"transparentVlan"`
}

A collection of values returned by getNetwork.

func LookupNetwork

func LookupNetwork(ctx *pulumi.Context, args *LookupNetworkArgs, opts ...pulumi.InvokeOption) (*LookupNetworkResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupNetwork(ctx, &networking.LookupNetworkArgs{
			Name: pulumi.StringRef("tf_test_network"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupNetworkResultOutput

type LookupNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetwork.

func (LookupNetworkResultOutput) AdminStateUp

The administrative state of the network.

func (LookupNetworkResultOutput) AllTags

The set of string tags applied on the network.

func (LookupNetworkResultOutput) AvailabilityZoneHints

func (o LookupNetworkResultOutput) AvailabilityZoneHints() pulumi.StringArrayOutput

The availability zone candidates for the network.

func (LookupNetworkResultOutput) Description

See Argument Reference above.

func (LookupNetworkResultOutput) DnsDomain

The network DNS domain. Available, when Neutron DNS extension is enabled

func (LookupNetworkResultOutput) ElementType

func (LookupNetworkResultOutput) ElementType() reflect.Type

func (LookupNetworkResultOutput) External

See Argument Reference above.

func (LookupNetworkResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupNetworkResultOutput) MatchingSubnetCidr

func (o LookupNetworkResultOutput) MatchingSubnetCidr() pulumi.StringPtrOutput

func (LookupNetworkResultOutput) Mtu

See Argument Reference above.

func (LookupNetworkResultOutput) Name

See Argument Reference above.

func (LookupNetworkResultOutput) NetworkId

func (LookupNetworkResultOutput) Region

See Argument Reference above.

func (LookupNetworkResultOutput) Segments

An array of one or more provider segment objects.

func (LookupNetworkResultOutput) Shared

Specifies whether the network resource can be accessed by any tenant or not.

func (LookupNetworkResultOutput) Status

func (LookupNetworkResultOutput) Subnets

A list of subnet IDs belonging to the network.

func (LookupNetworkResultOutput) Tags

func (LookupNetworkResultOutput) TenantId

func (LookupNetworkResultOutput) ToLookupNetworkResultOutput

func (o LookupNetworkResultOutput) ToLookupNetworkResultOutput() LookupNetworkResultOutput

func (LookupNetworkResultOutput) ToLookupNetworkResultOutputWithContext

func (o LookupNetworkResultOutput) ToLookupNetworkResultOutputWithContext(ctx context.Context) LookupNetworkResultOutput

func (LookupNetworkResultOutput) TransparentVlan

func (o LookupNetworkResultOutput) TransparentVlan() pulumi.BoolPtrOutput

See Argument Reference above.

type LookupPortArgs

type LookupPortArgs struct {
	// The administrative state of the port.
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// Human-readable description of the port.
	Description *string `pulumi:"description"`
	// The ID of the device the port belongs to.
	DeviceId *string `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner *string `pulumi:"deviceOwner"`
	// The port DNS name to filter. Available, when Neutron
	// DNS extension is enabled.
	DnsName *string `pulumi:"dnsName"`
	// The port IP address filter.
	FixedIp *string `pulumi:"fixedIp"`
	// The MAC address of the port.
	MacAddress *string `pulumi:"macAddress"`
	// The name of the port.
	Name *string `pulumi:"name"`
	// The ID of the network the port belongs to.
	NetworkId *string `pulumi:"networkId"`
	// The ID of the port.
	PortId *string `pulumi:"portId"`
	// The owner of the port.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve port ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// The status of the port.
	Status *string `pulumi:"status"`
	// The list of port tags to filter.
	Tags     []string `pulumi:"tags"`
	TenantId *string  `pulumi:"tenantId"`
}

A collection of arguments for invoking getPort.

type LookupPortOutputArgs

type LookupPortOutputArgs struct {
	// The administrative state of the port.
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// Human-readable description of the port.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The ID of the device the port belongs to.
	DeviceId pulumi.StringPtrInput `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner pulumi.StringPtrInput `pulumi:"deviceOwner"`
	// The port DNS name to filter. Available, when Neutron
	// DNS extension is enabled.
	DnsName pulumi.StringPtrInput `pulumi:"dnsName"`
	// The port IP address filter.
	FixedIp pulumi.StringPtrInput `pulumi:"fixedIp"`
	// The MAC address of the port.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The name of the port.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the network the port belongs to.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// The ID of the port.
	PortId pulumi.StringPtrInput `pulumi:"portId"`
	// The owner of the port.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve port ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// The status of the port.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of port tags to filter.
	Tags     pulumi.StringArrayInput `pulumi:"tags"`
	TenantId pulumi.StringPtrInput   `pulumi:"tenantId"`
}

A collection of arguments for invoking getPort.

func (LookupPortOutputArgs) ElementType

func (LookupPortOutputArgs) ElementType() reflect.Type

type LookupPortResult

type LookupPortResult struct {
	// See Argument Reference above.
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// The collection of Fixed IP addresses on the port in the
	// order returned by the Network v2 API.
	AllFixedIps []string `pulumi:"allFixedIps"`
	// The set of security group IDs applied on the port.
	AllSecurityGroupIds []string `pulumi:"allSecurityGroupIds"`
	// The set of string tags applied on the port.
	AllTags []string `pulumi:"allTags"`
	// An IP/MAC Address pair of additional IP
	// addresses that can be active on this port. The structure is described
	// below.
	AllowedAddressPairs []GetPortAllowedAddressPair `pulumi:"allowedAddressPairs"`
	// The port binding information. The structure is described below.
	Bindings []GetPortBinding `pulumi:"bindings"`
	// See Argument Reference above.
	Description *string `pulumi:"description"`
	// See Argument Reference above.
	DeviceId *string `pulumi:"deviceId"`
	// See Argument Reference above.
	DeviceOwner *string `pulumi:"deviceOwner"`
	// The list of maps representing port DNS assignments.
	DnsAssignments []map[string]string `pulumi:"dnsAssignments"`
	// See Argument Reference above.
	DnsName *string `pulumi:"dnsName"`
	// An extra DHCP option configured on the port.
	// The structure is described below.
	ExtraDhcpOptions []GetPortExtraDhcpOption `pulumi:"extraDhcpOptions"`
	FixedIp          *string                  `pulumi:"fixedIp"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The additional MAC address.
	MacAddress *string `pulumi:"macAddress"`
	// Name of the DHCP option.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	NetworkId *string `pulumi:"networkId"`
	// See Argument Reference above.
	PortId *string `pulumi:"portId"`
	// See Argument Reference above.
	ProjectId *string `pulumi:"projectId"`
	// See Argument Reference above.
	Region           *string  `pulumi:"region"`
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	Status           *string  `pulumi:"status"`
	Tags             []string `pulumi:"tags"`
	TenantId         *string  `pulumi:"tenantId"`
}

A collection of values returned by getPort.

func LookupPort

func LookupPort(ctx *pulumi.Context, args *LookupPortArgs, opts ...pulumi.InvokeOption) (*LookupPortResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupPort(ctx, &networking.LookupPortArgs{
			Name: pulumi.StringRef("port_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPortResultOutput

type LookupPortResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPort.

func (LookupPortResultOutput) AdminStateUp

func (o LookupPortResultOutput) AdminStateUp() pulumi.BoolPtrOutput

See Argument Reference above.

func (LookupPortResultOutput) AllFixedIps

The collection of Fixed IP addresses on the port in the order returned by the Network v2 API.

func (LookupPortResultOutput) AllSecurityGroupIds

func (o LookupPortResultOutput) AllSecurityGroupIds() pulumi.StringArrayOutput

The set of security group IDs applied on the port.

func (LookupPortResultOutput) AllTags

The set of string tags applied on the port.

func (LookupPortResultOutput) AllowedAddressPairs

An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.

func (LookupPortResultOutput) Bindings

The port binding information. The structure is described below.

func (LookupPortResultOutput) Description

See Argument Reference above.

func (LookupPortResultOutput) DeviceId

See Argument Reference above.

func (LookupPortResultOutput) DeviceOwner

See Argument Reference above.

func (LookupPortResultOutput) DnsAssignments

The list of maps representing port DNS assignments.

func (LookupPortResultOutput) DnsName

See Argument Reference above.

func (LookupPortResultOutput) ElementType

func (LookupPortResultOutput) ElementType() reflect.Type

func (LookupPortResultOutput) ExtraDhcpOptions

An extra DHCP option configured on the port. The structure is described below.

func (LookupPortResultOutput) FixedIp

func (LookupPortResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPortResultOutput) MacAddress

The additional MAC address.

func (LookupPortResultOutput) Name

Name of the DHCP option.

func (LookupPortResultOutput) NetworkId

See Argument Reference above.

func (LookupPortResultOutput) PortId

See Argument Reference above.

func (LookupPortResultOutput) ProjectId

See Argument Reference above.

func (LookupPortResultOutput) Region

See Argument Reference above.

func (LookupPortResultOutput) SecurityGroupIds

func (o LookupPortResultOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (LookupPortResultOutput) Status

func (LookupPortResultOutput) Tags

func (LookupPortResultOutput) TenantId

func (LookupPortResultOutput) ToLookupPortResultOutput

func (o LookupPortResultOutput) ToLookupPortResultOutput() LookupPortResultOutput

func (LookupPortResultOutput) ToLookupPortResultOutputWithContext

func (o LookupPortResultOutput) ToLookupPortResultOutputWithContext(ctx context.Context) LookupPortResultOutput

type LookupQosBandwidthLimitRuleArgs

type LookupQosBandwidthLimitRuleArgs struct {
	// The maximum burst size in kilobits of a QoS bandwidth limit rule.
	MaxBurstKbps *int `pulumi:"maxBurstKbps"`
	// The maximum kilobits per second of a QoS bandwidth limit rule.
	MaxKbps *int `pulumi:"maxKbps"`
	// The QoS policy reference.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getQosBandwidthLimitRule.

type LookupQosBandwidthLimitRuleOutputArgs

type LookupQosBandwidthLimitRuleOutputArgs struct {
	// The maximum burst size in kilobits of a QoS bandwidth limit rule.
	MaxBurstKbps pulumi.IntPtrInput `pulumi:"maxBurstKbps"`
	// The maximum kilobits per second of a QoS bandwidth limit rule.
	MaxKbps pulumi.IntPtrInput `pulumi:"maxKbps"`
	// The QoS policy reference.
	QosPolicyId pulumi.StringInput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getQosBandwidthLimitRule.

func (LookupQosBandwidthLimitRuleOutputArgs) ElementType

type LookupQosBandwidthLimitRuleResult

type LookupQosBandwidthLimitRuleResult struct {
	// See Argument Reference above.
	Direction string `pulumi:"direction"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	MaxBurstKbps int `pulumi:"maxBurstKbps"`
	// See Argument Reference above.
	MaxKbps int `pulumi:"maxKbps"`
	// See Argument Reference above.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
}

A collection of values returned by getQosBandwidthLimitRule.

func LookupQosBandwidthLimitRule

func LookupQosBandwidthLimitRule(ctx *pulumi.Context, args *LookupQosBandwidthLimitRuleArgs, opts ...pulumi.InvokeOption) (*LookupQosBandwidthLimitRuleResult, error)

Use this data source to get the ID of an available OpenStack QoS bandwidth limit rule.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupQosBandwidthLimitRule(ctx, &networking.LookupQosBandwidthLimitRuleArgs{
			MaxKbps: pulumi.IntRef(300),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQosBandwidthLimitRuleResultOutput

type LookupQosBandwidthLimitRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQosBandwidthLimitRule.

func (LookupQosBandwidthLimitRuleResultOutput) Direction

See Argument Reference above.

func (LookupQosBandwidthLimitRuleResultOutput) ElementType

func (LookupQosBandwidthLimitRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQosBandwidthLimitRuleResultOutput) MaxBurstKbps

See Argument Reference above.

func (LookupQosBandwidthLimitRuleResultOutput) MaxKbps

See Argument Reference above.

func (LookupQosBandwidthLimitRuleResultOutput) QosPolicyId

See Argument Reference above.

func (LookupQosBandwidthLimitRuleResultOutput) Region

See Argument Reference above.

func (LookupQosBandwidthLimitRuleResultOutput) ToLookupQosBandwidthLimitRuleResultOutput

func (o LookupQosBandwidthLimitRuleResultOutput) ToLookupQosBandwidthLimitRuleResultOutput() LookupQosBandwidthLimitRuleResultOutput

func (LookupQosBandwidthLimitRuleResultOutput) ToLookupQosBandwidthLimitRuleResultOutputWithContext

func (o LookupQosBandwidthLimitRuleResultOutput) ToLookupQosBandwidthLimitRuleResultOutputWithContext(ctx context.Context) LookupQosBandwidthLimitRuleResultOutput

type LookupQosDscpMarkingRuleArgs

type LookupQosDscpMarkingRuleArgs struct {
	// The value of a DSCP mark.
	DscpMark *int `pulumi:"dscpMark"`
	// The QoS policy reference.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getQosDscpMarkingRule.

type LookupQosDscpMarkingRuleOutputArgs

type LookupQosDscpMarkingRuleOutputArgs struct {
	// The value of a DSCP mark.
	DscpMark pulumi.IntPtrInput `pulumi:"dscpMark"`
	// The QoS policy reference.
	QosPolicyId pulumi.StringInput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getQosDscpMarkingRule.

func (LookupQosDscpMarkingRuleOutputArgs) ElementType

type LookupQosDscpMarkingRuleResult

type LookupQosDscpMarkingRuleResult struct {
	// See Argument Reference above.
	DscpMark int `pulumi:"dscpMark"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
}

A collection of values returned by getQosDscpMarkingRule.

func LookupQosDscpMarkingRule

func LookupQosDscpMarkingRule(ctx *pulumi.Context, args *LookupQosDscpMarkingRuleArgs, opts ...pulumi.InvokeOption) (*LookupQosDscpMarkingRuleResult, error)

Use this data source to get the ID of an available OpenStack QoS DSCP marking rule.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupQosDscpMarkingRule(ctx, &networking.LookupQosDscpMarkingRuleArgs{
			DscpMark: pulumi.IntRef(26),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQosDscpMarkingRuleResultOutput

type LookupQosDscpMarkingRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQosDscpMarkingRule.

func (LookupQosDscpMarkingRuleResultOutput) DscpMark

See Argument Reference above.

func (LookupQosDscpMarkingRuleResultOutput) ElementType

func (LookupQosDscpMarkingRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQosDscpMarkingRuleResultOutput) QosPolicyId

See Argument Reference above.

func (LookupQosDscpMarkingRuleResultOutput) Region

See Argument Reference above.

func (LookupQosDscpMarkingRuleResultOutput) ToLookupQosDscpMarkingRuleResultOutput

func (o LookupQosDscpMarkingRuleResultOutput) ToLookupQosDscpMarkingRuleResultOutput() LookupQosDscpMarkingRuleResultOutput

func (LookupQosDscpMarkingRuleResultOutput) ToLookupQosDscpMarkingRuleResultOutputWithContext

func (o LookupQosDscpMarkingRuleResultOutput) ToLookupQosDscpMarkingRuleResultOutputWithContext(ctx context.Context) LookupQosDscpMarkingRuleResultOutput

type LookupQosMinimumBandwidthRuleArgs

type LookupQosMinimumBandwidthRuleArgs struct {
	Direction *string `pulumi:"direction"`
	// The value of a minimum kbps bandwidth.
	MinKbps *int `pulumi:"minKbps"`
	// The QoS policy reference.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getQosMinimumBandwidthRule.

type LookupQosMinimumBandwidthRuleOutputArgs

type LookupQosMinimumBandwidthRuleOutputArgs struct {
	Direction pulumi.StringPtrInput `pulumi:"direction"`
	// The value of a minimum kbps bandwidth.
	MinKbps pulumi.IntPtrInput `pulumi:"minKbps"`
	// The QoS policy reference.
	QosPolicyId pulumi.StringInput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getQosMinimumBandwidthRule.

func (LookupQosMinimumBandwidthRuleOutputArgs) ElementType

type LookupQosMinimumBandwidthRuleResult

type LookupQosMinimumBandwidthRuleResult struct {
	Direction string `pulumi:"direction"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	MinKbps int `pulumi:"minKbps"`
	// See Argument Reference above.
	QosPolicyId string `pulumi:"qosPolicyId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
}

A collection of values returned by getQosMinimumBandwidthRule.

func LookupQosMinimumBandwidthRule

Use this data source to get the ID of an available OpenStack QoS minimum bandwidth rule.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupQosMinimumBandwidthRule(ctx, &networking.LookupQosMinimumBandwidthRuleArgs{
			MinKbps: pulumi.IntRef(2000),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQosMinimumBandwidthRuleResultOutput

type LookupQosMinimumBandwidthRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQosMinimumBandwidthRule.

func (LookupQosMinimumBandwidthRuleResultOutput) Direction

func (LookupQosMinimumBandwidthRuleResultOutput) ElementType

func (LookupQosMinimumBandwidthRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQosMinimumBandwidthRuleResultOutput) MinKbps

See Argument Reference above.

func (LookupQosMinimumBandwidthRuleResultOutput) QosPolicyId

See Argument Reference above.

func (LookupQosMinimumBandwidthRuleResultOutput) Region

See Argument Reference above.

func (LookupQosMinimumBandwidthRuleResultOutput) ToLookupQosMinimumBandwidthRuleResultOutput

func (o LookupQosMinimumBandwidthRuleResultOutput) ToLookupQosMinimumBandwidthRuleResultOutput() LookupQosMinimumBandwidthRuleResultOutput

func (LookupQosMinimumBandwidthRuleResultOutput) ToLookupQosMinimumBandwidthRuleResultOutputWithContext

func (o LookupQosMinimumBandwidthRuleResultOutput) ToLookupQosMinimumBandwidthRuleResultOutputWithContext(ctx context.Context) LookupQosMinimumBandwidthRuleResultOutput

type LookupQosPolicyArgs

type LookupQosPolicyArgs struct {
	// The human-readable description for the QoS policy.
	Description *string `pulumi:"description"`
	// Whether the QoS policy is default policy or not.
	IsDefault *bool `pulumi:"isDefault"`
	// The name of the QoS policy.
	Name *string `pulumi:"name"`
	// The owner of the QoS policy.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to retrieve a QoS policy ID. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// Whether this QoS policy is shared across all projects.
	Shared *bool `pulumi:"shared"`
	// The list of QoS policy tags to filter.
	Tags []string `pulumi:"tags"`
}

A collection of arguments for invoking getQosPolicy.

type LookupQosPolicyOutputArgs

type LookupQosPolicyOutputArgs struct {
	// The human-readable description for the QoS policy.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Whether the QoS policy is default policy or not.
	IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"`
	// The name of the QoS policy.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The owner of the QoS policy.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to retrieve a QoS policy ID. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Whether this QoS policy is shared across all projects.
	Shared pulumi.BoolPtrInput `pulumi:"shared"`
	// The list of QoS policy tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

A collection of arguments for invoking getQosPolicy.

func (LookupQosPolicyOutputArgs) ElementType

func (LookupQosPolicyOutputArgs) ElementType() reflect.Type

type LookupQosPolicyResult

type LookupQosPolicyResult struct {
	// The set of string tags applied on the QoS policy.
	AllTags []string `pulumi:"allTags"`
	// The time at which QoS policy was created.
	CreatedAt string `pulumi:"createdAt"`
	// See Argument Reference above.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	IsDefault bool `pulumi:"isDefault"`
	// See Argument Reference above.
	Name      string `pulumi:"name"`
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The revision number of the QoS policy.
	RevisionNumber int `pulumi:"revisionNumber"`
	// See Argument Reference above.
	Shared bool     `pulumi:"shared"`
	Tags   []string `pulumi:"tags"`
	// The time at which QoS policy was created.
	UpdatedAt string `pulumi:"updatedAt"`
}

A collection of values returned by getQosPolicy.

func LookupQosPolicy

func LookupQosPolicy(ctx *pulumi.Context, args *LookupQosPolicyArgs, opts ...pulumi.InvokeOption) (*LookupQosPolicyResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupQosPolicy(ctx, &networking.LookupQosPolicyArgs{
			Name: pulumi.StringRef("qos_policy_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQosPolicyResultOutput

type LookupQosPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQosPolicy.

func (LookupQosPolicyResultOutput) AllTags

The set of string tags applied on the QoS policy.

func (LookupQosPolicyResultOutput) CreatedAt

The time at which QoS policy was created.

func (LookupQosPolicyResultOutput) Description

See Argument Reference above.

func (LookupQosPolicyResultOutput) ElementType

func (LookupQosPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQosPolicyResultOutput) IsDefault

See Argument Reference above.

func (LookupQosPolicyResultOutput) Name

See Argument Reference above.

func (LookupQosPolicyResultOutput) ProjectId

func (LookupQosPolicyResultOutput) Region

See Argument Reference above.

func (LookupQosPolicyResultOutput) RevisionNumber

func (o LookupQosPolicyResultOutput) RevisionNumber() pulumi.IntOutput

The revision number of the QoS policy.

func (LookupQosPolicyResultOutput) Shared

See Argument Reference above.

func (LookupQosPolicyResultOutput) Tags

func (LookupQosPolicyResultOutput) ToLookupQosPolicyResultOutput

func (o LookupQosPolicyResultOutput) ToLookupQosPolicyResultOutput() LookupQosPolicyResultOutput

func (LookupQosPolicyResultOutput) ToLookupQosPolicyResultOutputWithContext

func (o LookupQosPolicyResultOutput) ToLookupQosPolicyResultOutputWithContext(ctx context.Context) LookupQosPolicyResultOutput

func (LookupQosPolicyResultOutput) UpdatedAt

The time at which QoS policy was created.

type LookupQuotaV2Args

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

A collection of arguments for invoking getQuotaV2.

type LookupQuotaV2OutputArgs

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

A collection of arguments for invoking getQuotaV2.

func (LookupQuotaV2OutputArgs) ElementType

func (LookupQuotaV2OutputArgs) ElementType() reflect.Type

type LookupQuotaV2Result

type LookupQuotaV2Result struct {
	// The number of allowed floating ips.
	Floatingip int `pulumi:"floatingip"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The number of allowed networks.
	Network int `pulumi:"network"`
	// The number of allowed ports.
	Port int `pulumi:"port"`
	// See Argument Reference above.
	ProjectId string `pulumi:"projectId"`
	// The number of allowed rbac policies.
	RbacPolicy int `pulumi:"rbacPolicy"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The amount of allowed routers.
	Router int `pulumi:"router"`
	// The number of allowed security groups.
	SecurityGroup int `pulumi:"securityGroup"`
	// The number of allowed security group rules.
	SecurityGroupRule int `pulumi:"securityGroupRule"`
	// The number of allowed subnets.
	// * `subnetpool-` - The number of allowed subnet pools.
	Subnet     int `pulumi:"subnet"`
	Subnetpool int `pulumi:"subnetpool"`
}

A collection of values returned by getQuotaV2.

func LookupQuotaV2

func LookupQuotaV2(ctx *pulumi.Context, args *LookupQuotaV2Args, opts ...pulumi.InvokeOption) (*LookupQuotaV2Result, error)

Use this data source to get the networking quota of an OpenStack project.

## Example Usage

```go package main

import (

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

)

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

```

type LookupQuotaV2ResultOutput

type LookupQuotaV2ResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQuotaV2.

func (LookupQuotaV2ResultOutput) ElementType

func (LookupQuotaV2ResultOutput) ElementType() reflect.Type

func (LookupQuotaV2ResultOutput) Floatingip

The number of allowed floating ips.

func (LookupQuotaV2ResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQuotaV2ResultOutput) Network

The number of allowed networks.

func (LookupQuotaV2ResultOutput) Port

The number of allowed ports.

func (LookupQuotaV2ResultOutput) ProjectId

See Argument Reference above.

func (LookupQuotaV2ResultOutput) RbacPolicy

The number of allowed rbac policies.

func (LookupQuotaV2ResultOutput) Region

See Argument Reference above.

func (LookupQuotaV2ResultOutput) Router

The amount of allowed routers.

func (LookupQuotaV2ResultOutput) SecurityGroup

func (o LookupQuotaV2ResultOutput) SecurityGroup() pulumi.IntOutput

The number of allowed security groups.

func (LookupQuotaV2ResultOutput) SecurityGroupRule

func (o LookupQuotaV2ResultOutput) SecurityGroupRule() pulumi.IntOutput

The number of allowed security group rules.

func (LookupQuotaV2ResultOutput) Subnet

The number of allowed subnets. * `subnetpool-` - The number of allowed subnet pools.

func (LookupQuotaV2ResultOutput) Subnetpool

func (LookupQuotaV2ResultOutput) ToLookupQuotaV2ResultOutput

func (o LookupQuotaV2ResultOutput) ToLookupQuotaV2ResultOutput() LookupQuotaV2ResultOutput

func (LookupQuotaV2ResultOutput) ToLookupQuotaV2ResultOutputWithContext

func (o LookupQuotaV2ResultOutput) ToLookupQuotaV2ResultOutputWithContext(ctx context.Context) LookupQuotaV2ResultOutput

type LookupRouterArgs

type LookupRouterArgs struct {
	// Administrative up/down status for the router (must be "true" or "false" if provided).
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// Human-readable description of the router.
	Description *string `pulumi:"description"`
	// Indicates whether or not to get a distributed router.
	Distributed *bool `pulumi:"distributed"`
	// The value that points out if the Source NAT is enabled on the router.
	EnableSnat *bool `pulumi:"enableSnat"`
	// The name of the router.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve router ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The UUID of the router resource.
	RouterId *string `pulumi:"routerId"`
	// The status of the router (ACTIVE/DOWN).
	Status *string `pulumi:"status"`
	// The list of router tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the router.
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getRouter.

type LookupRouterOutputArgs

type LookupRouterOutputArgs struct {
	// Administrative up/down status for the router (must be "true" or "false" if provided).
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// Human-readable description of the router.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Indicates whether or not to get a distributed router.
	Distributed pulumi.BoolPtrInput `pulumi:"distributed"`
	// The value that points out if the Source NAT is enabled on the router.
	EnableSnat pulumi.BoolPtrInput `pulumi:"enableSnat"`
	// The name of the router.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve router ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The UUID of the router resource.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The status of the router (ACTIVE/DOWN).
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of router tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the router.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getRouter.

func (LookupRouterOutputArgs) ElementType

func (LookupRouterOutputArgs) ElementType() reflect.Type

type LookupRouterResult

type LookupRouterResult struct {
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// The set of string tags applied on the router.
	AllTags []string `pulumi:"allTags"`
	// The availability zone that is used to make router resources highly available.
	AvailabilityZoneHints []string `pulumi:"availabilityZoneHints"`
	Description           *string  `pulumi:"description"`
	Distributed           *bool    `pulumi:"distributed"`
	// The value that points out if the Source NAT is enabled on the router.
	EnableSnat bool `pulumi:"enableSnat"`
	// The external fixed IPs of the router.
	ExternalFixedIps []GetRouterExternalFixedIp `pulumi:"externalFixedIps"`
	// The network UUID of an external gateway for the router.
	ExternalNetworkId string `pulumi:"externalNetworkId"`
	// The provider-assigned unique ID for this managed resource.
	Id       string   `pulumi:"id"`
	Name     *string  `pulumi:"name"`
	Region   *string  `pulumi:"region"`
	RouterId *string  `pulumi:"routerId"`
	Status   *string  `pulumi:"status"`
	Tags     []string `pulumi:"tags"`
	TenantId *string  `pulumi:"tenantId"`
}

A collection of values returned by getRouter.

func LookupRouter

func LookupRouter(ctx *pulumi.Context, args *LookupRouterArgs, opts ...pulumi.InvokeOption) (*LookupRouterResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupRouter(ctx, &networking.LookupRouterArgs{
			Name: pulumi.StringRef("router_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRouterResultOutput

type LookupRouterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouter.

func (LookupRouterResultOutput) AdminStateUp

func (LookupRouterResultOutput) AllTags

The set of string tags applied on the router.

func (LookupRouterResultOutput) AvailabilityZoneHints

func (o LookupRouterResultOutput) AvailabilityZoneHints() pulumi.StringArrayOutput

The availability zone that is used to make router resources highly available.

func (LookupRouterResultOutput) Description

func (LookupRouterResultOutput) Distributed

func (LookupRouterResultOutput) ElementType

func (LookupRouterResultOutput) ElementType() reflect.Type

func (LookupRouterResultOutput) EnableSnat

The value that points out if the Source NAT is enabled on the router.

func (LookupRouterResultOutput) ExternalFixedIps

The external fixed IPs of the router.

func (LookupRouterResultOutput) ExternalNetworkId

func (o LookupRouterResultOutput) ExternalNetworkId() pulumi.StringOutput

The network UUID of an external gateway for the router.

func (LookupRouterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRouterResultOutput) Name

func (LookupRouterResultOutput) Region

func (LookupRouterResultOutput) RouterId

func (LookupRouterResultOutput) Status

func (LookupRouterResultOutput) Tags

func (LookupRouterResultOutput) TenantId

func (LookupRouterResultOutput) ToLookupRouterResultOutput

func (o LookupRouterResultOutput) ToLookupRouterResultOutput() LookupRouterResultOutput

func (LookupRouterResultOutput) ToLookupRouterResultOutputWithContext

func (o LookupRouterResultOutput) ToLookupRouterResultOutputWithContext(ctx context.Context) LookupRouterResultOutput

type LookupSecGroupArgs

type LookupSecGroupArgs struct {
	// Human-readable description the the subnet.
	Description *string `pulumi:"description"`
	// The name of the security group.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve security groups ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The ID of the security group.
	SecgroupId *string `pulumi:"secgroupId"`
	// Whether the security group is stateful or not.
	Stateful *bool `pulumi:"stateful"`
	// The list of security group tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the security group.
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getSecGroup.

type LookupSecGroupOutputArgs

type LookupSecGroupOutputArgs struct {
	// Human-readable description the the subnet.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The name of the security group.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve security groups ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The ID of the security group.
	SecgroupId pulumi.StringPtrInput `pulumi:"secgroupId"`
	// Whether the security group is stateful or not.
	Stateful pulumi.BoolPtrInput `pulumi:"stateful"`
	// The list of security group tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the security group.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getSecGroup.

func (LookupSecGroupOutputArgs) ElementType

func (LookupSecGroupOutputArgs) ElementType() reflect.Type

type LookupSecGroupResult

type LookupSecGroupResult struct {
	// The set of string tags applied on the security group.
	AllTags []string `pulumi:"allTags"`
	// See Argument Reference above.
	Description *string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	Region     string  `pulumi:"region"`
	SecgroupId *string `pulumi:"secgroupId"`
	// See Argument Reference above.
	Stateful bool     `pulumi:"stateful"`
	Tags     []string `pulumi:"tags"`
	TenantId string   `pulumi:"tenantId"`
}

A collection of values returned by getSecGroup.

func LookupSecGroup

func LookupSecGroup(ctx *pulumi.Context, args *LookupSecGroupArgs, opts ...pulumi.InvokeOption) (*LookupSecGroupResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupSecGroup(ctx, &networking.LookupSecGroupArgs{
			Name: pulumi.StringRef("tf_test_secgroup"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSecGroupResultOutput

type LookupSecGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSecGroup.

func (LookupSecGroupResultOutput) AllTags

The set of string tags applied on the security group.

func (LookupSecGroupResultOutput) Description

See Argument Reference above.

func (LookupSecGroupResultOutput) ElementType

func (LookupSecGroupResultOutput) ElementType() reflect.Type

func (LookupSecGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSecGroupResultOutput) Name

See Argument Reference above.

func (LookupSecGroupResultOutput) Region

See Argument Reference above.

func (LookupSecGroupResultOutput) SecgroupId

func (LookupSecGroupResultOutput) Stateful added in v4.1.0

See Argument Reference above.

func (LookupSecGroupResultOutput) Tags

func (LookupSecGroupResultOutput) TenantId

func (LookupSecGroupResultOutput) ToLookupSecGroupResultOutput

func (o LookupSecGroupResultOutput) ToLookupSecGroupResultOutput() LookupSecGroupResultOutput

func (LookupSecGroupResultOutput) ToLookupSecGroupResultOutputWithContext

func (o LookupSecGroupResultOutput) ToLookupSecGroupResultOutputWithContext(ctx context.Context) LookupSecGroupResultOutput

type LookupSubnetArgs

type LookupSubnetArgs struct {
	// The CIDR of the subnet.
	Cidr *string `pulumi:"cidr"`
	// Human-readable description of the subnet.
	Description *string `pulumi:"description"`
	// If the subnet has DHCP enabled.
	DhcpEnabled *bool `pulumi:"dhcpEnabled"`
	// If the subnet publishes DNS records.
	DnsPublishFixedIp *bool `pulumi:"dnsPublishFixedIp"`
	// The IP of the subnet's gateway.
	GatewayIp *string `pulumi:"gatewayIp"`
	// The IP version of the subnet (either 4 or 6).
	IpVersion *int `pulumi:"ipVersion"`
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode *string `pulumi:"ipv6AddressMode"`
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode *string `pulumi:"ipv6RaMode"`
	// The name of the subnet.
	Name *string `pulumi:"name"`
	// The ID of the network the subnet belongs to.
	NetworkId *string `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve subnet ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The ID of the subnet.
	SubnetId *string `pulumi:"subnetId"`
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId *string `pulumi:"subnetpoolId"`
	// The list of subnet tags to filter.
	Tags []string `pulumi:"tags"`
	// The owner of the subnet.
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getSubnet.

type LookupSubnetOutputArgs

type LookupSubnetOutputArgs struct {
	// The CIDR of the subnet.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Human-readable description of the subnet.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// If the subnet has DHCP enabled.
	DhcpEnabled pulumi.BoolPtrInput `pulumi:"dhcpEnabled"`
	// If the subnet publishes DNS records.
	DnsPublishFixedIp pulumi.BoolPtrInput `pulumi:"dnsPublishFixedIp"`
	// The IP of the subnet's gateway.
	GatewayIp pulumi.StringPtrInput `pulumi:"gatewayIp"`
	// The IP version of the subnet (either 4 or 6).
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode pulumi.StringPtrInput `pulumi:"ipv6AddressMode"`
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode pulumi.StringPtrInput `pulumi:"ipv6RaMode"`
	// The name of the subnet.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the network the subnet belongs to.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve subnet ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The ID of the subnet.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId pulumi.StringPtrInput `pulumi:"subnetpoolId"`
	// The list of subnet tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The owner of the subnet.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getSubnet.

func (LookupSubnetOutputArgs) ElementType

func (LookupSubnetOutputArgs) ElementType() reflect.Type

type LookupSubnetPoolArgs

type LookupSubnetPoolArgs struct {
	// The Neutron address scope that subnetpools
	// is assigned to.
	AddressScopeId *string `pulumi:"addressScopeId"`
	// The size of the subnetpool default prefix
	// length.
	DefaultPrefixlen *int `pulumi:"defaultPrefixlen"`
	// The per-project quota on the prefix space that
	// can be allocated from the subnetpool for project subnets.
	DefaultQuota *int `pulumi:"defaultQuota"`
	// The human-readable description for the subnetpool.
	Description *string `pulumi:"description"`
	// The IP protocol version.
	IpVersion *int `pulumi:"ipVersion"`
	// Whether the subnetpool is default subnetpool or not.
	IsDefault *bool `pulumi:"isDefault"`
	// The size of the subnetpool max prefix length.
	MaxPrefixlen *int `pulumi:"maxPrefixlen"`
	// The size of the subnetpool min prefix length.
	MinPrefixlen *int `pulumi:"minPrefixlen"`
	// The name of the subnetpool.
	Name *string `pulumi:"name"`
	// The owner of the subnetpool.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to retrieve a subnetpool id. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// Whether this subnetpool is shared across all projects.
	Shared *bool `pulumi:"shared"`
	// The list of subnetpool tags to filter.
	Tags []string `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetPool.

type LookupSubnetPoolOutputArgs

type LookupSubnetPoolOutputArgs struct {
	// The Neutron address scope that subnetpools
	// is assigned to.
	AddressScopeId pulumi.StringPtrInput `pulumi:"addressScopeId"`
	// The size of the subnetpool default prefix
	// length.
	DefaultPrefixlen pulumi.IntPtrInput `pulumi:"defaultPrefixlen"`
	// The per-project quota on the prefix space that
	// can be allocated from the subnetpool for project subnets.
	DefaultQuota pulumi.IntPtrInput `pulumi:"defaultQuota"`
	// The human-readable description for the subnetpool.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The IP protocol version.
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// Whether the subnetpool is default subnetpool or not.
	IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"`
	// The size of the subnetpool max prefix length.
	MaxPrefixlen pulumi.IntPtrInput `pulumi:"maxPrefixlen"`
	// The size of the subnetpool min prefix length.
	MinPrefixlen pulumi.IntPtrInput `pulumi:"minPrefixlen"`
	// The name of the subnetpool.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The owner of the subnetpool.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to retrieve a subnetpool id. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Whether this subnetpool is shared across all projects.
	Shared pulumi.BoolPtrInput `pulumi:"shared"`
	// The list of subnetpool tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetPool.

func (LookupSubnetPoolOutputArgs) ElementType

func (LookupSubnetPoolOutputArgs) ElementType() reflect.Type

type LookupSubnetPoolResult

type LookupSubnetPoolResult struct {
	// See Argument Reference above.
	AddressScopeId string `pulumi:"addressScopeId"`
	// The set of string tags applied on the subnetpool.
	AllTags []string `pulumi:"allTags"`
	// The time at which subnetpool was created.
	CreatedAt string `pulumi:"createdAt"`
	// See Argument Reference above.
	DefaultPrefixlen int `pulumi:"defaultPrefixlen"`
	// See Argument Reference above.
	DefaultQuota int `pulumi:"defaultQuota"`
	// See Argument Reference above.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The IP protocol version.
	IpVersion int `pulumi:"ipVersion"`
	// See Argument Reference above.
	IsDefault bool `pulumi:"isDefault"`
	// See Argument Reference above.
	MaxPrefixlen int `pulumi:"maxPrefixlen"`
	// See Argument Reference above.
	MinPrefixlen int `pulumi:"minPrefixlen"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Prefixes []string `pulumi:"prefixes"`
	// See Argument Reference above.
	ProjectId string `pulumi:"projectId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// The revision number of the subnetpool.
	RevisionNumber int `pulumi:"revisionNumber"`
	// See Argument Reference above.
	Shared bool     `pulumi:"shared"`
	Tags   []string `pulumi:"tags"`
	// The time at which subnetpool was created.
	UpdatedAt string `pulumi:"updatedAt"`
}

A collection of values returned by getSubnetPool.

func LookupSubnetPool

func LookupSubnetPool(ctx *pulumi.Context, args *LookupSubnetPoolArgs, opts ...pulumi.InvokeOption) (*LookupSubnetPoolResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupSubnetPool(ctx, &networking.LookupSubnetPoolArgs{
			Name: pulumi.StringRef("subnetpool_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSubnetPoolResultOutput

type LookupSubnetPoolResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetPool.

func (LookupSubnetPoolResultOutput) AddressScopeId

See Argument Reference above.

func (LookupSubnetPoolResultOutput) AllTags

The set of string tags applied on the subnetpool.

func (LookupSubnetPoolResultOutput) CreatedAt

The time at which subnetpool was created.

func (LookupSubnetPoolResultOutput) DefaultPrefixlen

func (o LookupSubnetPoolResultOutput) DefaultPrefixlen() pulumi.IntOutput

See Argument Reference above.

func (LookupSubnetPoolResultOutput) DefaultQuota

See Argument Reference above.

func (LookupSubnetPoolResultOutput) Description

See Argument Reference above.

func (LookupSubnetPoolResultOutput) ElementType

func (LookupSubnetPoolResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSubnetPoolResultOutput) IpVersion

The IP protocol version.

func (LookupSubnetPoolResultOutput) IsDefault

See Argument Reference above.

func (LookupSubnetPoolResultOutput) MaxPrefixlen

See Argument Reference above.

func (LookupSubnetPoolResultOutput) MinPrefixlen

See Argument Reference above.

func (LookupSubnetPoolResultOutput) Name

See Argument Reference above.

func (LookupSubnetPoolResultOutput) Prefixes

See Argument Reference above.

func (LookupSubnetPoolResultOutput) ProjectId

See Argument Reference above.

func (LookupSubnetPoolResultOutput) Region

See Argument Reference above.

func (LookupSubnetPoolResultOutput) RevisionNumber

func (o LookupSubnetPoolResultOutput) RevisionNumber() pulumi.IntOutput

The revision number of the subnetpool.

func (LookupSubnetPoolResultOutput) Shared

See Argument Reference above.

func (LookupSubnetPoolResultOutput) Tags

func (LookupSubnetPoolResultOutput) ToLookupSubnetPoolResultOutput

func (o LookupSubnetPoolResultOutput) ToLookupSubnetPoolResultOutput() LookupSubnetPoolResultOutput

func (LookupSubnetPoolResultOutput) ToLookupSubnetPoolResultOutputWithContext

func (o LookupSubnetPoolResultOutput) ToLookupSubnetPoolResultOutputWithContext(ctx context.Context) LookupSubnetPoolResultOutput

func (LookupSubnetPoolResultOutput) UpdatedAt

The time at which subnetpool was created.

type LookupSubnetResult

type LookupSubnetResult struct {
	// A set of string tags applied on the subnet.
	AllTags []string `pulumi:"allTags"`
	// Allocation pools of the subnet.
	AllocationPools []GetSubnetAllocationPool `pulumi:"allocationPools"`
	Cidr            string                    `pulumi:"cidr"`
	Description     string                    `pulumi:"description"`
	DhcpEnabled     *bool                     `pulumi:"dhcpEnabled"`
	// DNS Nameservers of the subnet.
	DnsNameservers    []string `pulumi:"dnsNameservers"`
	DnsPublishFixedIp *bool    `pulumi:"dnsPublishFixedIp"`
	// Whether the subnet has DHCP enabled or not.
	EnableDhcp bool   `pulumi:"enableDhcp"`
	GatewayIp  string `pulumi:"gatewayIp"`
	// Host Routes of the subnet.
	HostRoutes []GetSubnetHostRoute `pulumi:"hostRoutes"`
	// The provider-assigned unique ID for this managed resource.
	Id              string `pulumi:"id"`
	IpVersion       int    `pulumi:"ipVersion"`
	Ipv6AddressMode string `pulumi:"ipv6AddressMode"`
	Ipv6RaMode      string `pulumi:"ipv6RaMode"`
	Name            string `pulumi:"name"`
	NetworkId       string `pulumi:"networkId"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// Service types of the subnet.
	ServiceTypes []string `pulumi:"serviceTypes"`
	SubnetId     string   `pulumi:"subnetId"`
	SubnetpoolId string   `pulumi:"subnetpoolId"`
	Tags         []string `pulumi:"tags"`
	TenantId     string   `pulumi:"tenantId"`
}

A collection of values returned by getSubnet.

func LookupSubnet

func LookupSubnet(ctx *pulumi.Context, args *LookupSubnetArgs, opts ...pulumi.InvokeOption) (*LookupSubnetResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupSubnet(ctx, &networking.LookupSubnetArgs{
			Name: pulumi.StringRef("subnet_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSubnetResultOutput

type LookupSubnetResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnet.

func (LookupSubnetResultOutput) AllTags

A set of string tags applied on the subnet.

func (LookupSubnetResultOutput) AllocationPools

Allocation pools of the subnet.

func (LookupSubnetResultOutput) Cidr

func (LookupSubnetResultOutput) Description

func (LookupSubnetResultOutput) DhcpEnabled

func (LookupSubnetResultOutput) DnsNameservers

DNS Nameservers of the subnet.

func (LookupSubnetResultOutput) DnsPublishFixedIp added in v4.1.0

func (o LookupSubnetResultOutput) DnsPublishFixedIp() pulumi.BoolPtrOutput

func (LookupSubnetResultOutput) ElementType

func (LookupSubnetResultOutput) ElementType() reflect.Type

func (LookupSubnetResultOutput) EnableDhcp

Whether the subnet has DHCP enabled or not.

func (LookupSubnetResultOutput) GatewayIp

func (LookupSubnetResultOutput) HostRoutes

Host Routes of the subnet.

func (LookupSubnetResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSubnetResultOutput) IpVersion

func (LookupSubnetResultOutput) Ipv6AddressMode

func (o LookupSubnetResultOutput) Ipv6AddressMode() pulumi.StringOutput

func (LookupSubnetResultOutput) Ipv6RaMode

func (LookupSubnetResultOutput) Name

func (LookupSubnetResultOutput) NetworkId

func (LookupSubnetResultOutput) Region

See Argument Reference above.

func (LookupSubnetResultOutput) ServiceTypes

Service types of the subnet.

func (LookupSubnetResultOutput) SubnetId

func (LookupSubnetResultOutput) SubnetpoolId

func (o LookupSubnetResultOutput) SubnetpoolId() pulumi.StringOutput

func (LookupSubnetResultOutput) Tags

func (LookupSubnetResultOutput) TenantId

func (LookupSubnetResultOutput) ToLookupSubnetResultOutput

func (o LookupSubnetResultOutput) ToLookupSubnetResultOutput() LookupSubnetResultOutput

func (LookupSubnetResultOutput) ToLookupSubnetResultOutputWithContext

func (o LookupSubnetResultOutput) ToLookupSubnetResultOutputWithContext(ctx context.Context) LookupSubnetResultOutput

type LookupTrunkArgs

type LookupTrunkArgs struct {
	// The administrative state of the trunk.
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// Human-readable description of the trunk.
	Description *string `pulumi:"description"`
	// The name of the trunk.
	Name *string `pulumi:"name"`
	// The ID of the trunk parent port.
	PortId *string `pulumi:"portId"`
	// The owner of the trunk.
	ProjectId *string `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve trunk ids. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The status of the trunk.
	Status *string `pulumi:"status"`
	// The list of trunk tags to filter.
	Tags []string `pulumi:"tags"`
	// The ID of the trunk.
	TrunkId *string `pulumi:"trunkId"`
}

A collection of arguments for invoking getTrunk.

type LookupTrunkOutputArgs

type LookupTrunkOutputArgs struct {
	// The administrative state of the trunk.
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// Human-readable description of the trunk.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The name of the trunk.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the trunk parent port.
	PortId pulumi.StringPtrInput `pulumi:"portId"`
	// The owner of the trunk.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region in which to obtain the V2 Neutron client.
	// A Neutron client is needed to retrieve trunk ids. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The status of the trunk.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The list of trunk tags to filter.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The ID of the trunk.
	TrunkId pulumi.StringPtrInput `pulumi:"trunkId"`
}

A collection of arguments for invoking getTrunk.

func (LookupTrunkOutputArgs) ElementType

func (LookupTrunkOutputArgs) ElementType() reflect.Type

type LookupTrunkResult

type LookupTrunkResult struct {
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// The set of string tags applied on the trunk.
	AllTags     []string `pulumi:"allTags"`
	Description *string  `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The ID of the trunk subport.
	PortId    *string `pulumi:"portId"`
	ProjectId string  `pulumi:"projectId"`
	Region    string  `pulumi:"region"`
	Status    *string `pulumi:"status"`
	// The set of the trunk subports. The structure of each subport is
	// described below.
	SubPorts []GetTrunkSubPort `pulumi:"subPorts"`
	Tags     []string          `pulumi:"tags"`
	TrunkId  *string           `pulumi:"trunkId"`
}

A collection of values returned by getTrunk.

func LookupTrunk

func LookupTrunk(ctx *pulumi.Context, args *LookupTrunkArgs, opts ...pulumi.InvokeOption) (*LookupTrunkResult, error)

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.LookupTrunk(ctx, &networking.LookupTrunkArgs{
			Name: pulumi.StringRef("trunk_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupTrunkResultOutput

type LookupTrunkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrunk.

func (LookupTrunkResultOutput) AdminStateUp

func (o LookupTrunkResultOutput) AdminStateUp() pulumi.BoolPtrOutput

func (LookupTrunkResultOutput) AllTags

The set of string tags applied on the trunk.

func (LookupTrunkResultOutput) Description

func (LookupTrunkResultOutput) ElementType

func (LookupTrunkResultOutput) ElementType() reflect.Type

func (LookupTrunkResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupTrunkResultOutput) Name

func (LookupTrunkResultOutput) PortId

The ID of the trunk subport.

func (LookupTrunkResultOutput) ProjectId

func (LookupTrunkResultOutput) Region

func (LookupTrunkResultOutput) Status

func (LookupTrunkResultOutput) SubPorts

The set of the trunk subports. The structure of each subport is described below.

func (LookupTrunkResultOutput) Tags

func (LookupTrunkResultOutput) ToLookupTrunkResultOutput

func (o LookupTrunkResultOutput) ToLookupTrunkResultOutput() LookupTrunkResultOutput

func (LookupTrunkResultOutput) ToLookupTrunkResultOutputWithContext

func (o LookupTrunkResultOutput) ToLookupTrunkResultOutputWithContext(ctx context.Context) LookupTrunkResultOutput

func (LookupTrunkResultOutput) TrunkId

type Network

type Network struct {
	pulumi.CustomResourceState

	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing network.
	AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"`
	// The collection of tags assigned on the network, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new network.
	AvailabilityZoneHints pulumi.StringArrayOutput `pulumi:"availabilityZoneHints"`
	// Human-readable description of the network. Changing this
	// updates the name of the existing network.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The network DNS domain. Available, when Neutron DNS
	// extension is enabled. The `dnsDomain` of a network in conjunction with the
	// `dnsName` attribute of its ports will be published in an external DNS
	// service when Neutron is configured to integrate with such a service.
	DnsDomain pulumi.StringOutput `pulumi:"dnsDomain"`
	// Specifies whether the network resource has the
	// external routing facility. Valid values are true and false. Defaults to
	// false. Changing this updates the external attribute of the existing network.
	External pulumi.BoolOutput `pulumi:"external"`
	// The network MTU. Available for read-only, when Neutron
	// `net-mtu` extension is enabled. Available for the modification, when
	// Neutron `net-mtu-writable` extension is enabled.
	Mtu pulumi.IntOutput `pulumi:"mtu"`
	// The name of the network. Changing this updates the name of
	// the existing network.
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether to explicitly enable or disable
	// port security on the network. Port Security is usually enabled by default, so
	// omitting this argument will usually result in a value of "true". Setting this
	// explicitly to `false` will disable port security. Valid values are `true` and
	// `false`.
	PortSecurityEnabled pulumi.BoolOutput `pulumi:"portSecurityEnabled"`
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringOutput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron network. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// network.
	Region pulumi.StringOutput `pulumi:"region"`
	// An array of one or more provider segment objects.
	// Note: most Networking plug-ins (e.g. ML2 Plugin) and drivers do not support
	// updating any provider related segments attributes. Check your plug-in whether
	// it supports updating.
	Segments NetworkSegmentArrayOutput `pulumi:"segments"`
	// Specifies whether the network resource can be accessed
	// by any tenant or not. Changing this updates the sharing capabilities of the
	// existing network.
	Shared pulumi.BoolOutput `pulumi:"shared"`
	// A set of string tags for the network.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the network. Required if admin wants to
	// create a network for another tenant. Changing this creates a new network.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Specifies whether the network resource has the
	// VLAN transparent attribute set. Valid values are true and false. Defaults to
	// false. Changing this updates the `transparentVlan` attribute of the existing
	// network.
	TransparentVlan pulumi.BoolOutput `pulumi:"transparentVlan"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

Manages a V2 Neutron network resource within OpenStack.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			Name:      pulumi.String("subnet_1"),
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		secgroup1, err := compute.NewSecGroup(ctx, "secgroup_1", &compute.SecGroupArgs{
			Name:        pulumi.String("secgroup_1"),
			Description: pulumi.String("a security group"),
			Rules: compute.SecGroupRuleArray{
				&compute.SecGroupRuleArgs{
					FromPort:   pulumi.Int(22),
					ToPort:     pulumi.Int(22),
					IpProtocol: pulumi.String("tcp"),
					Cidr:       pulumi.String("0.0.0.0/0"),
				},
			},
		})
		if err != nil {
			return err
		}
		port1, err := networking.NewPort(ctx, "port_1", &networking.PortArgs{
			Name:         pulumi.String("port_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
			SecurityGroupIds: pulumi.StringArray{
				secgroup1.ID(),
			},
			FixedIps: networking.PortFixedIpArray{
				&networking.PortFixedIpArgs{
					SubnetId:  subnet1.ID(),
					IpAddress: pulumi.String("192.168.199.10"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				secgroup1.Name,
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Port: port1.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import openstack:networking/network:Network network_1 d90ce693-5ccf-4136-a0ed-152ce412b6b9 ```

func GetNetwork

func GetNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkState, opts ...pulumi.ResourceOption) (*Network, error)

GetNetwork gets an existing Network 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 NewNetwork

func NewNetwork(ctx *pulumi.Context,
	name string, args *NetworkArgs, opts ...pulumi.ResourceOption) (*Network, error)

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

func (*Network) ElementType

func (*Network) ElementType() reflect.Type

func (*Network) ToNetworkOutput

func (i *Network) ToNetworkOutput() NetworkOutput

func (*Network) ToNetworkOutputWithContext

func (i *Network) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

type NetworkArgs

type NetworkArgs struct {
	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing network.
	AdminStateUp pulumi.BoolPtrInput
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new network.
	AvailabilityZoneHints pulumi.StringArrayInput
	// Human-readable description of the network. Changing this
	// updates the name of the existing network.
	Description pulumi.StringPtrInput
	// The network DNS domain. Available, when Neutron DNS
	// extension is enabled. The `dnsDomain` of a network in conjunction with the
	// `dnsName` attribute of its ports will be published in an external DNS
	// service when Neutron is configured to integrate with such a service.
	DnsDomain pulumi.StringPtrInput
	// Specifies whether the network resource has the
	// external routing facility. Valid values are true and false. Defaults to
	// false. Changing this updates the external attribute of the existing network.
	External pulumi.BoolPtrInput
	// The network MTU. Available for read-only, when Neutron
	// `net-mtu` extension is enabled. Available for the modification, when
	// Neutron `net-mtu-writable` extension is enabled.
	Mtu pulumi.IntPtrInput
	// The name of the network. Changing this updates the name of
	// the existing network.
	Name pulumi.StringPtrInput
	// Whether to explicitly enable or disable
	// port security on the network. Port Security is usually enabled by default, so
	// omitting this argument will usually result in a value of "true". Setting this
	// explicitly to `false` will disable port security. Valid values are `true` and
	// `false`.
	PortSecurityEnabled pulumi.BoolPtrInput
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron network. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// network.
	Region pulumi.StringPtrInput
	// An array of one or more provider segment objects.
	// Note: most Networking plug-ins (e.g. ML2 Plugin) and drivers do not support
	// updating any provider related segments attributes. Check your plug-in whether
	// it supports updating.
	Segments NetworkSegmentArrayInput
	// Specifies whether the network resource can be accessed
	// by any tenant or not. Changing this updates the sharing capabilities of the
	// existing network.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the network.
	Tags pulumi.StringArrayInput
	// The owner of the network. Required if admin wants to
	// create a network for another tenant. Changing this creates a new network.
	TenantId pulumi.StringPtrInput
	// Specifies whether the network resource has the
	// VLAN transparent attribute set. Valid values are true and false. Defaults to
	// false. Changing this updates the `transparentVlan` attribute of the existing
	// network.
	TransparentVlan pulumi.BoolPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a Network resource.

func (NetworkArgs) ElementType

func (NetworkArgs) ElementType() reflect.Type

type NetworkArray

type NetworkArray []NetworkInput

func (NetworkArray) ElementType

func (NetworkArray) ElementType() reflect.Type

func (NetworkArray) ToNetworkArrayOutput

func (i NetworkArray) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArray) ToNetworkArrayOutputWithContext

func (i NetworkArray) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkArrayInput

type NetworkArrayInput interface {
	pulumi.Input

	ToNetworkArrayOutput() NetworkArrayOutput
	ToNetworkArrayOutputWithContext(context.Context) NetworkArrayOutput
}

NetworkArrayInput is an input type that accepts NetworkArray and NetworkArrayOutput values. You can construct a concrete instance of `NetworkArrayInput` via:

NetworkArray{ NetworkArgs{...} }

type NetworkArrayOutput

type NetworkArrayOutput struct{ *pulumi.OutputState }

func (NetworkArrayOutput) ElementType

func (NetworkArrayOutput) ElementType() reflect.Type

func (NetworkArrayOutput) Index

func (NetworkArrayOutput) ToNetworkArrayOutput

func (o NetworkArrayOutput) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArrayOutput) ToNetworkArrayOutputWithContext

func (o NetworkArrayOutput) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkInput

type NetworkInput interface {
	pulumi.Input

	ToNetworkOutput() NetworkOutput
	ToNetworkOutputWithContext(ctx context.Context) NetworkOutput
}

type NetworkMap

type NetworkMap map[string]NetworkInput

func (NetworkMap) ElementType

func (NetworkMap) ElementType() reflect.Type

func (NetworkMap) ToNetworkMapOutput

func (i NetworkMap) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMap) ToNetworkMapOutputWithContext

func (i NetworkMap) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkMapInput

type NetworkMapInput interface {
	pulumi.Input

	ToNetworkMapOutput() NetworkMapOutput
	ToNetworkMapOutputWithContext(context.Context) NetworkMapOutput
}

NetworkMapInput is an input type that accepts NetworkMap and NetworkMapOutput values. You can construct a concrete instance of `NetworkMapInput` via:

NetworkMap{ "key": NetworkArgs{...} }

type NetworkMapOutput

type NetworkMapOutput struct{ *pulumi.OutputState }

func (NetworkMapOutput) ElementType

func (NetworkMapOutput) ElementType() reflect.Type

func (NetworkMapOutput) MapIndex

func (NetworkMapOutput) ToNetworkMapOutput

func (o NetworkMapOutput) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMapOutput) ToNetworkMapOutputWithContext

func (o NetworkMapOutput) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkOutput

type NetworkOutput struct{ *pulumi.OutputState }

func (NetworkOutput) AdminStateUp

func (o NetworkOutput) AdminStateUp() pulumi.BoolOutput

The administrative state of the network. Acceptable values are "true" and "false". Changing this value updates the state of the existing network.

func (NetworkOutput) AllTags

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

func (NetworkOutput) AvailabilityZoneHints

func (o NetworkOutput) AvailabilityZoneHints() pulumi.StringArrayOutput

An availability zone is used to make network resources highly available. Used for resources with high availability so that they are scheduled on different availability zones. Changing this creates a new network.

func (NetworkOutput) Description

func (o NetworkOutput) Description() pulumi.StringPtrOutput

Human-readable description of the network. Changing this updates the name of the existing network.

func (NetworkOutput) DnsDomain

func (o NetworkOutput) DnsDomain() pulumi.StringOutput

The network DNS domain. Available, when Neutron DNS extension is enabled. The `dnsDomain` of a network in conjunction with the `dnsName` attribute of its ports will be published in an external DNS service when Neutron is configured to integrate with such a service.

func (NetworkOutput) ElementType

func (NetworkOutput) ElementType() reflect.Type

func (NetworkOutput) External

func (o NetworkOutput) External() pulumi.BoolOutput

Specifies whether the network resource has the external routing facility. Valid values are true and false. Defaults to false. Changing this updates the external attribute of the existing network.

func (NetworkOutput) Mtu

func (o NetworkOutput) Mtu() pulumi.IntOutput

The network MTU. Available for read-only, when Neutron `net-mtu` extension is enabled. Available for the modification, when Neutron `net-mtu-writable` extension is enabled.

func (NetworkOutput) Name

The name of the network. Changing this updates the name of the existing network.

func (NetworkOutput) PortSecurityEnabled

func (o NetworkOutput) PortSecurityEnabled() pulumi.BoolOutput

Whether to explicitly enable or disable port security on the network. Port Security is usually enabled by default, so omitting this argument will usually result in a value of "true". Setting this explicitly to `false` will disable port security. Valid values are `true` and `false`.

func (NetworkOutput) QosPolicyId

func (o NetworkOutput) QosPolicyId() pulumi.StringOutput

Reference to the associated QoS policy.

func (NetworkOutput) Region

func (o NetworkOutput) Region() pulumi.StringOutput

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

func (NetworkOutput) Segments

An array of one or more provider segment objects. Note: most Networking plug-ins (e.g. ML2 Plugin) and drivers do not support updating any provider related segments attributes. Check your plug-in whether it supports updating.

func (NetworkOutput) Shared

func (o NetworkOutput) Shared() pulumi.BoolOutput

Specifies whether the network resource can be accessed by any tenant or not. Changing this updates the sharing capabilities of the existing network.

func (NetworkOutput) Tags

A set of string tags for the network.

func (NetworkOutput) TenantId

func (o NetworkOutput) TenantId() pulumi.StringOutput

The owner of the network. Required if admin wants to create a network for another tenant. Changing this creates a new network.

func (NetworkOutput) ToNetworkOutput

func (o NetworkOutput) ToNetworkOutput() NetworkOutput

func (NetworkOutput) ToNetworkOutputWithContext

func (o NetworkOutput) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

func (NetworkOutput) TransparentVlan

func (o NetworkOutput) TransparentVlan() pulumi.BoolOutput

Specifies whether the network resource has the VLAN transparent attribute set. Valid values are true and false. Defaults to false. Changing this updates the `transparentVlan` attribute of the existing network.

func (NetworkOutput) ValueSpecs

func (o NetworkOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type NetworkSegment

type NetworkSegment struct {
	// The type of physical network.
	NetworkType *string `pulumi:"networkType"`
	// The physical network where this network is implemented.
	PhysicalNetwork *string `pulumi:"physicalNetwork"`
	// An isolated segment on the physical network.
	SegmentationId *int `pulumi:"segmentationId"`
}

type NetworkSegmentArgs

type NetworkSegmentArgs struct {
	// The type of physical network.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	// The physical network where this network is implemented.
	PhysicalNetwork pulumi.StringPtrInput `pulumi:"physicalNetwork"`
	// An isolated segment on the physical network.
	SegmentationId pulumi.IntPtrInput `pulumi:"segmentationId"`
}

func (NetworkSegmentArgs) ElementType

func (NetworkSegmentArgs) ElementType() reflect.Type

func (NetworkSegmentArgs) ToNetworkSegmentOutput

func (i NetworkSegmentArgs) ToNetworkSegmentOutput() NetworkSegmentOutput

func (NetworkSegmentArgs) ToNetworkSegmentOutputWithContext

func (i NetworkSegmentArgs) ToNetworkSegmentOutputWithContext(ctx context.Context) NetworkSegmentOutput

type NetworkSegmentArray

type NetworkSegmentArray []NetworkSegmentInput

func (NetworkSegmentArray) ElementType

func (NetworkSegmentArray) ElementType() reflect.Type

func (NetworkSegmentArray) ToNetworkSegmentArrayOutput

func (i NetworkSegmentArray) ToNetworkSegmentArrayOutput() NetworkSegmentArrayOutput

func (NetworkSegmentArray) ToNetworkSegmentArrayOutputWithContext

func (i NetworkSegmentArray) ToNetworkSegmentArrayOutputWithContext(ctx context.Context) NetworkSegmentArrayOutput

type NetworkSegmentArrayInput

type NetworkSegmentArrayInput interface {
	pulumi.Input

	ToNetworkSegmentArrayOutput() NetworkSegmentArrayOutput
	ToNetworkSegmentArrayOutputWithContext(context.Context) NetworkSegmentArrayOutput
}

NetworkSegmentArrayInput is an input type that accepts NetworkSegmentArray and NetworkSegmentArrayOutput values. You can construct a concrete instance of `NetworkSegmentArrayInput` via:

NetworkSegmentArray{ NetworkSegmentArgs{...} }

type NetworkSegmentArrayOutput

type NetworkSegmentArrayOutput struct{ *pulumi.OutputState }

func (NetworkSegmentArrayOutput) ElementType

func (NetworkSegmentArrayOutput) ElementType() reflect.Type

func (NetworkSegmentArrayOutput) Index

func (NetworkSegmentArrayOutput) ToNetworkSegmentArrayOutput

func (o NetworkSegmentArrayOutput) ToNetworkSegmentArrayOutput() NetworkSegmentArrayOutput

func (NetworkSegmentArrayOutput) ToNetworkSegmentArrayOutputWithContext

func (o NetworkSegmentArrayOutput) ToNetworkSegmentArrayOutputWithContext(ctx context.Context) NetworkSegmentArrayOutput

type NetworkSegmentInput

type NetworkSegmentInput interface {
	pulumi.Input

	ToNetworkSegmentOutput() NetworkSegmentOutput
	ToNetworkSegmentOutputWithContext(context.Context) NetworkSegmentOutput
}

NetworkSegmentInput is an input type that accepts NetworkSegmentArgs and NetworkSegmentOutput values. You can construct a concrete instance of `NetworkSegmentInput` via:

NetworkSegmentArgs{...}

type NetworkSegmentOutput

type NetworkSegmentOutput struct{ *pulumi.OutputState }

func (NetworkSegmentOutput) ElementType

func (NetworkSegmentOutput) ElementType() reflect.Type

func (NetworkSegmentOutput) NetworkType

The type of physical network.

func (NetworkSegmentOutput) PhysicalNetwork

func (o NetworkSegmentOutput) PhysicalNetwork() pulumi.StringPtrOutput

The physical network where this network is implemented.

func (NetworkSegmentOutput) SegmentationId

func (o NetworkSegmentOutput) SegmentationId() pulumi.IntPtrOutput

An isolated segment on the physical network.

func (NetworkSegmentOutput) ToNetworkSegmentOutput

func (o NetworkSegmentOutput) ToNetworkSegmentOutput() NetworkSegmentOutput

func (NetworkSegmentOutput) ToNetworkSegmentOutputWithContext

func (o NetworkSegmentOutput) ToNetworkSegmentOutputWithContext(ctx context.Context) NetworkSegmentOutput

type NetworkState

type NetworkState struct {
	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value updates the
	// state of the existing network.
	AdminStateUp pulumi.BoolPtrInput
	// The collection of tags assigned on the network, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new network.
	AvailabilityZoneHints pulumi.StringArrayInput
	// Human-readable description of the network. Changing this
	// updates the name of the existing network.
	Description pulumi.StringPtrInput
	// The network DNS domain. Available, when Neutron DNS
	// extension is enabled. The `dnsDomain` of a network in conjunction with the
	// `dnsName` attribute of its ports will be published in an external DNS
	// service when Neutron is configured to integrate with such a service.
	DnsDomain pulumi.StringPtrInput
	// Specifies whether the network resource has the
	// external routing facility. Valid values are true and false. Defaults to
	// false. Changing this updates the external attribute of the existing network.
	External pulumi.BoolPtrInput
	// The network MTU. Available for read-only, when Neutron
	// `net-mtu` extension is enabled. Available for the modification, when
	// Neutron `net-mtu-writable` extension is enabled.
	Mtu pulumi.IntPtrInput
	// The name of the network. Changing this updates the name of
	// the existing network.
	Name pulumi.StringPtrInput
	// Whether to explicitly enable or disable
	// port security on the network. Port Security is usually enabled by default, so
	// omitting this argument will usually result in a value of "true". Setting this
	// explicitly to `false` will disable port security. Valid values are `true` and
	// `false`.
	PortSecurityEnabled pulumi.BoolPtrInput
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron network. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// network.
	Region pulumi.StringPtrInput
	// An array of one or more provider segment objects.
	// Note: most Networking plug-ins (e.g. ML2 Plugin) and drivers do not support
	// updating any provider related segments attributes. Check your plug-in whether
	// it supports updating.
	Segments NetworkSegmentArrayInput
	// Specifies whether the network resource can be accessed
	// by any tenant or not. Changing this updates the sharing capabilities of the
	// existing network.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the network.
	Tags pulumi.StringArrayInput
	// The owner of the network. Required if admin wants to
	// create a network for another tenant. Changing this creates a new network.
	TenantId pulumi.StringPtrInput
	// Specifies whether the network resource has the
	// VLAN transparent attribute set. Valid values are true and false. Defaults to
	// false. Changing this updates the `transparentVlan` attribute of the existing
	// network.
	TransparentVlan pulumi.BoolPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (NetworkState) ElementType

func (NetworkState) ElementType() reflect.Type

type Port

type Port struct {
	pulumi.CustomResourceState

	// Administrative up/down status for the port
	// (must be `true` or `false` if provided). Changing this updates the
	// `adminStateUp` of an existing port.
	AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"`
	// The collection of Fixed IP addresses on the port in the
	// order returned by the Network v2 API.
	AllFixedIps pulumi.StringArrayOutput `pulumi:"allFixedIps"`
	// The collection of Security Group IDs on the port
	// which have been explicitly and implicitly added.
	AllSecurityGroupIds pulumi.StringArrayOutput `pulumi:"allSecurityGroupIds"`
	// The collection of tags assigned on the port, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// An IP/MAC Address pair of additional IP
	// addresses that can be active on this port. The structure is described
	// below.
	AllowedAddressPairs PortAllowedAddressPairArrayOutput `pulumi:"allowedAddressPairs"`
	// The port binding allows to specify binding information
	// for the port. The structure is described below.
	Binding PortBindingOutput `pulumi:"binding"`
	// Human-readable description of the port. Changing
	// this updates the `description` of an existing port.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the device attached to the port. Changing this
	// creates a new port.
	DeviceId pulumi.StringOutput `pulumi:"deviceId"`
	// The device owner of the port. Changing this creates
	// a new port.
	DeviceOwner pulumi.StringOutput `pulumi:"deviceOwner"`
	// The list of maps representing port DNS assignments.
	DnsAssignments pulumi.StringMapArrayOutput `pulumi:"dnsAssignments"`
	// The port DNS name. Available, when Neutron DNS extension
	// is enabled.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// An extra DHCP option that needs to be configured
	// on the port. The structure is described below. Can be specified multiple
	// times.
	ExtraDhcpOptions PortExtraDhcpOptionArrayOutput `pulumi:"extraDhcpOptions"`
	// An array of desired IPs for
	// this port. The structure is described below.
	FixedIps PortFixedIpArrayOutput `pulumi:"fixedIps"`
	// Specify a specific MAC address for the port. Changing
	// this creates a new port.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// A unique name for the port. Changing this
	// updates the `name` of an existing port.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the network to attach the port to. Changing
	// this creates a new port.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// Create a port with no fixed
	// IP address. This will also remove any fixed IPs previously set on a port. `true`
	// is the only valid value for this argument.
	NoFixedIp pulumi.BoolPtrOutput `pulumi:"noFixedIp"`
	// If set to
	// `true`, then no security groups are applied to the port. If set to `false` and
	// no `securityGroupIds` are specified, then the port will yield to the default
	// behavior of the Networking service, which is to usually apply the "default"
	// security group.
	NoSecurityGroups pulumi.BoolPtrOutput `pulumi:"noSecurityGroups"`
	// Whether to explicitly enable or disable
	// port security on the port. Port Security is usually enabled by default, so
	// omitting argument will usually result in a value of `true`. Setting this
	// explicitly to `false` will disable port security. In order to disable port
	// security, the port must not have any security groups. Valid values are `true`
	// and `false`.
	PortSecurityEnabled pulumi.BoolOutput `pulumi:"portSecurityEnabled"`
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringOutput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port.
	Region pulumi.StringOutput `pulumi:"region"`
	// A list
	// of security group IDs to apply to the port. The security groups must be
	// specified by ID and not name (as opposed to how they are configured with
	// the Compute Instance).
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// A set of string tags for the port.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the port. Required if admin wants
	// to create a port for another tenant. Changing this creates a new port.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

Manages a V2 port resource within OpenStack.

> **Note:** Ports do not get an IP if the network they are attached to does not have a subnet. If you create the subnet resource in the same run as the port, make sure to use `fixed_ip.subnet_id` or `dependsOn` to enforce the subnet resource creation before the port creation is triggered. More info here

## Example Usage

### Simple port

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewPort(ctx, "port_1", &networking.PortArgs{
			Name:         pulumi.String("port_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Port defining fixed_ip.subnet_id

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			Name:      pulumi.String("subnet_1"),
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewPort(ctx, "port_1", &networking.PortArgs{
			Name:         pulumi.String("port_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
			FixedIps: networking.PortFixedIpArray{
				&networking.PortFixedIpArgs{
					SubnetId: subnet1.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Port with physical binding information

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewPort(ctx, "port_1", &networking.PortArgs{
			Name:         pulumi.String("port_1"),
			NetworkId:    network1.ID(),
			DeviceId:     pulumi.String("cdf70fcf-c161-4f24-9c70-96b3f5a54b71"),
			DeviceOwner:  pulumi.String("baremetal:none"),
			AdminStateUp: pulumi.Bool(true),
			Binding: &networking.PortBindingArgs{
				HostId:   pulumi.String("b080b9cf-46e0-4ce8-ad47-0fd4accc872b"),
				VnicType: pulumi.String("baremetal"),
				Profile: pulumi.String(`{
  "local_link_information": [
    {
      "switch_info": "info1",
      "port_id": "Ethernet3/4",
      "switch_id": "12:34:56:78:9A:BC"
    },
    {
      "switch_info": "info2",
      "port_id": "Ethernet3/4",
      "switch_id": "12:34:56:78:9A:BD"
    }
  ],
  "vlan_type": "allowed"
}

`),

			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Notes

### Ports and Instances

There are some notes to consider when connecting Instances to networks using Ports. Please see the `compute.Instance` documentation for further documentation.

## Import

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

```sh $ pulumi import openstack:networking/port:Port port_1 eae26a3e-1c33-4cc1-9c31-0cd729c438a1 ```

func GetPort

func GetPort(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortState, opts ...pulumi.ResourceOption) (*Port, error)

GetPort gets an existing Port 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 NewPort

func NewPort(ctx *pulumi.Context,
	name string, args *PortArgs, opts ...pulumi.ResourceOption) (*Port, error)

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

func (*Port) ElementType

func (*Port) ElementType() reflect.Type

func (*Port) ToPortOutput

func (i *Port) ToPortOutput() PortOutput

func (*Port) ToPortOutputWithContext

func (i *Port) ToPortOutputWithContext(ctx context.Context) PortOutput

type PortAllowedAddressPair

type PortAllowedAddressPair struct {
	// The additional IP address.
	IpAddress string `pulumi:"ipAddress"`
	// The additional MAC address.
	MacAddress *string `pulumi:"macAddress"`
}

type PortAllowedAddressPairArgs

type PortAllowedAddressPairArgs struct {
	// The additional IP address.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The additional MAC address.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
}

func (PortAllowedAddressPairArgs) ElementType

func (PortAllowedAddressPairArgs) ElementType() reflect.Type

func (PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutput

func (i PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput

func (PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutputWithContext

func (i PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutputWithContext(ctx context.Context) PortAllowedAddressPairOutput

type PortAllowedAddressPairArray

type PortAllowedAddressPairArray []PortAllowedAddressPairInput

func (PortAllowedAddressPairArray) ElementType

func (PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutput

func (i PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput

func (PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutputWithContext

func (i PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairArrayInput

type PortAllowedAddressPairArrayInput interface {
	pulumi.Input

	ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput
	ToPortAllowedAddressPairArrayOutputWithContext(context.Context) PortAllowedAddressPairArrayOutput
}

PortAllowedAddressPairArrayInput is an input type that accepts PortAllowedAddressPairArray and PortAllowedAddressPairArrayOutput values. You can construct a concrete instance of `PortAllowedAddressPairArrayInput` via:

PortAllowedAddressPairArray{ PortAllowedAddressPairArgs{...} }

type PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairArrayOutput struct{ *pulumi.OutputState }

func (PortAllowedAddressPairArrayOutput) ElementType

func (PortAllowedAddressPairArrayOutput) Index

func (PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutput

func (o PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput

func (PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutputWithContext

func (o PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairInput

type PortAllowedAddressPairInput interface {
	pulumi.Input

	ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput
	ToPortAllowedAddressPairOutputWithContext(context.Context) PortAllowedAddressPairOutput
}

PortAllowedAddressPairInput is an input type that accepts PortAllowedAddressPairArgs and PortAllowedAddressPairOutput values. You can construct a concrete instance of `PortAllowedAddressPairInput` via:

PortAllowedAddressPairArgs{...}

type PortAllowedAddressPairOutput

type PortAllowedAddressPairOutput struct{ *pulumi.OutputState }

func (PortAllowedAddressPairOutput) ElementType

func (PortAllowedAddressPairOutput) IpAddress

The additional IP address.

func (PortAllowedAddressPairOutput) MacAddress

The additional MAC address.

func (PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutput

func (o PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput

func (PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutputWithContext

func (o PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutputWithContext(ctx context.Context) PortAllowedAddressPairOutput

type PortArgs

type PortArgs struct {
	// Administrative up/down status for the port
	// (must be `true` or `false` if provided). Changing this updates the
	// `adminStateUp` of an existing port.
	AdminStateUp pulumi.BoolPtrInput
	// An IP/MAC Address pair of additional IP
	// addresses that can be active on this port. The structure is described
	// below.
	AllowedAddressPairs PortAllowedAddressPairArrayInput
	// The port binding allows to specify binding information
	// for the port. The structure is described below.
	Binding PortBindingPtrInput
	// Human-readable description of the port. Changing
	// this updates the `description` of an existing port.
	Description pulumi.StringPtrInput
	// The ID of the device attached to the port. Changing this
	// creates a new port.
	DeviceId pulumi.StringPtrInput
	// The device owner of the port. Changing this creates
	// a new port.
	DeviceOwner pulumi.StringPtrInput
	// The port DNS name. Available, when Neutron DNS extension
	// is enabled.
	DnsName pulumi.StringPtrInput
	// An extra DHCP option that needs to be configured
	// on the port. The structure is described below. Can be specified multiple
	// times.
	ExtraDhcpOptions PortExtraDhcpOptionArrayInput
	// An array of desired IPs for
	// this port. The structure is described below.
	FixedIps PortFixedIpArrayInput
	// Specify a specific MAC address for the port. Changing
	// this creates a new port.
	MacAddress pulumi.StringPtrInput
	// A unique name for the port. Changing this
	// updates the `name` of an existing port.
	Name pulumi.StringPtrInput
	// The ID of the network to attach the port to. Changing
	// this creates a new port.
	NetworkId pulumi.StringInput
	// Create a port with no fixed
	// IP address. This will also remove any fixed IPs previously set on a port. `true`
	// is the only valid value for this argument.
	NoFixedIp pulumi.BoolPtrInput
	// If set to
	// `true`, then no security groups are applied to the port. If set to `false` and
	// no `securityGroupIds` are specified, then the port will yield to the default
	// behavior of the Networking service, which is to usually apply the "default"
	// security group.
	NoSecurityGroups pulumi.BoolPtrInput
	// Whether to explicitly enable or disable
	// port security on the port. Port Security is usually enabled by default, so
	// omitting argument will usually result in a value of `true`. Setting this
	// explicitly to `false` will disable port security. In order to disable port
	// security, the port must not have any security groups. Valid values are `true`
	// and `false`.
	PortSecurityEnabled pulumi.BoolPtrInput
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port.
	Region pulumi.StringPtrInput
	// A list
	// of security group IDs to apply to the port. The security groups must be
	// specified by ID and not name (as opposed to how they are configured with
	// the Compute Instance).
	SecurityGroupIds pulumi.StringArrayInput
	// A set of string tags for the port.
	Tags pulumi.StringArrayInput
	// The owner of the port. Required if admin wants
	// to create a port for another tenant. Changing this creates a new port.
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a Port resource.

func (PortArgs) ElementType

func (PortArgs) ElementType() reflect.Type

type PortArray

type PortArray []PortInput

func (PortArray) ElementType

func (PortArray) ElementType() reflect.Type

func (PortArray) ToPortArrayOutput

func (i PortArray) ToPortArrayOutput() PortArrayOutput

func (PortArray) ToPortArrayOutputWithContext

func (i PortArray) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortArrayInput

type PortArrayInput interface {
	pulumi.Input

	ToPortArrayOutput() PortArrayOutput
	ToPortArrayOutputWithContext(context.Context) PortArrayOutput
}

PortArrayInput is an input type that accepts PortArray and PortArrayOutput values. You can construct a concrete instance of `PortArrayInput` via:

PortArray{ PortArgs{...} }

type PortArrayOutput

type PortArrayOutput struct{ *pulumi.OutputState }

func (PortArrayOutput) ElementType

func (PortArrayOutput) ElementType() reflect.Type

func (PortArrayOutput) Index

func (PortArrayOutput) ToPortArrayOutput

func (o PortArrayOutput) ToPortArrayOutput() PortArrayOutput

func (PortArrayOutput) ToPortArrayOutputWithContext

func (o PortArrayOutput) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortBinding

type PortBinding struct {
	// The ID of the host to allocate port on.
	HostId *string `pulumi:"hostId"`
	// Custom data to be passed as `binding:profile`. Data
	// must be passed as JSON.
	Profile *string `pulumi:"profile"`
	// A map of JSON strings containing additional
	// details for this specific binding.
	VifDetails map[string]string `pulumi:"vifDetails"`
	// The VNIC type of the port binding.
	VifType *string `pulumi:"vifType"`
	// VNIC type for the port. Can either be `direct`,
	// `direct-physical`, `macvtap`, `normal`, `baremetal` or `virtio-forwarder`.
	// Default value is `normal`. It can be updated on unbound ports only.
	VnicType *string `pulumi:"vnicType"`
}

type PortBindingArgs

type PortBindingArgs struct {
	// The ID of the host to allocate port on.
	HostId pulumi.StringPtrInput `pulumi:"hostId"`
	// Custom data to be passed as `binding:profile`. Data
	// must be passed as JSON.
	Profile pulumi.StringPtrInput `pulumi:"profile"`
	// A map of JSON strings containing additional
	// details for this specific binding.
	VifDetails pulumi.StringMapInput `pulumi:"vifDetails"`
	// The VNIC type of the port binding.
	VifType pulumi.StringPtrInput `pulumi:"vifType"`
	// VNIC type for the port. Can either be `direct`,
	// `direct-physical`, `macvtap`, `normal`, `baremetal` or `virtio-forwarder`.
	// Default value is `normal`. It can be updated on unbound ports only.
	VnicType pulumi.StringPtrInput `pulumi:"vnicType"`
}

func (PortBindingArgs) ElementType

func (PortBindingArgs) ElementType() reflect.Type

func (PortBindingArgs) ToPortBindingOutput

func (i PortBindingArgs) ToPortBindingOutput() PortBindingOutput

func (PortBindingArgs) ToPortBindingOutputWithContext

func (i PortBindingArgs) ToPortBindingOutputWithContext(ctx context.Context) PortBindingOutput

func (PortBindingArgs) ToPortBindingPtrOutput

func (i PortBindingArgs) ToPortBindingPtrOutput() PortBindingPtrOutput

func (PortBindingArgs) ToPortBindingPtrOutputWithContext

func (i PortBindingArgs) ToPortBindingPtrOutputWithContext(ctx context.Context) PortBindingPtrOutput

type PortBindingInput

type PortBindingInput interface {
	pulumi.Input

	ToPortBindingOutput() PortBindingOutput
	ToPortBindingOutputWithContext(context.Context) PortBindingOutput
}

PortBindingInput is an input type that accepts PortBindingArgs and PortBindingOutput values. You can construct a concrete instance of `PortBindingInput` via:

PortBindingArgs{...}

type PortBindingOutput

type PortBindingOutput struct{ *pulumi.OutputState }

func (PortBindingOutput) ElementType

func (PortBindingOutput) ElementType() reflect.Type

func (PortBindingOutput) HostId

The ID of the host to allocate port on.

func (PortBindingOutput) Profile

Custom data to be passed as `binding:profile`. Data must be passed as JSON.

func (PortBindingOutput) ToPortBindingOutput

func (o PortBindingOutput) ToPortBindingOutput() PortBindingOutput

func (PortBindingOutput) ToPortBindingOutputWithContext

func (o PortBindingOutput) ToPortBindingOutputWithContext(ctx context.Context) PortBindingOutput

func (PortBindingOutput) ToPortBindingPtrOutput

func (o PortBindingOutput) ToPortBindingPtrOutput() PortBindingPtrOutput

func (PortBindingOutput) ToPortBindingPtrOutputWithContext

func (o PortBindingOutput) ToPortBindingPtrOutputWithContext(ctx context.Context) PortBindingPtrOutput

func (PortBindingOutput) VifDetails

func (o PortBindingOutput) VifDetails() pulumi.StringMapOutput

A map of JSON strings containing additional details for this specific binding.

func (PortBindingOutput) VifType

The VNIC type of the port binding.

func (PortBindingOutput) VnicType

VNIC type for the port. Can either be `direct`, `direct-physical`, `macvtap`, `normal`, `baremetal` or `virtio-forwarder`. Default value is `normal`. It can be updated on unbound ports only.

type PortBindingPtrInput

type PortBindingPtrInput interface {
	pulumi.Input

	ToPortBindingPtrOutput() PortBindingPtrOutput
	ToPortBindingPtrOutputWithContext(context.Context) PortBindingPtrOutput
}

PortBindingPtrInput is an input type that accepts PortBindingArgs, PortBindingPtr and PortBindingPtrOutput values. You can construct a concrete instance of `PortBindingPtrInput` via:

        PortBindingArgs{...}

or:

        nil

func PortBindingPtr

func PortBindingPtr(v *PortBindingArgs) PortBindingPtrInput

type PortBindingPtrOutput

type PortBindingPtrOutput struct{ *pulumi.OutputState }

func (PortBindingPtrOutput) Elem

func (PortBindingPtrOutput) ElementType

func (PortBindingPtrOutput) ElementType() reflect.Type

func (PortBindingPtrOutput) HostId

The ID of the host to allocate port on.

func (PortBindingPtrOutput) Profile

Custom data to be passed as `binding:profile`. Data must be passed as JSON.

func (PortBindingPtrOutput) ToPortBindingPtrOutput

func (o PortBindingPtrOutput) ToPortBindingPtrOutput() PortBindingPtrOutput

func (PortBindingPtrOutput) ToPortBindingPtrOutputWithContext

func (o PortBindingPtrOutput) ToPortBindingPtrOutputWithContext(ctx context.Context) PortBindingPtrOutput

func (PortBindingPtrOutput) VifDetails

A map of JSON strings containing additional details for this specific binding.

func (PortBindingPtrOutput) VifType

The VNIC type of the port binding.

func (PortBindingPtrOutput) VnicType

VNIC type for the port. Can either be `direct`, `direct-physical`, `macvtap`, `normal`, `baremetal` or `virtio-forwarder`. Default value is `normal`. It can be updated on unbound ports only.

type PortExtraDhcpOption

type PortExtraDhcpOption struct {
	// IP protocol version. Defaults to 4.
	IpVersion *int `pulumi:"ipVersion"`
	// Name of the DHCP option.
	Name string `pulumi:"name"`
	// Value of the DHCP option.
	Value string `pulumi:"value"`
}

type PortExtraDhcpOptionArgs

type PortExtraDhcpOptionArgs struct {
	// IP protocol version. Defaults to 4.
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// Name of the DHCP option.
	Name pulumi.StringInput `pulumi:"name"`
	// Value of the DHCP option.
	Value pulumi.StringInput `pulumi:"value"`
}

func (PortExtraDhcpOptionArgs) ElementType

func (PortExtraDhcpOptionArgs) ElementType() reflect.Type

func (PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutput

func (i PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutputWithContext

func (i PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutputWithContext(ctx context.Context) PortExtraDhcpOptionOutput

type PortExtraDhcpOptionArray

type PortExtraDhcpOptionArray []PortExtraDhcpOptionInput

func (PortExtraDhcpOptionArray) ElementType

func (PortExtraDhcpOptionArray) ElementType() reflect.Type

func (PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutput

func (i PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput

func (PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutputWithContext

func (i PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionArrayInput

type PortExtraDhcpOptionArrayInput interface {
	pulumi.Input

	ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput
	ToPortExtraDhcpOptionArrayOutputWithContext(context.Context) PortExtraDhcpOptionArrayOutput
}

PortExtraDhcpOptionArrayInput is an input type that accepts PortExtraDhcpOptionArray and PortExtraDhcpOptionArrayOutput values. You can construct a concrete instance of `PortExtraDhcpOptionArrayInput` via:

PortExtraDhcpOptionArray{ PortExtraDhcpOptionArgs{...} }

type PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionArrayOutput struct{ *pulumi.OutputState }

func (PortExtraDhcpOptionArrayOutput) ElementType

func (PortExtraDhcpOptionArrayOutput) Index

func (PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutput

func (o PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput

func (PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutputWithContext

func (o PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionInput

type PortExtraDhcpOptionInput interface {
	pulumi.Input

	ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput
	ToPortExtraDhcpOptionOutputWithContext(context.Context) PortExtraDhcpOptionOutput
}

PortExtraDhcpOptionInput is an input type that accepts PortExtraDhcpOptionArgs and PortExtraDhcpOptionOutput values. You can construct a concrete instance of `PortExtraDhcpOptionInput` via:

PortExtraDhcpOptionArgs{...}

type PortExtraDhcpOptionOutput

type PortExtraDhcpOptionOutput struct{ *pulumi.OutputState }

func (PortExtraDhcpOptionOutput) ElementType

func (PortExtraDhcpOptionOutput) ElementType() reflect.Type

func (PortExtraDhcpOptionOutput) IpVersion

IP protocol version. Defaults to 4.

func (PortExtraDhcpOptionOutput) Name

Name of the DHCP option.

func (PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutput

func (o PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutputWithContext

func (o PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutputWithContext(ctx context.Context) PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionOutput) Value

Value of the DHCP option.

type PortFixedIp

type PortFixedIp struct {
	// IP address desired in the subnet for this port. If
	// you don't specify `ipAddress`, an available IP address from the specified
	// subnet will be allocated to this port. This field will not be populated if it
	// is left blank or omitted. To retrieve the assigned IP address, use the
	// `allFixedIps` attribute.
	IpAddress *string `pulumi:"ipAddress"`
	// Subnet in which to allocate IP address for
	// this port.
	SubnetId *string `pulumi:"subnetId"`
}

type PortFixedIpArgs

type PortFixedIpArgs struct {
	// IP address desired in the subnet for this port. If
	// you don't specify `ipAddress`, an available IP address from the specified
	// subnet will be allocated to this port. This field will not be populated if it
	// is left blank or omitted. To retrieve the assigned IP address, use the
	// `allFixedIps` attribute.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// Subnet in which to allocate IP address for
	// this port.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
}

func (PortFixedIpArgs) ElementType

func (PortFixedIpArgs) ElementType() reflect.Type

func (PortFixedIpArgs) ToPortFixedIpOutput

func (i PortFixedIpArgs) ToPortFixedIpOutput() PortFixedIpOutput

func (PortFixedIpArgs) ToPortFixedIpOutputWithContext

func (i PortFixedIpArgs) ToPortFixedIpOutputWithContext(ctx context.Context) PortFixedIpOutput

type PortFixedIpArray

type PortFixedIpArray []PortFixedIpInput

func (PortFixedIpArray) ElementType

func (PortFixedIpArray) ElementType() reflect.Type

func (PortFixedIpArray) ToPortFixedIpArrayOutput

func (i PortFixedIpArray) ToPortFixedIpArrayOutput() PortFixedIpArrayOutput

func (PortFixedIpArray) ToPortFixedIpArrayOutputWithContext

func (i PortFixedIpArray) ToPortFixedIpArrayOutputWithContext(ctx context.Context) PortFixedIpArrayOutput

type PortFixedIpArrayInput

type PortFixedIpArrayInput interface {
	pulumi.Input

	ToPortFixedIpArrayOutput() PortFixedIpArrayOutput
	ToPortFixedIpArrayOutputWithContext(context.Context) PortFixedIpArrayOutput
}

PortFixedIpArrayInput is an input type that accepts PortFixedIpArray and PortFixedIpArrayOutput values. You can construct a concrete instance of `PortFixedIpArrayInput` via:

PortFixedIpArray{ PortFixedIpArgs{...} }

type PortFixedIpArrayOutput

type PortFixedIpArrayOutput struct{ *pulumi.OutputState }

func (PortFixedIpArrayOutput) ElementType

func (PortFixedIpArrayOutput) ElementType() reflect.Type

func (PortFixedIpArrayOutput) Index

func (PortFixedIpArrayOutput) ToPortFixedIpArrayOutput

func (o PortFixedIpArrayOutput) ToPortFixedIpArrayOutput() PortFixedIpArrayOutput

func (PortFixedIpArrayOutput) ToPortFixedIpArrayOutputWithContext

func (o PortFixedIpArrayOutput) ToPortFixedIpArrayOutputWithContext(ctx context.Context) PortFixedIpArrayOutput

type PortFixedIpInput

type PortFixedIpInput interface {
	pulumi.Input

	ToPortFixedIpOutput() PortFixedIpOutput
	ToPortFixedIpOutputWithContext(context.Context) PortFixedIpOutput
}

PortFixedIpInput is an input type that accepts PortFixedIpArgs and PortFixedIpOutput values. You can construct a concrete instance of `PortFixedIpInput` via:

PortFixedIpArgs{...}

type PortFixedIpOutput

type PortFixedIpOutput struct{ *pulumi.OutputState }

func (PortFixedIpOutput) ElementType

func (PortFixedIpOutput) ElementType() reflect.Type

func (PortFixedIpOutput) IpAddress

IP address desired in the subnet for this port. If you don't specify `ipAddress`, an available IP address from the specified subnet will be allocated to this port. This field will not be populated if it is left blank or omitted. To retrieve the assigned IP address, use the `allFixedIps` attribute.

func (PortFixedIpOutput) SubnetId

Subnet in which to allocate IP address for this port.

func (PortFixedIpOutput) ToPortFixedIpOutput

func (o PortFixedIpOutput) ToPortFixedIpOutput() PortFixedIpOutput

func (PortFixedIpOutput) ToPortFixedIpOutputWithContext

func (o PortFixedIpOutput) ToPortFixedIpOutputWithContext(ctx context.Context) PortFixedIpOutput

type PortForwardingV2

type PortForwardingV2 struct {
	pulumi.CustomResourceState

	// A text describing the port forwarding. Changing this
	// updates the `description` of an existing port forwarding.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The TCP/UDP/other protocol port number of the port forwarding. Changing this
	// updates the `externalPort` of an existing port forwarding.
	ExternalPort pulumi.IntOutput `pulumi:"externalPort"`
	// The ID of the Neutron floating IP address. Changing this creates a new port forwarding.
	FloatingipId pulumi.StringOutput `pulumi:"floatingipId"`
	// The fixed IPv4 address of the Neutron port associated with the port forwarding.
	// Changing this updates the `internalIpAddress` of an existing port forwarding.
	InternalIpAddress pulumi.StringOutput `pulumi:"internalIpAddress"`
	// The TCP/UDP/other protocol port number of the Neutron port fixed IP address associated to the
	// port forwarding. Changing this updates the `internalPort` of an existing port forwarding.
	InternalPort pulumi.IntOutput `pulumi:"internalPort"`
	// The ID of the Neutron port associated with the port forwarding. Changing
	// this updates the `internalPortId` of an existing port forwarding.
	InternalPortId pulumi.StringOutput `pulumi:"internalPortId"`
	// The IP protocol used in the port forwarding. Changing this updates the `protocol`
	// of an existing port forwarding.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port forwarding. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port forwarding.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 portforwarding resource within OpenStack.

## Example Usage

### Simple portforwarding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewPortForwardingV2(ctx, "pf_1", &networking.PortForwardingV2Args{
			FloatingipId:   pulumi.String("7a52eb59-7d47-415d-a884-046666a6fbae"),
			ExternalPort:   pulumi.Int(7233),
			InternalPort:   pulumi.Int(25),
			InternalPortId: pulumi.String("b930d7f6-ceb7-40a0-8b81-a425dd994ccf"),
			Protocol:       pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetPortForwardingV2

func GetPortForwardingV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortForwardingV2State, opts ...pulumi.ResourceOption) (*PortForwardingV2, error)

GetPortForwardingV2 gets an existing PortForwardingV2 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 NewPortForwardingV2

func NewPortForwardingV2(ctx *pulumi.Context,
	name string, args *PortForwardingV2Args, opts ...pulumi.ResourceOption) (*PortForwardingV2, error)

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

func (*PortForwardingV2) ElementType

func (*PortForwardingV2) ElementType() reflect.Type

func (*PortForwardingV2) ToPortForwardingV2Output

func (i *PortForwardingV2) ToPortForwardingV2Output() PortForwardingV2Output

func (*PortForwardingV2) ToPortForwardingV2OutputWithContext

func (i *PortForwardingV2) ToPortForwardingV2OutputWithContext(ctx context.Context) PortForwardingV2Output

type PortForwardingV2Args

type PortForwardingV2Args struct {
	// A text describing the port forwarding. Changing this
	// updates the `description` of an existing port forwarding.
	Description pulumi.StringPtrInput
	// The TCP/UDP/other protocol port number of the port forwarding. Changing this
	// updates the `externalPort` of an existing port forwarding.
	ExternalPort pulumi.IntInput
	// The ID of the Neutron floating IP address. Changing this creates a new port forwarding.
	FloatingipId pulumi.StringInput
	// The fixed IPv4 address of the Neutron port associated with the port forwarding.
	// Changing this updates the `internalIpAddress` of an existing port forwarding.
	InternalIpAddress pulumi.StringInput
	// The TCP/UDP/other protocol port number of the Neutron port fixed IP address associated to the
	// port forwarding. Changing this updates the `internalPort` of an existing port forwarding.
	InternalPort pulumi.IntInput
	// The ID of the Neutron port associated with the port forwarding. Changing
	// this updates the `internalPortId` of an existing port forwarding.
	InternalPortId pulumi.StringInput
	// The IP protocol used in the port forwarding. Changing this updates the `protocol`
	// of an existing port forwarding.
	Protocol pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port forwarding. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port forwarding.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a PortForwardingV2 resource.

func (PortForwardingV2Args) ElementType

func (PortForwardingV2Args) ElementType() reflect.Type

type PortForwardingV2Array

type PortForwardingV2Array []PortForwardingV2Input

func (PortForwardingV2Array) ElementType

func (PortForwardingV2Array) ElementType() reflect.Type

func (PortForwardingV2Array) ToPortForwardingV2ArrayOutput

func (i PortForwardingV2Array) ToPortForwardingV2ArrayOutput() PortForwardingV2ArrayOutput

func (PortForwardingV2Array) ToPortForwardingV2ArrayOutputWithContext

func (i PortForwardingV2Array) ToPortForwardingV2ArrayOutputWithContext(ctx context.Context) PortForwardingV2ArrayOutput

type PortForwardingV2ArrayInput

type PortForwardingV2ArrayInput interface {
	pulumi.Input

	ToPortForwardingV2ArrayOutput() PortForwardingV2ArrayOutput
	ToPortForwardingV2ArrayOutputWithContext(context.Context) PortForwardingV2ArrayOutput
}

PortForwardingV2ArrayInput is an input type that accepts PortForwardingV2Array and PortForwardingV2ArrayOutput values. You can construct a concrete instance of `PortForwardingV2ArrayInput` via:

PortForwardingV2Array{ PortForwardingV2Args{...} }

type PortForwardingV2ArrayOutput

type PortForwardingV2ArrayOutput struct{ *pulumi.OutputState }

func (PortForwardingV2ArrayOutput) ElementType

func (PortForwardingV2ArrayOutput) Index

func (PortForwardingV2ArrayOutput) ToPortForwardingV2ArrayOutput

func (o PortForwardingV2ArrayOutput) ToPortForwardingV2ArrayOutput() PortForwardingV2ArrayOutput

func (PortForwardingV2ArrayOutput) ToPortForwardingV2ArrayOutputWithContext

func (o PortForwardingV2ArrayOutput) ToPortForwardingV2ArrayOutputWithContext(ctx context.Context) PortForwardingV2ArrayOutput

type PortForwardingV2Input

type PortForwardingV2Input interface {
	pulumi.Input

	ToPortForwardingV2Output() PortForwardingV2Output
	ToPortForwardingV2OutputWithContext(ctx context.Context) PortForwardingV2Output
}

type PortForwardingV2Map

type PortForwardingV2Map map[string]PortForwardingV2Input

func (PortForwardingV2Map) ElementType

func (PortForwardingV2Map) ElementType() reflect.Type

func (PortForwardingV2Map) ToPortForwardingV2MapOutput

func (i PortForwardingV2Map) ToPortForwardingV2MapOutput() PortForwardingV2MapOutput

func (PortForwardingV2Map) ToPortForwardingV2MapOutputWithContext

func (i PortForwardingV2Map) ToPortForwardingV2MapOutputWithContext(ctx context.Context) PortForwardingV2MapOutput

type PortForwardingV2MapInput

type PortForwardingV2MapInput interface {
	pulumi.Input

	ToPortForwardingV2MapOutput() PortForwardingV2MapOutput
	ToPortForwardingV2MapOutputWithContext(context.Context) PortForwardingV2MapOutput
}

PortForwardingV2MapInput is an input type that accepts PortForwardingV2Map and PortForwardingV2MapOutput values. You can construct a concrete instance of `PortForwardingV2MapInput` via:

PortForwardingV2Map{ "key": PortForwardingV2Args{...} }

type PortForwardingV2MapOutput

type PortForwardingV2MapOutput struct{ *pulumi.OutputState }

func (PortForwardingV2MapOutput) ElementType

func (PortForwardingV2MapOutput) ElementType() reflect.Type

func (PortForwardingV2MapOutput) MapIndex

func (PortForwardingV2MapOutput) ToPortForwardingV2MapOutput

func (o PortForwardingV2MapOutput) ToPortForwardingV2MapOutput() PortForwardingV2MapOutput

func (PortForwardingV2MapOutput) ToPortForwardingV2MapOutputWithContext

func (o PortForwardingV2MapOutput) ToPortForwardingV2MapOutputWithContext(ctx context.Context) PortForwardingV2MapOutput

type PortForwardingV2Output

type PortForwardingV2Output struct{ *pulumi.OutputState }

func (PortForwardingV2Output) Description

A text describing the port forwarding. Changing this updates the `description` of an existing port forwarding.

func (PortForwardingV2Output) ElementType

func (PortForwardingV2Output) ElementType() reflect.Type

func (PortForwardingV2Output) ExternalPort

func (o PortForwardingV2Output) ExternalPort() pulumi.IntOutput

The TCP/UDP/other protocol port number of the port forwarding. Changing this updates the `externalPort` of an existing port forwarding.

func (PortForwardingV2Output) FloatingipId

func (o PortForwardingV2Output) FloatingipId() pulumi.StringOutput

The ID of the Neutron floating IP address. Changing this creates a new port forwarding.

func (PortForwardingV2Output) InternalIpAddress

func (o PortForwardingV2Output) InternalIpAddress() pulumi.StringOutput

The fixed IPv4 address of the Neutron port associated with the port forwarding. Changing this updates the `internalIpAddress` of an existing port forwarding.

func (PortForwardingV2Output) InternalPort

func (o PortForwardingV2Output) InternalPort() pulumi.IntOutput

The TCP/UDP/other protocol port number of the Neutron port fixed IP address associated to the port forwarding. Changing this updates the `internalPort` of an existing port forwarding.

func (PortForwardingV2Output) InternalPortId

func (o PortForwardingV2Output) InternalPortId() pulumi.StringOutput

The ID of the Neutron port associated with the port forwarding. Changing this updates the `internalPortId` of an existing port forwarding.

func (PortForwardingV2Output) Protocol

The IP protocol used in the port forwarding. Changing this updates the `protocol` of an existing port forwarding.

func (PortForwardingV2Output) Region

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

func (PortForwardingV2Output) ToPortForwardingV2Output

func (o PortForwardingV2Output) ToPortForwardingV2Output() PortForwardingV2Output

func (PortForwardingV2Output) ToPortForwardingV2OutputWithContext

func (o PortForwardingV2Output) ToPortForwardingV2OutputWithContext(ctx context.Context) PortForwardingV2Output

type PortForwardingV2State

type PortForwardingV2State struct {
	// A text describing the port forwarding. Changing this
	// updates the `description` of an existing port forwarding.
	Description pulumi.StringPtrInput
	// The TCP/UDP/other protocol port number of the port forwarding. Changing this
	// updates the `externalPort` of an existing port forwarding.
	ExternalPort pulumi.IntPtrInput
	// The ID of the Neutron floating IP address. Changing this creates a new port forwarding.
	FloatingipId pulumi.StringPtrInput
	// The fixed IPv4 address of the Neutron port associated with the port forwarding.
	// Changing this updates the `internalIpAddress` of an existing port forwarding.
	InternalIpAddress pulumi.StringPtrInput
	// The TCP/UDP/other protocol port number of the Neutron port fixed IP address associated to the
	// port forwarding. Changing this updates the `internalPort` of an existing port forwarding.
	InternalPort pulumi.IntPtrInput
	// The ID of the Neutron port associated with the port forwarding. Changing
	// this updates the `internalPortId` of an existing port forwarding.
	InternalPortId pulumi.StringPtrInput
	// The IP protocol used in the port forwarding. Changing this updates the `protocol`
	// of an existing port forwarding.
	Protocol pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port forwarding. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port forwarding.
	Region pulumi.StringPtrInput
}

func (PortForwardingV2State) ElementType

func (PortForwardingV2State) ElementType() reflect.Type

type PortInput

type PortInput interface {
	pulumi.Input

	ToPortOutput() PortOutput
	ToPortOutputWithContext(ctx context.Context) PortOutput
}

type PortMap

type PortMap map[string]PortInput

func (PortMap) ElementType

func (PortMap) ElementType() reflect.Type

func (PortMap) ToPortMapOutput

func (i PortMap) ToPortMapOutput() PortMapOutput

func (PortMap) ToPortMapOutputWithContext

func (i PortMap) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortMapInput

type PortMapInput interface {
	pulumi.Input

	ToPortMapOutput() PortMapOutput
	ToPortMapOutputWithContext(context.Context) PortMapOutput
}

PortMapInput is an input type that accepts PortMap and PortMapOutput values. You can construct a concrete instance of `PortMapInput` via:

PortMap{ "key": PortArgs{...} }

type PortMapOutput

type PortMapOutput struct{ *pulumi.OutputState }

func (PortMapOutput) ElementType

func (PortMapOutput) ElementType() reflect.Type

func (PortMapOutput) MapIndex

func (PortMapOutput) ToPortMapOutput

func (o PortMapOutput) ToPortMapOutput() PortMapOutput

func (PortMapOutput) ToPortMapOutputWithContext

func (o PortMapOutput) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortOutput

type PortOutput struct{ *pulumi.OutputState }

func (PortOutput) AdminStateUp

func (o PortOutput) AdminStateUp() pulumi.BoolOutput

Administrative up/down status for the port (must be `true` or `false` if provided). Changing this updates the `adminStateUp` of an existing port.

func (PortOutput) AllFixedIps

func (o PortOutput) AllFixedIps() pulumi.StringArrayOutput

The collection of Fixed IP addresses on the port in the order returned by the Network v2 API.

func (PortOutput) AllSecurityGroupIds

func (o PortOutput) AllSecurityGroupIds() pulumi.StringArrayOutput

The collection of Security Group IDs on the port which have been explicitly and implicitly added.

func (PortOutput) AllTags

func (o PortOutput) AllTags() pulumi.StringArrayOutput

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

func (PortOutput) AllowedAddressPairs

func (o PortOutput) AllowedAddressPairs() PortAllowedAddressPairArrayOutput

An IP/MAC Address pair of additional IP addresses that can be active on this port. The structure is described below.

func (PortOutput) Binding

func (o PortOutput) Binding() PortBindingOutput

The port binding allows to specify binding information for the port. The structure is described below.

func (PortOutput) Description

func (o PortOutput) Description() pulumi.StringPtrOutput

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

func (PortOutput) DeviceId

func (o PortOutput) DeviceId() pulumi.StringOutput

The ID of the device attached to the port. Changing this creates a new port.

func (PortOutput) DeviceOwner

func (o PortOutput) DeviceOwner() pulumi.StringOutput

The device owner of the port. Changing this creates a new port.

func (PortOutput) DnsAssignments

func (o PortOutput) DnsAssignments() pulumi.StringMapArrayOutput

The list of maps representing port DNS assignments.

func (PortOutput) DnsName

func (o PortOutput) DnsName() pulumi.StringOutput

The port DNS name. Available, when Neutron DNS extension is enabled.

func (PortOutput) ElementType

func (PortOutput) ElementType() reflect.Type

func (PortOutput) ExtraDhcpOptions

func (o PortOutput) ExtraDhcpOptions() PortExtraDhcpOptionArrayOutput

An extra DHCP option that needs to be configured on the port. The structure is described below. Can be specified multiple times.

func (PortOutput) FixedIps

func (o PortOutput) FixedIps() PortFixedIpArrayOutput

An array of desired IPs for this port. The structure is described below.

func (PortOutput) MacAddress

func (o PortOutput) MacAddress() pulumi.StringOutput

Specify a specific MAC address for the port. Changing this creates a new port.

func (PortOutput) Name

func (o PortOutput) Name() pulumi.StringOutput

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

func (PortOutput) NetworkId

func (o PortOutput) NetworkId() pulumi.StringOutput

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

func (PortOutput) NoFixedIp

func (o PortOutput) NoFixedIp() pulumi.BoolPtrOutput

Create a port with no fixed IP address. This will also remove any fixed IPs previously set on a port. `true` is the only valid value for this argument.

func (PortOutput) NoSecurityGroups

func (o PortOutput) NoSecurityGroups() pulumi.BoolPtrOutput

If set to `true`, then no security groups are applied to the port. If set to `false` and no `securityGroupIds` are specified, then the port will yield to the default behavior of the Networking service, which is to usually apply the "default" security group.

func (PortOutput) PortSecurityEnabled

func (o PortOutput) PortSecurityEnabled() pulumi.BoolOutput

Whether to explicitly enable or disable port security on the port. Port Security is usually enabled by default, so omitting argument will usually result in a value of `true`. Setting this explicitly to `false` will disable port security. In order to disable port security, the port must not have any security groups. Valid values are `true` and `false`.

func (PortOutput) QosPolicyId

func (o PortOutput) QosPolicyId() pulumi.StringOutput

Reference to the associated QoS policy.

func (PortOutput) Region

func (o PortOutput) Region() pulumi.StringOutput

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

func (PortOutput) SecurityGroupIds

func (o PortOutput) SecurityGroupIds() pulumi.StringArrayOutput

A list of security group IDs to apply to the port. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).

func (PortOutput) Tags

A set of string tags for the port.

func (PortOutput) TenantId

func (o PortOutput) TenantId() pulumi.StringOutput

The owner of the port. Required if admin wants to create a port for another tenant. Changing this creates a new port.

func (PortOutput) ToPortOutput

func (o PortOutput) ToPortOutput() PortOutput

func (PortOutput) ToPortOutputWithContext

func (o PortOutput) ToPortOutputWithContext(ctx context.Context) PortOutput

func (PortOutput) ValueSpecs

func (o PortOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type PortSecGroupAssociate

type PortSecGroupAssociate struct {
	pulumi.CustomResourceState

	// The collection of Security Group IDs on the port
	// which have been explicitly and implicitly added.
	AllSecurityGroupIds pulumi.StringArrayOutput `pulumi:"allSecurityGroupIds"`
	// Whether to replace or append the list of security
	// groups, specified in the `securityGroupIds`. Defaults to `false`.
	Enforce pulumi.BoolPtrOutput `pulumi:"enforce"`
	// An UUID of the port to apply security groups to.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to manage a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// A list of security group IDs to apply to
	// the port. The security groups must be specified by ID and not name (as
	// opposed to how they are configured with the Compute Instance).
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
}

## Example Usage

### Append a security group to an existing port

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		systemPort, err := networking.LookupPort(ctx, &networking.LookupPortArgs{
			FixedIp: pulumi.StringRef("10.0.0.10"),
		}, nil)
		if err != nil {
			return err
		}
		secgroup, err := networking.LookupSecGroup(ctx, &networking.LookupSecGroupArgs{
			Name: pulumi.StringRef("secgroup"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = networking.NewPortSecGroupAssociate(ctx, "port_1", &networking.PortSecGroupAssociateArgs{
			PortId: pulumi.String(systemPort.Id),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.String(secgroup.Id),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Enforce a security group to an existing port

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		systemPort, err := networking.LookupPort(ctx, &networking.LookupPortArgs{
			FixedIp: pulumi.StringRef("10.0.0.10"),
		}, nil)
		if err != nil {
			return err
		}
		secgroup, err := networking.LookupSecGroup(ctx, &networking.LookupSecGroupArgs{
			Name: pulumi.StringRef("secgroup"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = networking.NewPortSecGroupAssociate(ctx, "port_1", &networking.PortSecGroupAssociateArgs{
			PortId:  pulumi.String(systemPort.Id),
			Enforce: pulumi.Bool(true),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.String(secgroup.Id),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Remove all security groups from an existing port

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		systemPort, err := networking.LookupPort(ctx, &networking.LookupPortArgs{
			FixedIp: pulumi.StringRef("10.0.0.10"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = networking.NewPortSecGroupAssociate(ctx, "port_1", &networking.PortSecGroupAssociateArgs{
			PortId:           pulumi.String(systemPort.Id),
			Enforce:          pulumi.Bool(true),
			SecurityGroupIds: pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Port security group association can be imported using the `id` of the port, e.g.

```sh $ pulumi import openstack:networking/portSecGroupAssociate:PortSecGroupAssociate port_1 eae26a3e-1c33-4cc1-9c31-0cd729c438a1 ```

func GetPortSecGroupAssociate

func GetPortSecGroupAssociate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortSecGroupAssociateState, opts ...pulumi.ResourceOption) (*PortSecGroupAssociate, error)

GetPortSecGroupAssociate gets an existing PortSecGroupAssociate 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 NewPortSecGroupAssociate

func NewPortSecGroupAssociate(ctx *pulumi.Context,
	name string, args *PortSecGroupAssociateArgs, opts ...pulumi.ResourceOption) (*PortSecGroupAssociate, error)

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

func (*PortSecGroupAssociate) ElementType

func (*PortSecGroupAssociate) ElementType() reflect.Type

func (*PortSecGroupAssociate) ToPortSecGroupAssociateOutput

func (i *PortSecGroupAssociate) ToPortSecGroupAssociateOutput() PortSecGroupAssociateOutput

func (*PortSecGroupAssociate) ToPortSecGroupAssociateOutputWithContext

func (i *PortSecGroupAssociate) ToPortSecGroupAssociateOutputWithContext(ctx context.Context) PortSecGroupAssociateOutput

type PortSecGroupAssociateArgs

type PortSecGroupAssociateArgs struct {
	// Whether to replace or append the list of security
	// groups, specified in the `securityGroupIds`. Defaults to `false`.
	Enforce pulumi.BoolPtrInput
	// An UUID of the port to apply security groups to.
	PortId pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to manage a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// resource.
	Region pulumi.StringPtrInput
	// A list of security group IDs to apply to
	// the port. The security groups must be specified by ID and not name (as
	// opposed to how they are configured with the Compute Instance).
	SecurityGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a PortSecGroupAssociate resource.

func (PortSecGroupAssociateArgs) ElementType

func (PortSecGroupAssociateArgs) ElementType() reflect.Type

type PortSecGroupAssociateArray

type PortSecGroupAssociateArray []PortSecGroupAssociateInput

func (PortSecGroupAssociateArray) ElementType

func (PortSecGroupAssociateArray) ElementType() reflect.Type

func (PortSecGroupAssociateArray) ToPortSecGroupAssociateArrayOutput

func (i PortSecGroupAssociateArray) ToPortSecGroupAssociateArrayOutput() PortSecGroupAssociateArrayOutput

func (PortSecGroupAssociateArray) ToPortSecGroupAssociateArrayOutputWithContext

func (i PortSecGroupAssociateArray) ToPortSecGroupAssociateArrayOutputWithContext(ctx context.Context) PortSecGroupAssociateArrayOutput

type PortSecGroupAssociateArrayInput

type PortSecGroupAssociateArrayInput interface {
	pulumi.Input

	ToPortSecGroupAssociateArrayOutput() PortSecGroupAssociateArrayOutput
	ToPortSecGroupAssociateArrayOutputWithContext(context.Context) PortSecGroupAssociateArrayOutput
}

PortSecGroupAssociateArrayInput is an input type that accepts PortSecGroupAssociateArray and PortSecGroupAssociateArrayOutput values. You can construct a concrete instance of `PortSecGroupAssociateArrayInput` via:

PortSecGroupAssociateArray{ PortSecGroupAssociateArgs{...} }

type PortSecGroupAssociateArrayOutput

type PortSecGroupAssociateArrayOutput struct{ *pulumi.OutputState }

func (PortSecGroupAssociateArrayOutput) ElementType

func (PortSecGroupAssociateArrayOutput) Index

func (PortSecGroupAssociateArrayOutput) ToPortSecGroupAssociateArrayOutput

func (o PortSecGroupAssociateArrayOutput) ToPortSecGroupAssociateArrayOutput() PortSecGroupAssociateArrayOutput

func (PortSecGroupAssociateArrayOutput) ToPortSecGroupAssociateArrayOutputWithContext

func (o PortSecGroupAssociateArrayOutput) ToPortSecGroupAssociateArrayOutputWithContext(ctx context.Context) PortSecGroupAssociateArrayOutput

type PortSecGroupAssociateInput

type PortSecGroupAssociateInput interface {
	pulumi.Input

	ToPortSecGroupAssociateOutput() PortSecGroupAssociateOutput
	ToPortSecGroupAssociateOutputWithContext(ctx context.Context) PortSecGroupAssociateOutput
}

type PortSecGroupAssociateMap

type PortSecGroupAssociateMap map[string]PortSecGroupAssociateInput

func (PortSecGroupAssociateMap) ElementType

func (PortSecGroupAssociateMap) ElementType() reflect.Type

func (PortSecGroupAssociateMap) ToPortSecGroupAssociateMapOutput

func (i PortSecGroupAssociateMap) ToPortSecGroupAssociateMapOutput() PortSecGroupAssociateMapOutput

func (PortSecGroupAssociateMap) ToPortSecGroupAssociateMapOutputWithContext

func (i PortSecGroupAssociateMap) ToPortSecGroupAssociateMapOutputWithContext(ctx context.Context) PortSecGroupAssociateMapOutput

type PortSecGroupAssociateMapInput

type PortSecGroupAssociateMapInput interface {
	pulumi.Input

	ToPortSecGroupAssociateMapOutput() PortSecGroupAssociateMapOutput
	ToPortSecGroupAssociateMapOutputWithContext(context.Context) PortSecGroupAssociateMapOutput
}

PortSecGroupAssociateMapInput is an input type that accepts PortSecGroupAssociateMap and PortSecGroupAssociateMapOutput values. You can construct a concrete instance of `PortSecGroupAssociateMapInput` via:

PortSecGroupAssociateMap{ "key": PortSecGroupAssociateArgs{...} }

type PortSecGroupAssociateMapOutput

type PortSecGroupAssociateMapOutput struct{ *pulumi.OutputState }

func (PortSecGroupAssociateMapOutput) ElementType

func (PortSecGroupAssociateMapOutput) MapIndex

func (PortSecGroupAssociateMapOutput) ToPortSecGroupAssociateMapOutput

func (o PortSecGroupAssociateMapOutput) ToPortSecGroupAssociateMapOutput() PortSecGroupAssociateMapOutput

func (PortSecGroupAssociateMapOutput) ToPortSecGroupAssociateMapOutputWithContext

func (o PortSecGroupAssociateMapOutput) ToPortSecGroupAssociateMapOutputWithContext(ctx context.Context) PortSecGroupAssociateMapOutput

type PortSecGroupAssociateOutput

type PortSecGroupAssociateOutput struct{ *pulumi.OutputState }

func (PortSecGroupAssociateOutput) AllSecurityGroupIds

func (o PortSecGroupAssociateOutput) AllSecurityGroupIds() pulumi.StringArrayOutput

The collection of Security Group IDs on the port which have been explicitly and implicitly added.

func (PortSecGroupAssociateOutput) ElementType

func (PortSecGroupAssociateOutput) Enforce

Whether to replace or append the list of security groups, specified in the `securityGroupIds`. Defaults to `false`.

func (PortSecGroupAssociateOutput) PortId

An UUID of the port to apply security groups to.

func (PortSecGroupAssociateOutput) Region

The region in which to obtain the V2 networking client. A networking client is needed to manage a port. If omitted, the `region` argument of the provider is used. Changing this creates a new resource.

func (PortSecGroupAssociateOutput) SecurityGroupIds

A list of security group IDs to apply to the port. The security groups must be specified by ID and not name (as opposed to how they are configured with the Compute Instance).

func (PortSecGroupAssociateOutput) ToPortSecGroupAssociateOutput

func (o PortSecGroupAssociateOutput) ToPortSecGroupAssociateOutput() PortSecGroupAssociateOutput

func (PortSecGroupAssociateOutput) ToPortSecGroupAssociateOutputWithContext

func (o PortSecGroupAssociateOutput) ToPortSecGroupAssociateOutputWithContext(ctx context.Context) PortSecGroupAssociateOutput

type PortSecGroupAssociateState

type PortSecGroupAssociateState struct {
	// The collection of Security Group IDs on the port
	// which have been explicitly and implicitly added.
	AllSecurityGroupIds pulumi.StringArrayInput
	// Whether to replace or append the list of security
	// groups, specified in the `securityGroupIds`. Defaults to `false`.
	Enforce pulumi.BoolPtrInput
	// An UUID of the port to apply security groups to.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to manage a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// resource.
	Region pulumi.StringPtrInput
	// A list of security group IDs to apply to
	// the port. The security groups must be specified by ID and not name (as
	// opposed to how they are configured with the Compute Instance).
	SecurityGroupIds pulumi.StringArrayInput
}

func (PortSecGroupAssociateState) ElementType

func (PortSecGroupAssociateState) ElementType() reflect.Type

type PortState

type PortState struct {
	// Administrative up/down status for the port
	// (must be `true` or `false` if provided). Changing this updates the
	// `adminStateUp` of an existing port.
	AdminStateUp pulumi.BoolPtrInput
	// The collection of Fixed IP addresses on the port in the
	// order returned by the Network v2 API.
	AllFixedIps pulumi.StringArrayInput
	// The collection of Security Group IDs on the port
	// which have been explicitly and implicitly added.
	AllSecurityGroupIds pulumi.StringArrayInput
	// The collection of tags assigned on the port, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// An IP/MAC Address pair of additional IP
	// addresses that can be active on this port. The structure is described
	// below.
	AllowedAddressPairs PortAllowedAddressPairArrayInput
	// The port binding allows to specify binding information
	// for the port. The structure is described below.
	Binding PortBindingPtrInput
	// Human-readable description of the port. Changing
	// this updates the `description` of an existing port.
	Description pulumi.StringPtrInput
	// The ID of the device attached to the port. Changing this
	// creates a new port.
	DeviceId pulumi.StringPtrInput
	// The device owner of the port. Changing this creates
	// a new port.
	DeviceOwner pulumi.StringPtrInput
	// The list of maps representing port DNS assignments.
	DnsAssignments pulumi.StringMapArrayInput
	// The port DNS name. Available, when Neutron DNS extension
	// is enabled.
	DnsName pulumi.StringPtrInput
	// An extra DHCP option that needs to be configured
	// on the port. The structure is described below. Can be specified multiple
	// times.
	ExtraDhcpOptions PortExtraDhcpOptionArrayInput
	// An array of desired IPs for
	// this port. The structure is described below.
	FixedIps PortFixedIpArrayInput
	// Specify a specific MAC address for the port. Changing
	// this creates a new port.
	MacAddress pulumi.StringPtrInput
	// A unique name for the port. Changing this
	// updates the `name` of an existing port.
	Name pulumi.StringPtrInput
	// The ID of the network to attach the port to. Changing
	// this creates a new port.
	NetworkId pulumi.StringPtrInput
	// Create a port with no fixed
	// IP address. This will also remove any fixed IPs previously set on a port. `true`
	// is the only valid value for this argument.
	NoFixedIp pulumi.BoolPtrInput
	// If set to
	// `true`, then no security groups are applied to the port. If set to `false` and
	// no `securityGroupIds` are specified, then the port will yield to the default
	// behavior of the Networking service, which is to usually apply the "default"
	// security group.
	NoSecurityGroups pulumi.BoolPtrInput
	// Whether to explicitly enable or disable
	// port security on the port. Port Security is usually enabled by default, so
	// omitting argument will usually result in a value of `true`. Setting this
	// explicitly to `false` will disable port security. In order to disable port
	// security, the port must not have any security groups. Valid values are `true`
	// and `false`.
	PortSecurityEnabled pulumi.BoolPtrInput
	// Reference to the associated QoS policy.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// port.
	Region pulumi.StringPtrInput
	// A list
	// of security group IDs to apply to the port. The security groups must be
	// specified by ID and not name (as opposed to how they are configured with
	// the Compute Instance).
	SecurityGroupIds pulumi.StringArrayInput
	// A set of string tags for the port.
	Tags pulumi.StringArrayInput
	// The owner of the port. Required if admin wants
	// to create a port for another tenant. Changing this creates a new port.
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (PortState) ElementType

func (PortState) ElementType() reflect.Type

type QosBandwidthLimitRule

type QosBandwidthLimitRule struct {
	pulumi.CustomResourceState

	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS bandwidth limit rule.
	Direction pulumi.StringPtrOutput `pulumi:"direction"`
	// The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the
	// maximum burst size in kilobits of the existing QoS bandwidth limit rule.
	MaxBurstKbps pulumi.IntPtrOutput `pulumi:"maxBurstKbps"`
	// The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the
	// maximum kilobits per second of the existing QoS bandwidth limit rule.
	MaxKbps pulumi.IntOutput `pulumi:"maxKbps"`
	// The QoS policy reference. Changing this creates a new QoS bandwidth limit rule.
	QosPolicyId pulumi.StringOutput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 Neutron QoS bandwidth limit rule resource within OpenStack.

## Example Usage

### Create a QoS Policy with some bandwidth limit rule

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		qosPolicy1, err := networking.NewQosPolicy(ctx, "qos_policy_1", &networking.QosPolicyArgs{
			Name:        pulumi.String("qos_policy_1"),
			Description: pulumi.String("bw_limit"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewQosBandwidthLimitRule(ctx, "bw_limit_rule_1", &networking.QosBandwidthLimitRuleArgs{
			QosPolicyId:  qosPolicy1.ID(),
			MaxKbps:      pulumi.Int(3000),
			MaxBurstKbps: pulumi.Int(300),
			Direction:    pulumi.String("egress"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

QoS bandwidth limit rules can be imported using the `qos_policy_id/bandwidth_limit_rule` format, e.g.

```sh $ pulumi import openstack:networking/qosBandwidthLimitRule:QosBandwidthLimitRule bw_limit_rule_1 d6ae28ce-fcb5-4180-aa62-d260a27e09ae/46dfb556-b92f-48ce-94c5-9a9e2140de94 ```

func GetQosBandwidthLimitRule

func GetQosBandwidthLimitRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosBandwidthLimitRuleState, opts ...pulumi.ResourceOption) (*QosBandwidthLimitRule, error)

GetQosBandwidthLimitRule gets an existing QosBandwidthLimitRule 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 NewQosBandwidthLimitRule

func NewQosBandwidthLimitRule(ctx *pulumi.Context,
	name string, args *QosBandwidthLimitRuleArgs, opts ...pulumi.ResourceOption) (*QosBandwidthLimitRule, error)

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

func (*QosBandwidthLimitRule) ElementType

func (*QosBandwidthLimitRule) ElementType() reflect.Type

func (*QosBandwidthLimitRule) ToQosBandwidthLimitRuleOutput

func (i *QosBandwidthLimitRule) ToQosBandwidthLimitRuleOutput() QosBandwidthLimitRuleOutput

func (*QosBandwidthLimitRule) ToQosBandwidthLimitRuleOutputWithContext

func (i *QosBandwidthLimitRule) ToQosBandwidthLimitRuleOutputWithContext(ctx context.Context) QosBandwidthLimitRuleOutput

type QosBandwidthLimitRuleArgs

type QosBandwidthLimitRuleArgs struct {
	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS bandwidth limit rule.
	Direction pulumi.StringPtrInput
	// The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the
	// maximum burst size in kilobits of the existing QoS bandwidth limit rule.
	MaxBurstKbps pulumi.IntPtrInput
	// The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the
	// maximum kilobits per second of the existing QoS bandwidth limit rule.
	MaxKbps pulumi.IntInput
	// The QoS policy reference. Changing this creates a new QoS bandwidth limit rule.
	QosPolicyId pulumi.StringInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a QosBandwidthLimitRule resource.

func (QosBandwidthLimitRuleArgs) ElementType

func (QosBandwidthLimitRuleArgs) ElementType() reflect.Type

type QosBandwidthLimitRuleArray

type QosBandwidthLimitRuleArray []QosBandwidthLimitRuleInput

func (QosBandwidthLimitRuleArray) ElementType

func (QosBandwidthLimitRuleArray) ElementType() reflect.Type

func (QosBandwidthLimitRuleArray) ToQosBandwidthLimitRuleArrayOutput

func (i QosBandwidthLimitRuleArray) ToQosBandwidthLimitRuleArrayOutput() QosBandwidthLimitRuleArrayOutput

func (QosBandwidthLimitRuleArray) ToQosBandwidthLimitRuleArrayOutputWithContext

func (i QosBandwidthLimitRuleArray) ToQosBandwidthLimitRuleArrayOutputWithContext(ctx context.Context) QosBandwidthLimitRuleArrayOutput

type QosBandwidthLimitRuleArrayInput

type QosBandwidthLimitRuleArrayInput interface {
	pulumi.Input

	ToQosBandwidthLimitRuleArrayOutput() QosBandwidthLimitRuleArrayOutput
	ToQosBandwidthLimitRuleArrayOutputWithContext(context.Context) QosBandwidthLimitRuleArrayOutput
}

QosBandwidthLimitRuleArrayInput is an input type that accepts QosBandwidthLimitRuleArray and QosBandwidthLimitRuleArrayOutput values. You can construct a concrete instance of `QosBandwidthLimitRuleArrayInput` via:

QosBandwidthLimitRuleArray{ QosBandwidthLimitRuleArgs{...} }

type QosBandwidthLimitRuleArrayOutput

type QosBandwidthLimitRuleArrayOutput struct{ *pulumi.OutputState }

func (QosBandwidthLimitRuleArrayOutput) ElementType

func (QosBandwidthLimitRuleArrayOutput) Index

func (QosBandwidthLimitRuleArrayOutput) ToQosBandwidthLimitRuleArrayOutput

func (o QosBandwidthLimitRuleArrayOutput) ToQosBandwidthLimitRuleArrayOutput() QosBandwidthLimitRuleArrayOutput

func (QosBandwidthLimitRuleArrayOutput) ToQosBandwidthLimitRuleArrayOutputWithContext

func (o QosBandwidthLimitRuleArrayOutput) ToQosBandwidthLimitRuleArrayOutputWithContext(ctx context.Context) QosBandwidthLimitRuleArrayOutput

type QosBandwidthLimitRuleInput

type QosBandwidthLimitRuleInput interface {
	pulumi.Input

	ToQosBandwidthLimitRuleOutput() QosBandwidthLimitRuleOutput
	ToQosBandwidthLimitRuleOutputWithContext(ctx context.Context) QosBandwidthLimitRuleOutput
}

type QosBandwidthLimitRuleMap

type QosBandwidthLimitRuleMap map[string]QosBandwidthLimitRuleInput

func (QosBandwidthLimitRuleMap) ElementType

func (QosBandwidthLimitRuleMap) ElementType() reflect.Type

func (QosBandwidthLimitRuleMap) ToQosBandwidthLimitRuleMapOutput

func (i QosBandwidthLimitRuleMap) ToQosBandwidthLimitRuleMapOutput() QosBandwidthLimitRuleMapOutput

func (QosBandwidthLimitRuleMap) ToQosBandwidthLimitRuleMapOutputWithContext

func (i QosBandwidthLimitRuleMap) ToQosBandwidthLimitRuleMapOutputWithContext(ctx context.Context) QosBandwidthLimitRuleMapOutput

type QosBandwidthLimitRuleMapInput

type QosBandwidthLimitRuleMapInput interface {
	pulumi.Input

	ToQosBandwidthLimitRuleMapOutput() QosBandwidthLimitRuleMapOutput
	ToQosBandwidthLimitRuleMapOutputWithContext(context.Context) QosBandwidthLimitRuleMapOutput
}

QosBandwidthLimitRuleMapInput is an input type that accepts QosBandwidthLimitRuleMap and QosBandwidthLimitRuleMapOutput values. You can construct a concrete instance of `QosBandwidthLimitRuleMapInput` via:

QosBandwidthLimitRuleMap{ "key": QosBandwidthLimitRuleArgs{...} }

type QosBandwidthLimitRuleMapOutput

type QosBandwidthLimitRuleMapOutput struct{ *pulumi.OutputState }

func (QosBandwidthLimitRuleMapOutput) ElementType

func (QosBandwidthLimitRuleMapOutput) MapIndex

func (QosBandwidthLimitRuleMapOutput) ToQosBandwidthLimitRuleMapOutput

func (o QosBandwidthLimitRuleMapOutput) ToQosBandwidthLimitRuleMapOutput() QosBandwidthLimitRuleMapOutput

func (QosBandwidthLimitRuleMapOutput) ToQosBandwidthLimitRuleMapOutputWithContext

func (o QosBandwidthLimitRuleMapOutput) ToQosBandwidthLimitRuleMapOutputWithContext(ctx context.Context) QosBandwidthLimitRuleMapOutput

type QosBandwidthLimitRuleOutput

type QosBandwidthLimitRuleOutput struct{ *pulumi.OutputState }

func (QosBandwidthLimitRuleOutput) Direction

The direction of traffic. Defaults to "egress". Changing this updates the direction of the existing QoS bandwidth limit rule.

func (QosBandwidthLimitRuleOutput) ElementType

func (QosBandwidthLimitRuleOutput) MaxBurstKbps

The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the maximum burst size in kilobits of the existing QoS bandwidth limit rule.

func (QosBandwidthLimitRuleOutput) MaxKbps

The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the maximum kilobits per second of the existing QoS bandwidth limit rule.

func (QosBandwidthLimitRuleOutput) QosPolicyId

The QoS policy reference. Changing this creates a new QoS bandwidth limit rule.

func (QosBandwidthLimitRuleOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule.

func (QosBandwidthLimitRuleOutput) ToQosBandwidthLimitRuleOutput

func (o QosBandwidthLimitRuleOutput) ToQosBandwidthLimitRuleOutput() QosBandwidthLimitRuleOutput

func (QosBandwidthLimitRuleOutput) ToQosBandwidthLimitRuleOutputWithContext

func (o QosBandwidthLimitRuleOutput) ToQosBandwidthLimitRuleOutputWithContext(ctx context.Context) QosBandwidthLimitRuleOutput

type QosBandwidthLimitRuleState

type QosBandwidthLimitRuleState struct {
	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS bandwidth limit rule.
	Direction pulumi.StringPtrInput
	// The maximum burst size in kilobits of a QoS bandwidth limit rule. Changing this updates the
	// maximum burst size in kilobits of the existing QoS bandwidth limit rule.
	MaxBurstKbps pulumi.IntPtrInput
	// The maximum kilobits per second of a QoS bandwidth limit rule. Changing this updates the
	// maximum kilobits per second of the existing QoS bandwidth limit rule.
	MaxKbps pulumi.IntPtrInput
	// The QoS policy reference. Changing this creates a new QoS bandwidth limit rule.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS bandwidth limit rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS bandwidth limit rule.
	Region pulumi.StringPtrInput
}

func (QosBandwidthLimitRuleState) ElementType

func (QosBandwidthLimitRuleState) ElementType() reflect.Type

type QosDscpMarkingRule

type QosDscpMarkingRule struct {
	pulumi.CustomResourceState

	// The value of DSCP mark. Changing this updates the DSCP mark value existing
	// QoS DSCP marking rule.
	DscpMark pulumi.IntOutput `pulumi:"dscpMark"`
	// The QoS policy reference. Changing this creates a new QoS DSCP marking rule.
	QosPolicyId pulumi.StringOutput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS DSCP marking rule.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 Neutron QoS DSCP marking rule resource within OpenStack.

## Example Usage

### Create a QoS Policy with some DSCP marking rule

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		qosPolicy1, err := networking.NewQosPolicy(ctx, "qos_policy_1", &networking.QosPolicyArgs{
			Name:        pulumi.String("qos_policy_1"),
			Description: pulumi.String("dscp_mark"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewQosDscpMarkingRule(ctx, "dscp_marking_rule_1", &networking.QosDscpMarkingRuleArgs{
			QosPolicyId: qosPolicy1.ID(),
			DscpMark:    pulumi.Int(26),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

QoS DSCP marking rules can be imported using the `qos_policy_id/dscp_marking_rule_id` format, e.g.

```sh $ pulumi import openstack:networking/qosDscpMarkingRule:QosDscpMarkingRule dscp_marking_rule_1 d6ae28ce-fcb5-4180-aa62-d260a27e09ae/46dfb556-b92f-48ce-94c5-9a9e2140de94 ```

func GetQosDscpMarkingRule

func GetQosDscpMarkingRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosDscpMarkingRuleState, opts ...pulumi.ResourceOption) (*QosDscpMarkingRule, error)

GetQosDscpMarkingRule gets an existing QosDscpMarkingRule 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 NewQosDscpMarkingRule

func NewQosDscpMarkingRule(ctx *pulumi.Context,
	name string, args *QosDscpMarkingRuleArgs, opts ...pulumi.ResourceOption) (*QosDscpMarkingRule, error)

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

func (*QosDscpMarkingRule) ElementType

func (*QosDscpMarkingRule) ElementType() reflect.Type

func (*QosDscpMarkingRule) ToQosDscpMarkingRuleOutput

func (i *QosDscpMarkingRule) ToQosDscpMarkingRuleOutput() QosDscpMarkingRuleOutput

func (*QosDscpMarkingRule) ToQosDscpMarkingRuleOutputWithContext

func (i *QosDscpMarkingRule) ToQosDscpMarkingRuleOutputWithContext(ctx context.Context) QosDscpMarkingRuleOutput

type QosDscpMarkingRuleArgs

type QosDscpMarkingRuleArgs struct {
	// The value of DSCP mark. Changing this updates the DSCP mark value existing
	// QoS DSCP marking rule.
	DscpMark pulumi.IntInput
	// The QoS policy reference. Changing this creates a new QoS DSCP marking rule.
	QosPolicyId pulumi.StringInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS DSCP marking rule.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a QosDscpMarkingRule resource.

func (QosDscpMarkingRuleArgs) ElementType

func (QosDscpMarkingRuleArgs) ElementType() reflect.Type

type QosDscpMarkingRuleArray

type QosDscpMarkingRuleArray []QosDscpMarkingRuleInput

func (QosDscpMarkingRuleArray) ElementType

func (QosDscpMarkingRuleArray) ElementType() reflect.Type

func (QosDscpMarkingRuleArray) ToQosDscpMarkingRuleArrayOutput

func (i QosDscpMarkingRuleArray) ToQosDscpMarkingRuleArrayOutput() QosDscpMarkingRuleArrayOutput

func (QosDscpMarkingRuleArray) ToQosDscpMarkingRuleArrayOutputWithContext

func (i QosDscpMarkingRuleArray) ToQosDscpMarkingRuleArrayOutputWithContext(ctx context.Context) QosDscpMarkingRuleArrayOutput

type QosDscpMarkingRuleArrayInput

type QosDscpMarkingRuleArrayInput interface {
	pulumi.Input

	ToQosDscpMarkingRuleArrayOutput() QosDscpMarkingRuleArrayOutput
	ToQosDscpMarkingRuleArrayOutputWithContext(context.Context) QosDscpMarkingRuleArrayOutput
}

QosDscpMarkingRuleArrayInput is an input type that accepts QosDscpMarkingRuleArray and QosDscpMarkingRuleArrayOutput values. You can construct a concrete instance of `QosDscpMarkingRuleArrayInput` via:

QosDscpMarkingRuleArray{ QosDscpMarkingRuleArgs{...} }

type QosDscpMarkingRuleArrayOutput

type QosDscpMarkingRuleArrayOutput struct{ *pulumi.OutputState }

func (QosDscpMarkingRuleArrayOutput) ElementType

func (QosDscpMarkingRuleArrayOutput) Index

func (QosDscpMarkingRuleArrayOutput) ToQosDscpMarkingRuleArrayOutput

func (o QosDscpMarkingRuleArrayOutput) ToQosDscpMarkingRuleArrayOutput() QosDscpMarkingRuleArrayOutput

func (QosDscpMarkingRuleArrayOutput) ToQosDscpMarkingRuleArrayOutputWithContext

func (o QosDscpMarkingRuleArrayOutput) ToQosDscpMarkingRuleArrayOutputWithContext(ctx context.Context) QosDscpMarkingRuleArrayOutput

type QosDscpMarkingRuleInput

type QosDscpMarkingRuleInput interface {
	pulumi.Input

	ToQosDscpMarkingRuleOutput() QosDscpMarkingRuleOutput
	ToQosDscpMarkingRuleOutputWithContext(ctx context.Context) QosDscpMarkingRuleOutput
}

type QosDscpMarkingRuleMap

type QosDscpMarkingRuleMap map[string]QosDscpMarkingRuleInput

func (QosDscpMarkingRuleMap) ElementType

func (QosDscpMarkingRuleMap) ElementType() reflect.Type

func (QosDscpMarkingRuleMap) ToQosDscpMarkingRuleMapOutput

func (i QosDscpMarkingRuleMap) ToQosDscpMarkingRuleMapOutput() QosDscpMarkingRuleMapOutput

func (QosDscpMarkingRuleMap) ToQosDscpMarkingRuleMapOutputWithContext

func (i QosDscpMarkingRuleMap) ToQosDscpMarkingRuleMapOutputWithContext(ctx context.Context) QosDscpMarkingRuleMapOutput

type QosDscpMarkingRuleMapInput

type QosDscpMarkingRuleMapInput interface {
	pulumi.Input

	ToQosDscpMarkingRuleMapOutput() QosDscpMarkingRuleMapOutput
	ToQosDscpMarkingRuleMapOutputWithContext(context.Context) QosDscpMarkingRuleMapOutput
}

QosDscpMarkingRuleMapInput is an input type that accepts QosDscpMarkingRuleMap and QosDscpMarkingRuleMapOutput values. You can construct a concrete instance of `QosDscpMarkingRuleMapInput` via:

QosDscpMarkingRuleMap{ "key": QosDscpMarkingRuleArgs{...} }

type QosDscpMarkingRuleMapOutput

type QosDscpMarkingRuleMapOutput struct{ *pulumi.OutputState }

func (QosDscpMarkingRuleMapOutput) ElementType

func (QosDscpMarkingRuleMapOutput) MapIndex

func (QosDscpMarkingRuleMapOutput) ToQosDscpMarkingRuleMapOutput

func (o QosDscpMarkingRuleMapOutput) ToQosDscpMarkingRuleMapOutput() QosDscpMarkingRuleMapOutput

func (QosDscpMarkingRuleMapOutput) ToQosDscpMarkingRuleMapOutputWithContext

func (o QosDscpMarkingRuleMapOutput) ToQosDscpMarkingRuleMapOutputWithContext(ctx context.Context) QosDscpMarkingRuleMapOutput

type QosDscpMarkingRuleOutput

type QosDscpMarkingRuleOutput struct{ *pulumi.OutputState }

func (QosDscpMarkingRuleOutput) DscpMark

The value of DSCP mark. Changing this updates the DSCP mark value existing QoS DSCP marking rule.

func (QosDscpMarkingRuleOutput) ElementType

func (QosDscpMarkingRuleOutput) ElementType() reflect.Type

func (QosDscpMarkingRuleOutput) QosPolicyId

The QoS policy reference. Changing this creates a new QoS DSCP marking rule.

func (QosDscpMarkingRuleOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the `region` argument of the provider is used. Changing this creates a new QoS DSCP marking rule.

func (QosDscpMarkingRuleOutput) ToQosDscpMarkingRuleOutput

func (o QosDscpMarkingRuleOutput) ToQosDscpMarkingRuleOutput() QosDscpMarkingRuleOutput

func (QosDscpMarkingRuleOutput) ToQosDscpMarkingRuleOutputWithContext

func (o QosDscpMarkingRuleOutput) ToQosDscpMarkingRuleOutputWithContext(ctx context.Context) QosDscpMarkingRuleOutput

type QosDscpMarkingRuleState

type QosDscpMarkingRuleState struct {
	// The value of DSCP mark. Changing this updates the DSCP mark value existing
	// QoS DSCP marking rule.
	DscpMark pulumi.IntPtrInput
	// The QoS policy reference. Changing this creates a new QoS DSCP marking rule.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS DSCP marking rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS DSCP marking rule.
	Region pulumi.StringPtrInput
}

func (QosDscpMarkingRuleState) ElementType

func (QosDscpMarkingRuleState) ElementType() reflect.Type

type QosMinimumBandwidthRule

type QosMinimumBandwidthRule struct {
	pulumi.CustomResourceState

	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS minimum bandwidth rule.
	Direction pulumi.StringPtrOutput `pulumi:"direction"`
	// The minimum kilobits per second. Changing this updates the min kbps value of the existing
	// QoS minimum bandwidth rule.
	MinKbps pulumi.IntOutput `pulumi:"minKbps"`
	// The QoS policy reference. Changing this creates a new QoS minimum bandwidth rule.
	QosPolicyId pulumi.StringOutput `pulumi:"qosPolicyId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS minimum bandwidth rule.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V2 Neutron QoS minimum bandwidth rule resource within OpenStack.

## Example Usage

### Create a QoS Policy with some minimum bandwidth rule

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		qosPolicy1, err := networking.NewQosPolicy(ctx, "qos_policy_1", &networking.QosPolicyArgs{
			Name:        pulumi.String("qos_policy_1"),
			Description: pulumi.String("min_kbps"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewQosMinimumBandwidthRule(ctx, "minimum_bandwidth_rule_1", &networking.QosMinimumBandwidthRuleArgs{
			QosPolicyId: qosPolicy1.ID(),
			MinKbps:     pulumi.Int(200),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

QoS minimum bandwidth rules can be imported using the `qos_policy_id/minimum_bandwidth_rule_id` format, e.g.

```sh $ pulumi import openstack:networking/qosMinimumBandwidthRule:QosMinimumBandwidthRule minimum_bandwidth_rule_1 d6ae28ce-fcb5-4180-aa62-d260a27e09ae/46dfb556-b92f-48ce-94c5-9a9e2140de94 ```

func GetQosMinimumBandwidthRule

func GetQosMinimumBandwidthRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosMinimumBandwidthRuleState, opts ...pulumi.ResourceOption) (*QosMinimumBandwidthRule, error)

GetQosMinimumBandwidthRule gets an existing QosMinimumBandwidthRule 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 NewQosMinimumBandwidthRule

func NewQosMinimumBandwidthRule(ctx *pulumi.Context,
	name string, args *QosMinimumBandwidthRuleArgs, opts ...pulumi.ResourceOption) (*QosMinimumBandwidthRule, error)

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

func (*QosMinimumBandwidthRule) ElementType

func (*QosMinimumBandwidthRule) ElementType() reflect.Type

func (*QosMinimumBandwidthRule) ToQosMinimumBandwidthRuleOutput

func (i *QosMinimumBandwidthRule) ToQosMinimumBandwidthRuleOutput() QosMinimumBandwidthRuleOutput

func (*QosMinimumBandwidthRule) ToQosMinimumBandwidthRuleOutputWithContext

func (i *QosMinimumBandwidthRule) ToQosMinimumBandwidthRuleOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleOutput

type QosMinimumBandwidthRuleArgs

type QosMinimumBandwidthRuleArgs struct {
	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS minimum bandwidth rule.
	Direction pulumi.StringPtrInput
	// The minimum kilobits per second. Changing this updates the min kbps value of the existing
	// QoS minimum bandwidth rule.
	MinKbps pulumi.IntInput
	// The QoS policy reference. Changing this creates a new QoS minimum bandwidth rule.
	QosPolicyId pulumi.StringInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS minimum bandwidth rule.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a QosMinimumBandwidthRule resource.

func (QosMinimumBandwidthRuleArgs) ElementType

type QosMinimumBandwidthRuleArray

type QosMinimumBandwidthRuleArray []QosMinimumBandwidthRuleInput

func (QosMinimumBandwidthRuleArray) ElementType

func (QosMinimumBandwidthRuleArray) ToQosMinimumBandwidthRuleArrayOutput

func (i QosMinimumBandwidthRuleArray) ToQosMinimumBandwidthRuleArrayOutput() QosMinimumBandwidthRuleArrayOutput

func (QosMinimumBandwidthRuleArray) ToQosMinimumBandwidthRuleArrayOutputWithContext

func (i QosMinimumBandwidthRuleArray) ToQosMinimumBandwidthRuleArrayOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleArrayOutput

type QosMinimumBandwidthRuleArrayInput

type QosMinimumBandwidthRuleArrayInput interface {
	pulumi.Input

	ToQosMinimumBandwidthRuleArrayOutput() QosMinimumBandwidthRuleArrayOutput
	ToQosMinimumBandwidthRuleArrayOutputWithContext(context.Context) QosMinimumBandwidthRuleArrayOutput
}

QosMinimumBandwidthRuleArrayInput is an input type that accepts QosMinimumBandwidthRuleArray and QosMinimumBandwidthRuleArrayOutput values. You can construct a concrete instance of `QosMinimumBandwidthRuleArrayInput` via:

QosMinimumBandwidthRuleArray{ QosMinimumBandwidthRuleArgs{...} }

type QosMinimumBandwidthRuleArrayOutput

type QosMinimumBandwidthRuleArrayOutput struct{ *pulumi.OutputState }

func (QosMinimumBandwidthRuleArrayOutput) ElementType

func (QosMinimumBandwidthRuleArrayOutput) Index

func (QosMinimumBandwidthRuleArrayOutput) ToQosMinimumBandwidthRuleArrayOutput

func (o QosMinimumBandwidthRuleArrayOutput) ToQosMinimumBandwidthRuleArrayOutput() QosMinimumBandwidthRuleArrayOutput

func (QosMinimumBandwidthRuleArrayOutput) ToQosMinimumBandwidthRuleArrayOutputWithContext

func (o QosMinimumBandwidthRuleArrayOutput) ToQosMinimumBandwidthRuleArrayOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleArrayOutput

type QosMinimumBandwidthRuleInput

type QosMinimumBandwidthRuleInput interface {
	pulumi.Input

	ToQosMinimumBandwidthRuleOutput() QosMinimumBandwidthRuleOutput
	ToQosMinimumBandwidthRuleOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleOutput
}

type QosMinimumBandwidthRuleMap

type QosMinimumBandwidthRuleMap map[string]QosMinimumBandwidthRuleInput

func (QosMinimumBandwidthRuleMap) ElementType

func (QosMinimumBandwidthRuleMap) ElementType() reflect.Type

func (QosMinimumBandwidthRuleMap) ToQosMinimumBandwidthRuleMapOutput

func (i QosMinimumBandwidthRuleMap) ToQosMinimumBandwidthRuleMapOutput() QosMinimumBandwidthRuleMapOutput

func (QosMinimumBandwidthRuleMap) ToQosMinimumBandwidthRuleMapOutputWithContext

func (i QosMinimumBandwidthRuleMap) ToQosMinimumBandwidthRuleMapOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleMapOutput

type QosMinimumBandwidthRuleMapInput

type QosMinimumBandwidthRuleMapInput interface {
	pulumi.Input

	ToQosMinimumBandwidthRuleMapOutput() QosMinimumBandwidthRuleMapOutput
	ToQosMinimumBandwidthRuleMapOutputWithContext(context.Context) QosMinimumBandwidthRuleMapOutput
}

QosMinimumBandwidthRuleMapInput is an input type that accepts QosMinimumBandwidthRuleMap and QosMinimumBandwidthRuleMapOutput values. You can construct a concrete instance of `QosMinimumBandwidthRuleMapInput` via:

QosMinimumBandwidthRuleMap{ "key": QosMinimumBandwidthRuleArgs{...} }

type QosMinimumBandwidthRuleMapOutput

type QosMinimumBandwidthRuleMapOutput struct{ *pulumi.OutputState }

func (QosMinimumBandwidthRuleMapOutput) ElementType

func (QosMinimumBandwidthRuleMapOutput) MapIndex

func (QosMinimumBandwidthRuleMapOutput) ToQosMinimumBandwidthRuleMapOutput

func (o QosMinimumBandwidthRuleMapOutput) ToQosMinimumBandwidthRuleMapOutput() QosMinimumBandwidthRuleMapOutput

func (QosMinimumBandwidthRuleMapOutput) ToQosMinimumBandwidthRuleMapOutputWithContext

func (o QosMinimumBandwidthRuleMapOutput) ToQosMinimumBandwidthRuleMapOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleMapOutput

type QosMinimumBandwidthRuleOutput

type QosMinimumBandwidthRuleOutput struct{ *pulumi.OutputState }

func (QosMinimumBandwidthRuleOutput) Direction

The direction of traffic. Defaults to "egress". Changing this updates the direction of the existing QoS minimum bandwidth rule.

func (QosMinimumBandwidthRuleOutput) ElementType

func (QosMinimumBandwidthRuleOutput) MinKbps

The minimum kilobits per second. Changing this updates the min kbps value of the existing QoS minimum bandwidth rule.

func (QosMinimumBandwidthRuleOutput) QosPolicyId

The QoS policy reference. Changing this creates a new QoS minimum bandwidth rule.

func (QosMinimumBandwidthRuleOutput) Region

The region in which to obtain the V2 Networking client. A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the `region` argument of the provider is used. Changing this creates a new QoS minimum bandwidth rule.

func (QosMinimumBandwidthRuleOutput) ToQosMinimumBandwidthRuleOutput

func (o QosMinimumBandwidthRuleOutput) ToQosMinimumBandwidthRuleOutput() QosMinimumBandwidthRuleOutput

func (QosMinimumBandwidthRuleOutput) ToQosMinimumBandwidthRuleOutputWithContext

func (o QosMinimumBandwidthRuleOutput) ToQosMinimumBandwidthRuleOutputWithContext(ctx context.Context) QosMinimumBandwidthRuleOutput

type QosMinimumBandwidthRuleState

type QosMinimumBandwidthRuleState struct {
	// The direction of traffic. Defaults to "egress". Changing this updates the direction of the
	// existing QoS minimum bandwidth rule.
	Direction pulumi.StringPtrInput
	// The minimum kilobits per second. Changing this updates the min kbps value of the existing
	// QoS minimum bandwidth rule.
	MinKbps pulumi.IntPtrInput
	// The QoS policy reference. Changing this creates a new QoS minimum bandwidth rule.
	QosPolicyId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron QoS minimum bandwidth rule. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new QoS minimum bandwidth rule.
	Region pulumi.StringPtrInput
}

func (QosMinimumBandwidthRuleState) ElementType

type QosPolicy

type QosPolicy struct {
	pulumi.CustomResourceState

	// The collection of tags assigned on the QoS policy, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// The time at which QoS policy was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The human-readable description for the QoS policy.
	// Changing this updates the description of the existing QoS policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Indicates whether the QoS policy is default
	// QoS policy or not. Changing this updates the default status of the existing
	// QoS policy.
	IsDefault pulumi.BoolPtrOutput `pulumi:"isDefault"`
	// The name of the QoS policy. Changing this updates the name of
	// the existing QoS policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// The owner of the QoS policy. Required if admin wants to
	// create a QoS policy for another project. Changing this creates a new QoS policy.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron Qos policy. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// QoS policy.
	Region pulumi.StringOutput `pulumi:"region"`
	// The revision number of the QoS policy.
	RevisionNumber pulumi.IntOutput `pulumi:"revisionNumber"`
	// Indicates whether this QoS policy is shared across
	// all projects. Changing this updates the shared status of the existing
	// QoS policy.
	Shared pulumi.BoolPtrOutput `pulumi:"shared"`
	// A set of string tags for the QoS policy.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The time at which QoS policy was created.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

Manages a V2 Neutron QoS policy resource within OpenStack.

## Example Usage

### Create a QoS Policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewQosPolicy(ctx, "qos_policy_1", &networking.QosPolicyArgs{
			Name:        pulumi.String("qos_policy_1"),
			Description: pulumi.String("bw_limit"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

QoS Policies can be imported using the `id`, e.g.

```sh $ pulumi import openstack:networking/qosPolicy:QosPolicy qos_policy_1 d6ae28ce-fcb5-4180-aa62-d260a27e09ae ```

func GetQosPolicy

func GetQosPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosPolicyState, opts ...pulumi.ResourceOption) (*QosPolicy, error)

GetQosPolicy gets an existing QosPolicy 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 NewQosPolicy

func NewQosPolicy(ctx *pulumi.Context,
	name string, args *QosPolicyArgs, opts ...pulumi.ResourceOption) (*QosPolicy, error)

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

func (*QosPolicy) ElementType

func (*QosPolicy) ElementType() reflect.Type

func (*QosPolicy) ToQosPolicyOutput

func (i *QosPolicy) ToQosPolicyOutput() QosPolicyOutput

func (*QosPolicy) ToQosPolicyOutputWithContext

func (i *QosPolicy) ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput

type QosPolicyArgs

type QosPolicyArgs struct {
	// The human-readable description for the QoS policy.
	// Changing this updates the description of the existing QoS policy.
	Description pulumi.StringPtrInput
	// Indicates whether the QoS policy is default
	// QoS policy or not. Changing this updates the default status of the existing
	// QoS policy.
	IsDefault pulumi.BoolPtrInput
	// The name of the QoS policy. Changing this updates the name of
	// the existing QoS policy.
	Name pulumi.StringPtrInput
	// The owner of the QoS policy. Required if admin wants to
	// create a QoS policy for another project. Changing this creates a new QoS policy.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron Qos policy. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// QoS policy.
	Region pulumi.StringPtrInput
	// Indicates whether this QoS policy is shared across
	// all projects. Changing this updates the shared status of the existing
	// QoS policy.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the QoS policy.
	Tags pulumi.StringArrayInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a QosPolicy resource.

func (QosPolicyArgs) ElementType

func (QosPolicyArgs) ElementType() reflect.Type

type QosPolicyArray

type QosPolicyArray []QosPolicyInput

func (QosPolicyArray) ElementType

func (QosPolicyArray) ElementType() reflect.Type

func (QosPolicyArray) ToQosPolicyArrayOutput

func (i QosPolicyArray) ToQosPolicyArrayOutput() QosPolicyArrayOutput

func (QosPolicyArray) ToQosPolicyArrayOutputWithContext

func (i QosPolicyArray) ToQosPolicyArrayOutputWithContext(ctx context.Context) QosPolicyArrayOutput

type QosPolicyArrayInput

type QosPolicyArrayInput interface {
	pulumi.Input

	ToQosPolicyArrayOutput() QosPolicyArrayOutput
	ToQosPolicyArrayOutputWithContext(context.Context) QosPolicyArrayOutput
}

QosPolicyArrayInput is an input type that accepts QosPolicyArray and QosPolicyArrayOutput values. You can construct a concrete instance of `QosPolicyArrayInput` via:

QosPolicyArray{ QosPolicyArgs{...} }

type QosPolicyArrayOutput

type QosPolicyArrayOutput struct{ *pulumi.OutputState }

func (QosPolicyArrayOutput) ElementType

func (QosPolicyArrayOutput) ElementType() reflect.Type

func (QosPolicyArrayOutput) Index

func (QosPolicyArrayOutput) ToQosPolicyArrayOutput

func (o QosPolicyArrayOutput) ToQosPolicyArrayOutput() QosPolicyArrayOutput

func (QosPolicyArrayOutput) ToQosPolicyArrayOutputWithContext

func (o QosPolicyArrayOutput) ToQosPolicyArrayOutputWithContext(ctx context.Context) QosPolicyArrayOutput

type QosPolicyInput

type QosPolicyInput interface {
	pulumi.Input

	ToQosPolicyOutput() QosPolicyOutput
	ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput
}

type QosPolicyMap

type QosPolicyMap map[string]QosPolicyInput

func (QosPolicyMap) ElementType

func (QosPolicyMap) ElementType() reflect.Type

func (QosPolicyMap) ToQosPolicyMapOutput

func (i QosPolicyMap) ToQosPolicyMapOutput() QosPolicyMapOutput

func (QosPolicyMap) ToQosPolicyMapOutputWithContext

func (i QosPolicyMap) ToQosPolicyMapOutputWithContext(ctx context.Context) QosPolicyMapOutput

type QosPolicyMapInput

type QosPolicyMapInput interface {
	pulumi.Input

	ToQosPolicyMapOutput() QosPolicyMapOutput
	ToQosPolicyMapOutputWithContext(context.Context) QosPolicyMapOutput
}

QosPolicyMapInput is an input type that accepts QosPolicyMap and QosPolicyMapOutput values. You can construct a concrete instance of `QosPolicyMapInput` via:

QosPolicyMap{ "key": QosPolicyArgs{...} }

type QosPolicyMapOutput

type QosPolicyMapOutput struct{ *pulumi.OutputState }

func (QosPolicyMapOutput) ElementType

func (QosPolicyMapOutput) ElementType() reflect.Type

func (QosPolicyMapOutput) MapIndex

func (QosPolicyMapOutput) ToQosPolicyMapOutput

func (o QosPolicyMapOutput) ToQosPolicyMapOutput() QosPolicyMapOutput

func (QosPolicyMapOutput) ToQosPolicyMapOutputWithContext

func (o QosPolicyMapOutput) ToQosPolicyMapOutputWithContext(ctx context.Context) QosPolicyMapOutput

type QosPolicyOutput

type QosPolicyOutput struct{ *pulumi.OutputState }

func (QosPolicyOutput) AllTags

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

func (QosPolicyOutput) CreatedAt

func (o QosPolicyOutput) CreatedAt() pulumi.StringOutput

The time at which QoS policy was created.

func (QosPolicyOutput) Description

func (o QosPolicyOutput) Description() pulumi.StringPtrOutput

The human-readable description for the QoS policy. Changing this updates the description of the existing QoS policy.

func (QosPolicyOutput) ElementType

func (QosPolicyOutput) ElementType() reflect.Type

func (QosPolicyOutput) IsDefault

func (o QosPolicyOutput) IsDefault() pulumi.BoolPtrOutput

Indicates whether the QoS policy is default QoS policy or not. Changing this updates the default status of the existing QoS policy.

func (QosPolicyOutput) Name

The name of the QoS policy. Changing this updates the name of the existing QoS policy.

func (QosPolicyOutput) ProjectId

func (o QosPolicyOutput) ProjectId() pulumi.StringOutput

The owner of the QoS policy. Required if admin wants to create a QoS policy for another project. Changing this creates a new QoS policy.

func (QosPolicyOutput) Region

func (o QosPolicyOutput) Region() pulumi.StringOutput

The region in which to obtain the V2 Networking client. A Networking client is needed to create a Neutron Qos policy. If omitted, the `region` argument of the provider is used. Changing this creates a new QoS policy.

func (QosPolicyOutput) RevisionNumber

func (o QosPolicyOutput) RevisionNumber() pulumi.IntOutput

The revision number of the QoS policy.

func (QosPolicyOutput) Shared

Indicates whether this QoS policy is shared across all projects. Changing this updates the shared status of the existing QoS policy.

func (QosPolicyOutput) Tags

A set of string tags for the QoS policy.

func (QosPolicyOutput) ToQosPolicyOutput

func (o QosPolicyOutput) ToQosPolicyOutput() QosPolicyOutput

func (QosPolicyOutput) ToQosPolicyOutputWithContext

func (o QosPolicyOutput) ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput

func (QosPolicyOutput) UpdatedAt

func (o QosPolicyOutput) UpdatedAt() pulumi.StringOutput

The time at which QoS policy was created.

func (QosPolicyOutput) ValueSpecs

func (o QosPolicyOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type QosPolicyState

type QosPolicyState struct {
	// The collection of tags assigned on the QoS policy, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// The time at which QoS policy was created.
	CreatedAt pulumi.StringPtrInput
	// The human-readable description for the QoS policy.
	// Changing this updates the description of the existing QoS policy.
	Description pulumi.StringPtrInput
	// Indicates whether the QoS policy is default
	// QoS policy or not. Changing this updates the default status of the existing
	// QoS policy.
	IsDefault pulumi.BoolPtrInput
	// The name of the QoS policy. Changing this updates the name of
	// the existing QoS policy.
	Name pulumi.StringPtrInput
	// The owner of the QoS policy. Required if admin wants to
	// create a QoS policy for another project. Changing this creates a new QoS policy.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron Qos policy. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// QoS policy.
	Region pulumi.StringPtrInput
	// The revision number of the QoS policy.
	RevisionNumber pulumi.IntPtrInput
	// Indicates whether this QoS policy is shared across
	// all projects. Changing this updates the shared status of the existing
	// QoS policy.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the QoS policy.
	Tags pulumi.StringArrayInput
	// The time at which QoS policy was created.
	UpdatedAt pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (QosPolicyState) ElementType

func (QosPolicyState) ElementType() reflect.Type

type QuotaV2

type QuotaV2 struct {
	pulumi.CustomResourceState

	// Quota value for floating IPs. Changing this updates the
	// existing quota.
	Floatingip pulumi.IntOutput `pulumi:"floatingip"`
	// Quota value for networks. Changing this updates the
	// existing quota.
	Network pulumi.IntOutput `pulumi:"network"`
	// Quota value for ports. Changing this updates the
	// existing quota.
	Port pulumi.IntOutput `pulumi:"port"`
	// ID of the project to manage quota. Changing this
	// creates new quota.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Quota value for RBAC policies.
	// Changing this updates the existing quota.
	RbacPolicy pulumi.IntOutput `pulumi:"rbacPolicy"`
	// The region in which to create the quota. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates new quota.
	Region pulumi.StringOutput `pulumi:"region"`
	// Quota value for routers. Changing this updates the
	// existing quota.
	Router pulumi.IntOutput `pulumi:"router"`
	// Quota value for security groups. Changing
	// this updates the existing quota.
	SecurityGroup pulumi.IntOutput `pulumi:"securityGroup"`
	// Quota value for security group rules.
	// Changing this updates the existing quota.
	SecurityGroupRule pulumi.IntOutput `pulumi:"securityGroupRule"`
	// Quota value for subnets. Changing
	// this updates the existing quota.
	Subnet pulumi.IntOutput `pulumi:"subnet"`
	// Quota value for subnetpools.
	// Changing this updates the existing quota.
	Subnetpool pulumi.IntOutput `pulumi:"subnetpool"`
}

Manages a V2 networking quota resource within OpenStack.

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

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

in case of delete call.

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

created with zero value.

## Import

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

```sh $ pulumi import openstack:networking/quotaV2:QuotaV2 quota_1 2a0f2240-c5e6-41de-896d-e80d97428d6b/region_1 ```

func GetQuotaV2

func GetQuotaV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QuotaV2State, opts ...pulumi.ResourceOption) (*QuotaV2, error)

GetQuotaV2 gets an existing QuotaV2 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 NewQuotaV2

func NewQuotaV2(ctx *pulumi.Context,
	name string, args *QuotaV2Args, opts ...pulumi.ResourceOption) (*QuotaV2, error)

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

func (*QuotaV2) ElementType

func (*QuotaV2) ElementType() reflect.Type

func (*QuotaV2) ToQuotaV2Output

func (i *QuotaV2) ToQuotaV2Output() QuotaV2Output

func (*QuotaV2) ToQuotaV2OutputWithContext

func (i *QuotaV2) ToQuotaV2OutputWithContext(ctx context.Context) QuotaV2Output

type QuotaV2Args

type QuotaV2Args struct {
	// Quota value for floating IPs. Changing this updates the
	// existing quota.
	Floatingip pulumi.IntPtrInput
	// Quota value for networks. Changing this updates the
	// existing quota.
	Network pulumi.IntPtrInput
	// Quota value for ports. Changing this updates the
	// existing quota.
	Port pulumi.IntPtrInput
	// ID of the project to manage quota. Changing this
	// creates new quota.
	ProjectId pulumi.StringInput
	// Quota value for RBAC policies.
	// Changing this updates the existing quota.
	RbacPolicy pulumi.IntPtrInput
	// The region in which to create the quota. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates new quota.
	Region pulumi.StringPtrInput
	// Quota value for routers. Changing this updates the
	// existing quota.
	Router pulumi.IntPtrInput
	// Quota value for security groups. Changing
	// this updates the existing quota.
	SecurityGroup pulumi.IntPtrInput
	// Quota value for security group rules.
	// Changing this updates the existing quota.
	SecurityGroupRule pulumi.IntPtrInput
	// Quota value for subnets. Changing
	// this updates the existing quota.
	Subnet pulumi.IntPtrInput
	// Quota value for subnetpools.
	// Changing this updates the existing quota.
	Subnetpool pulumi.IntPtrInput
}

The set of arguments for constructing a QuotaV2 resource.

func (QuotaV2Args) ElementType

func (QuotaV2Args) ElementType() reflect.Type

type QuotaV2Array

type QuotaV2Array []QuotaV2Input

func (QuotaV2Array) ElementType

func (QuotaV2Array) ElementType() reflect.Type

func (QuotaV2Array) ToQuotaV2ArrayOutput

func (i QuotaV2Array) ToQuotaV2ArrayOutput() QuotaV2ArrayOutput

func (QuotaV2Array) ToQuotaV2ArrayOutputWithContext

func (i QuotaV2Array) ToQuotaV2ArrayOutputWithContext(ctx context.Context) QuotaV2ArrayOutput

type QuotaV2ArrayInput

type QuotaV2ArrayInput interface {
	pulumi.Input

	ToQuotaV2ArrayOutput() QuotaV2ArrayOutput
	ToQuotaV2ArrayOutputWithContext(context.Context) QuotaV2ArrayOutput
}

QuotaV2ArrayInput is an input type that accepts QuotaV2Array and QuotaV2ArrayOutput values. You can construct a concrete instance of `QuotaV2ArrayInput` via:

QuotaV2Array{ QuotaV2Args{...} }

type QuotaV2ArrayOutput

type QuotaV2ArrayOutput struct{ *pulumi.OutputState }

func (QuotaV2ArrayOutput) ElementType

func (QuotaV2ArrayOutput) ElementType() reflect.Type

func (QuotaV2ArrayOutput) Index

func (QuotaV2ArrayOutput) ToQuotaV2ArrayOutput

func (o QuotaV2ArrayOutput) ToQuotaV2ArrayOutput() QuotaV2ArrayOutput

func (QuotaV2ArrayOutput) ToQuotaV2ArrayOutputWithContext

func (o QuotaV2ArrayOutput) ToQuotaV2ArrayOutputWithContext(ctx context.Context) QuotaV2ArrayOutput

type QuotaV2Input

type QuotaV2Input interface {
	pulumi.Input

	ToQuotaV2Output() QuotaV2Output
	ToQuotaV2OutputWithContext(ctx context.Context) QuotaV2Output
}

type QuotaV2Map

type QuotaV2Map map[string]QuotaV2Input

func (QuotaV2Map) ElementType

func (QuotaV2Map) ElementType() reflect.Type

func (QuotaV2Map) ToQuotaV2MapOutput

func (i QuotaV2Map) ToQuotaV2MapOutput() QuotaV2MapOutput

func (QuotaV2Map) ToQuotaV2MapOutputWithContext

func (i QuotaV2Map) ToQuotaV2MapOutputWithContext(ctx context.Context) QuotaV2MapOutput

type QuotaV2MapInput

type QuotaV2MapInput interface {
	pulumi.Input

	ToQuotaV2MapOutput() QuotaV2MapOutput
	ToQuotaV2MapOutputWithContext(context.Context) QuotaV2MapOutput
}

QuotaV2MapInput is an input type that accepts QuotaV2Map and QuotaV2MapOutput values. You can construct a concrete instance of `QuotaV2MapInput` via:

QuotaV2Map{ "key": QuotaV2Args{...} }

type QuotaV2MapOutput

type QuotaV2MapOutput struct{ *pulumi.OutputState }

func (QuotaV2MapOutput) ElementType

func (QuotaV2MapOutput) ElementType() reflect.Type

func (QuotaV2MapOutput) MapIndex

func (QuotaV2MapOutput) ToQuotaV2MapOutput

func (o QuotaV2MapOutput) ToQuotaV2MapOutput() QuotaV2MapOutput

func (QuotaV2MapOutput) ToQuotaV2MapOutputWithContext

func (o QuotaV2MapOutput) ToQuotaV2MapOutputWithContext(ctx context.Context) QuotaV2MapOutput

type QuotaV2Output

type QuotaV2Output struct{ *pulumi.OutputState }

func (QuotaV2Output) ElementType

func (QuotaV2Output) ElementType() reflect.Type

func (QuotaV2Output) Floatingip

func (o QuotaV2Output) Floatingip() pulumi.IntOutput

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

func (QuotaV2Output) Network

func (o QuotaV2Output) Network() pulumi.IntOutput

Quota value for networks. Changing this updates the existing quota.

func (QuotaV2Output) Port

func (o QuotaV2Output) Port() pulumi.IntOutput

Quota value for ports. Changing this updates the existing quota.

func (QuotaV2Output) ProjectId

func (o QuotaV2Output) ProjectId() pulumi.StringOutput

ID of the project to manage quota. Changing this creates new quota.

func (QuotaV2Output) RbacPolicy

func (o QuotaV2Output) RbacPolicy() pulumi.IntOutput

Quota value for RBAC policies. Changing this updates the existing quota.

func (QuotaV2Output) Region

func (o QuotaV2Output) Region() pulumi.StringOutput

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

func (QuotaV2Output) Router

func (o QuotaV2Output) Router() pulumi.IntOutput

Quota value for routers. Changing this updates the existing quota.

func (QuotaV2Output) SecurityGroup

func (o QuotaV2Output) SecurityGroup() pulumi.IntOutput

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

func (QuotaV2Output) SecurityGroupRule

func (o QuotaV2Output) SecurityGroupRule() pulumi.IntOutput

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

func (QuotaV2Output) Subnet

func (o QuotaV2Output) Subnet() pulumi.IntOutput

Quota value for subnets. Changing this updates the existing quota.

func (QuotaV2Output) Subnetpool

func (o QuotaV2Output) Subnetpool() pulumi.IntOutput

Quota value for subnetpools. Changing this updates the existing quota.

func (QuotaV2Output) ToQuotaV2Output

func (o QuotaV2Output) ToQuotaV2Output() QuotaV2Output

func (QuotaV2Output) ToQuotaV2OutputWithContext

func (o QuotaV2Output) ToQuotaV2OutputWithContext(ctx context.Context) QuotaV2Output

type QuotaV2State

type QuotaV2State struct {
	// Quota value for floating IPs. Changing this updates the
	// existing quota.
	Floatingip pulumi.IntPtrInput
	// Quota value for networks. Changing this updates the
	// existing quota.
	Network pulumi.IntPtrInput
	// Quota value for ports. Changing this updates the
	// existing quota.
	Port pulumi.IntPtrInput
	// ID of the project to manage quota. Changing this
	// creates new quota.
	ProjectId pulumi.StringPtrInput
	// Quota value for RBAC policies.
	// Changing this updates the existing quota.
	RbacPolicy pulumi.IntPtrInput
	// The region in which to create the quota. If
	// omitted, the `region` argument of the provider is used. Changing this
	// creates new quota.
	Region pulumi.StringPtrInput
	// Quota value for routers. Changing this updates the
	// existing quota.
	Router pulumi.IntPtrInput
	// Quota value for security groups. Changing
	// this updates the existing quota.
	SecurityGroup pulumi.IntPtrInput
	// Quota value for security group rules.
	// Changing this updates the existing quota.
	SecurityGroupRule pulumi.IntPtrInput
	// Quota value for subnets. Changing
	// this updates the existing quota.
	Subnet pulumi.IntPtrInput
	// Quota value for subnetpools.
	// Changing this updates the existing quota.
	Subnetpool pulumi.IntPtrInput
}

func (QuotaV2State) ElementType

func (QuotaV2State) ElementType() reflect.Type

type RbacPolicyV2

type RbacPolicyV2 struct {
	pulumi.CustomResourceState

	// Action for the RBAC policy. Can either be
	// `accessAsExternal` or `accessAsShared`.
	Action pulumi.StringOutput `pulumi:"action"`
	// The ID of the `objectType` resource. An
	// `objectType` of `network` returns a network ID and an `objectType` of
	// `qosPolicy` returns a QoS ID.
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The type of the object that the RBAC policy
	// affects. Can be one of the following: `addressScope`, `addressGroup`,
	// `network`, `qosPolicy`, `securityGroup`, `subnetpool` or `bgpvpn`.
	ObjectType pulumi.StringOutput `pulumi:"objectType"`
	ProjectId  pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ID of the tenant to which the RBAC policy
	// will be enforced.
	TargetTenant pulumi.StringOutput `pulumi:"targetTenant"`
}

The RBAC policy resource contains functionality for working with Neutron RBAC Policies. Role-Based Access Control (RBAC) policy framework enables both operators and users to grant access to resources for specific projects.

Sharing an object with a specific project is accomplished by creating a policy entry that permits the target project the `accessAsShared` action on that object.

To make a network available as an external network for specific projects rather than all projects, use the `accessAsExternal` action. If a network is marked as external during creation, it now implicitly creates a wildcard RBAC policy granting everyone access to preserve previous behavior before this feature was added.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewRbacPolicyV2(ctx, "rbac_policy_1", &networking.RbacPolicyV2Args{
			Action:       pulumi.String("access_as_shared"),
			ObjectId:     network1.ID(),
			ObjectType:   pulumi.String("network"),
			TargetTenant: pulumi.String("20415a973c9e45d3917f078950644697"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RBAC policies can be imported using the `id`, e.g.

```sh $ pulumi import openstack:networking/rbacPolicyV2:RbacPolicyV2 rbac_policy_1 eae26a3e-1c33-4cc1-9c31-0cd729c438a1 ```

func GetRbacPolicyV2

func GetRbacPolicyV2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RbacPolicyV2State, opts ...pulumi.ResourceOption) (*RbacPolicyV2, error)

GetRbacPolicyV2 gets an existing RbacPolicyV2 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 NewRbacPolicyV2

func NewRbacPolicyV2(ctx *pulumi.Context,
	name string, args *RbacPolicyV2Args, opts ...pulumi.ResourceOption) (*RbacPolicyV2, error)

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

func (*RbacPolicyV2) ElementType

func (*RbacPolicyV2) ElementType() reflect.Type

func (*RbacPolicyV2) ToRbacPolicyV2Output

func (i *RbacPolicyV2) ToRbacPolicyV2Output() RbacPolicyV2Output

func (*RbacPolicyV2) ToRbacPolicyV2OutputWithContext

func (i *RbacPolicyV2) ToRbacPolicyV2OutputWithContext(ctx context.Context) RbacPolicyV2Output

type RbacPolicyV2Args

type RbacPolicyV2Args struct {
	// Action for the RBAC policy. Can either be
	// `accessAsExternal` or `accessAsShared`.
	Action pulumi.StringInput
	// The ID of the `objectType` resource. An
	// `objectType` of `network` returns a network ID and an `objectType` of
	// `qosPolicy` returns a QoS ID.
	ObjectId pulumi.StringInput
	// The type of the object that the RBAC policy
	// affects. Can be one of the following: `addressScope`, `addressGroup`,
	// `network`, `qosPolicy`, `securityGroup`, `subnetpool` or `bgpvpn`.
	ObjectType pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// The ID of the tenant to which the RBAC policy
	// will be enforced.
	TargetTenant pulumi.StringInput
}

The set of arguments for constructing a RbacPolicyV2 resource.

func (RbacPolicyV2Args) ElementType

func (RbacPolicyV2Args) ElementType() reflect.Type

type RbacPolicyV2Array

type RbacPolicyV2Array []RbacPolicyV2Input

func (RbacPolicyV2Array) ElementType

func (RbacPolicyV2Array) ElementType() reflect.Type

func (RbacPolicyV2Array) ToRbacPolicyV2ArrayOutput

func (i RbacPolicyV2Array) ToRbacPolicyV2ArrayOutput() RbacPolicyV2ArrayOutput

func (RbacPolicyV2Array) ToRbacPolicyV2ArrayOutputWithContext

func (i RbacPolicyV2Array) ToRbacPolicyV2ArrayOutputWithContext(ctx context.Context) RbacPolicyV2ArrayOutput

type RbacPolicyV2ArrayInput

type RbacPolicyV2ArrayInput interface {
	pulumi.Input

	ToRbacPolicyV2ArrayOutput() RbacPolicyV2ArrayOutput
	ToRbacPolicyV2ArrayOutputWithContext(context.Context) RbacPolicyV2ArrayOutput
}

RbacPolicyV2ArrayInput is an input type that accepts RbacPolicyV2Array and RbacPolicyV2ArrayOutput values. You can construct a concrete instance of `RbacPolicyV2ArrayInput` via:

RbacPolicyV2Array{ RbacPolicyV2Args{...} }

type RbacPolicyV2ArrayOutput

type RbacPolicyV2ArrayOutput struct{ *pulumi.OutputState }

func (RbacPolicyV2ArrayOutput) ElementType

func (RbacPolicyV2ArrayOutput) ElementType() reflect.Type

func (RbacPolicyV2ArrayOutput) Index

func (RbacPolicyV2ArrayOutput) ToRbacPolicyV2ArrayOutput

func (o RbacPolicyV2ArrayOutput) ToRbacPolicyV2ArrayOutput() RbacPolicyV2ArrayOutput

func (RbacPolicyV2ArrayOutput) ToRbacPolicyV2ArrayOutputWithContext

func (o RbacPolicyV2ArrayOutput) ToRbacPolicyV2ArrayOutputWithContext(ctx context.Context) RbacPolicyV2ArrayOutput

type RbacPolicyV2Input

type RbacPolicyV2Input interface {
	pulumi.Input

	ToRbacPolicyV2Output() RbacPolicyV2Output
	ToRbacPolicyV2OutputWithContext(ctx context.Context) RbacPolicyV2Output
}

type RbacPolicyV2Map

type RbacPolicyV2Map map[string]RbacPolicyV2Input

func (RbacPolicyV2Map) ElementType

func (RbacPolicyV2Map) ElementType() reflect.Type

func (RbacPolicyV2Map) ToRbacPolicyV2MapOutput

func (i RbacPolicyV2Map) ToRbacPolicyV2MapOutput() RbacPolicyV2MapOutput

func (RbacPolicyV2Map) ToRbacPolicyV2MapOutputWithContext

func (i RbacPolicyV2Map) ToRbacPolicyV2MapOutputWithContext(ctx context.Context) RbacPolicyV2MapOutput

type RbacPolicyV2MapInput

type RbacPolicyV2MapInput interface {
	pulumi.Input

	ToRbacPolicyV2MapOutput() RbacPolicyV2MapOutput
	ToRbacPolicyV2MapOutputWithContext(context.Context) RbacPolicyV2MapOutput
}

RbacPolicyV2MapInput is an input type that accepts RbacPolicyV2Map and RbacPolicyV2MapOutput values. You can construct a concrete instance of `RbacPolicyV2MapInput` via:

RbacPolicyV2Map{ "key": RbacPolicyV2Args{...} }

type RbacPolicyV2MapOutput

type RbacPolicyV2MapOutput struct{ *pulumi.OutputState }

func (RbacPolicyV2MapOutput) ElementType

func (RbacPolicyV2MapOutput) ElementType() reflect.Type

func (RbacPolicyV2MapOutput) MapIndex

func (RbacPolicyV2MapOutput) ToRbacPolicyV2MapOutput

func (o RbacPolicyV2MapOutput) ToRbacPolicyV2MapOutput() RbacPolicyV2MapOutput

func (RbacPolicyV2MapOutput) ToRbacPolicyV2MapOutputWithContext

func (o RbacPolicyV2MapOutput) ToRbacPolicyV2MapOutputWithContext(ctx context.Context) RbacPolicyV2MapOutput

type RbacPolicyV2Output

type RbacPolicyV2Output struct{ *pulumi.OutputState }

func (RbacPolicyV2Output) Action

Action for the RBAC policy. Can either be `accessAsExternal` or `accessAsShared`.

func (RbacPolicyV2Output) ElementType

func (RbacPolicyV2Output) ElementType() reflect.Type

func (RbacPolicyV2Output) ObjectId

func (o RbacPolicyV2Output) ObjectId() pulumi.StringOutput

The ID of the `objectType` resource. An `objectType` of `network` returns a network ID and an `objectType` of `qosPolicy` returns a QoS ID.

func (RbacPolicyV2Output) ObjectType

func (o RbacPolicyV2Output) ObjectType() pulumi.StringOutput

The type of the object that the RBAC policy affects. Can be one of the following: `addressScope`, `addressGroup`, `network`, `qosPolicy`, `securityGroup`, `subnetpool` or `bgpvpn`.

func (RbacPolicyV2Output) ProjectId

func (o RbacPolicyV2Output) ProjectId() pulumi.StringOutput

func (RbacPolicyV2Output) Region

The region in which to obtain the V2 networking client. A networking client is needed to configure a routing entry on a subnet. If omitted, the `region` argument of the provider is used. Changing this creates a new routing entry.

func (RbacPolicyV2Output) TargetTenant

func (o RbacPolicyV2Output) TargetTenant() pulumi.StringOutput

The ID of the tenant to which the RBAC policy will be enforced.

func (RbacPolicyV2Output) ToRbacPolicyV2Output

func (o RbacPolicyV2Output) ToRbacPolicyV2Output() RbacPolicyV2Output

func (RbacPolicyV2Output) ToRbacPolicyV2OutputWithContext

func (o RbacPolicyV2Output) ToRbacPolicyV2OutputWithContext(ctx context.Context) RbacPolicyV2Output

type RbacPolicyV2State

type RbacPolicyV2State struct {
	// Action for the RBAC policy. Can either be
	// `accessAsExternal` or `accessAsShared`.
	Action pulumi.StringPtrInput
	// The ID of the `objectType` resource. An
	// `objectType` of `network` returns a network ID and an `objectType` of
	// `qosPolicy` returns a QoS ID.
	ObjectId pulumi.StringPtrInput
	// The type of the object that the RBAC policy
	// affects. Can be one of the following: `addressScope`, `addressGroup`,
	// `network`, `qosPolicy`, `securityGroup`, `subnetpool` or `bgpvpn`.
	ObjectType pulumi.StringPtrInput
	ProjectId  pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// The ID of the tenant to which the RBAC policy
	// will be enforced.
	TargetTenant pulumi.StringPtrInput
}

func (RbacPolicyV2State) ElementType

func (RbacPolicyV2State) ElementType() reflect.Type

type Router

type Router struct {
	pulumi.CustomResourceState

	// Administrative up/down status for the router
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing router.
	AdminStateUp pulumi.BoolOutput `pulumi:"adminStateUp"`
	// The collection of tags assigned on the router, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new router.
	AvailabilityZoneHints pulumi.StringArrayOutput `pulumi:"availabilityZoneHints"`
	// Human-readable description for the router.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Indicates whether or not to create a
	// distributed router. The default policy setting in Neutron restricts
	// usage of this property to administrative users only.
	Distributed pulumi.BoolOutput `pulumi:"distributed"`
	// Enable Source NAT for the router. Valid values are
	// "true" or "false". An `externalNetworkId` has to be set in order to
	// set this property. Changing this updates the `enableSnat` of the router.
	// Setting this value **requires** an **ext-gw-mode** extension to be enabled
	// in OpenStack Neutron.
	EnableSnat pulumi.BoolOutput `pulumi:"enableSnat"`
	// An external fixed IP for the router. This
	// can be repeated. The structure is described below. An `externalNetworkId`
	// has to be set in order to set this property. Changing this updates the
	// external fixed IPs of the router.
	ExternalFixedIps RouterExternalFixedIpArrayOutput `pulumi:"externalFixedIps"`
	// The network UUID of an external gateway
	// for the router. A router with an external gateway is required if any
	// compute instances or load balancers will be using floating IPs. Changing
	// this updates the external gateway of the router.
	ExternalNetworkId pulumi.StringOutput `pulumi:"externalNetworkId"`
	// A list of external subnet IDs to try over
	// each to obtain a fixed IP for the router. If a subnet ID in a list has
	// exhausted floating IP pool, the next subnet ID will be tried. This argument is
	// used only during the router creation and allows to set only one external fixed
	// IP. Conflicts with an `externalFixedIp` argument.
	ExternalSubnetIds pulumi.StringArrayOutput `pulumi:"externalSubnetIds"`
	// A unique name for the router. Changing this
	// updates the `name` of an existing router.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router.
	Region pulumi.StringOutput `pulumi:"region"`
	// A set of string tags for the router.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the floating IP. Required if admin wants
	// to create a router for another tenant. Changing this creates a new router.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Map of additional driver-specific options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions RouterVendorOptionsPtrOutput `pulumi:"vendorOptions"`
}

Manages a V2 router resource within OpenStack.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewRouter(ctx, "router_1", &networking.RouterArgs{
			Name:              pulumi.String("my_router"),
			AdminStateUp:      pulumi.Bool(true),
			ExternalNetworkId: pulumi.String("f67f0d72-0ddf-11e4-9d95-e1f29f417e2f"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import openstack:networking/router:Router router_1 014395cd-89fc-4c9b-96b7-13d1ee79dad2 ```

func GetRouter

func GetRouter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouterState, opts ...pulumi.ResourceOption) (*Router, error)

GetRouter gets an existing Router 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 NewRouter

func NewRouter(ctx *pulumi.Context,
	name string, args *RouterArgs, opts ...pulumi.ResourceOption) (*Router, error)

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

func (*Router) ElementType

func (*Router) ElementType() reflect.Type

func (*Router) ToRouterOutput

func (i *Router) ToRouterOutput() RouterOutput

func (*Router) ToRouterOutputWithContext

func (i *Router) ToRouterOutputWithContext(ctx context.Context) RouterOutput

type RouterArgs

type RouterArgs struct {
	// Administrative up/down status for the router
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing router.
	AdminStateUp pulumi.BoolPtrInput
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new router.
	AvailabilityZoneHints pulumi.StringArrayInput
	// Human-readable description for the router.
	Description pulumi.StringPtrInput
	// Indicates whether or not to create a
	// distributed router. The default policy setting in Neutron restricts
	// usage of this property to administrative users only.
	Distributed pulumi.BoolPtrInput
	// Enable Source NAT for the router. Valid values are
	// "true" or "false". An `externalNetworkId` has to be set in order to
	// set this property. Changing this updates the `enableSnat` of the router.
	// Setting this value **requires** an **ext-gw-mode** extension to be enabled
	// in OpenStack Neutron.
	EnableSnat pulumi.BoolPtrInput
	// An external fixed IP for the router. This
	// can be repeated. The structure is described below. An `externalNetworkId`
	// has to be set in order to set this property. Changing this updates the
	// external fixed IPs of the router.
	ExternalFixedIps RouterExternalFixedIpArrayInput
	// The network UUID of an external gateway
	// for the router. A router with an external gateway is required if any
	// compute instances or load balancers will be using floating IPs. Changing
	// this updates the external gateway of the router.
	ExternalNetworkId pulumi.StringPtrInput
	// A list of external subnet IDs to try over
	// each to obtain a fixed IP for the router. If a subnet ID in a list has
	// exhausted floating IP pool, the next subnet ID will be tried. This argument is
	// used only during the router creation and allows to set only one external fixed
	// IP. Conflicts with an `externalFixedIp` argument.
	ExternalSubnetIds pulumi.StringArrayInput
	// A unique name for the router. Changing this
	// updates the `name` of an existing router.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router.
	Region pulumi.StringPtrInput
	// A set of string tags for the router.
	Tags pulumi.StringArrayInput
	// The owner of the floating IP. Required if admin wants
	// to create a router for another tenant. Changing this creates a new router.
	TenantId pulumi.StringPtrInput
	// Map of additional driver-specific options.
	ValueSpecs pulumi.StringMapInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions RouterVendorOptionsPtrInput
}

The set of arguments for constructing a Router resource.

func (RouterArgs) ElementType

func (RouterArgs) ElementType() reflect.Type

type RouterArray

type RouterArray []RouterInput

func (RouterArray) ElementType

func (RouterArray) ElementType() reflect.Type

func (RouterArray) ToRouterArrayOutput

func (i RouterArray) ToRouterArrayOutput() RouterArrayOutput

func (RouterArray) ToRouterArrayOutputWithContext

func (i RouterArray) ToRouterArrayOutputWithContext(ctx context.Context) RouterArrayOutput

type RouterArrayInput

type RouterArrayInput interface {
	pulumi.Input

	ToRouterArrayOutput() RouterArrayOutput
	ToRouterArrayOutputWithContext(context.Context) RouterArrayOutput
}

RouterArrayInput is an input type that accepts RouterArray and RouterArrayOutput values. You can construct a concrete instance of `RouterArrayInput` via:

RouterArray{ RouterArgs{...} }

type RouterArrayOutput

type RouterArrayOutput struct{ *pulumi.OutputState }

func (RouterArrayOutput) ElementType

func (RouterArrayOutput) ElementType() reflect.Type

func (RouterArrayOutput) Index

func (RouterArrayOutput) ToRouterArrayOutput

func (o RouterArrayOutput) ToRouterArrayOutput() RouterArrayOutput

func (RouterArrayOutput) ToRouterArrayOutputWithContext

func (o RouterArrayOutput) ToRouterArrayOutputWithContext(ctx context.Context) RouterArrayOutput

type RouterExternalFixedIp

type RouterExternalFixedIp struct {
	// The IP address to set on the router.
	IpAddress *string `pulumi:"ipAddress"`
	// Subnet in which the fixed IP belongs to.
	SubnetId *string `pulumi:"subnetId"`
}

type RouterExternalFixedIpArgs

type RouterExternalFixedIpArgs struct {
	// The IP address to set on the router.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// Subnet in which the fixed IP belongs to.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
}

func (RouterExternalFixedIpArgs) ElementType

func (RouterExternalFixedIpArgs) ElementType() reflect.Type

func (RouterExternalFixedIpArgs) ToRouterExternalFixedIpOutput

func (i RouterExternalFixedIpArgs) ToRouterExternalFixedIpOutput() RouterExternalFixedIpOutput

func (RouterExternalFixedIpArgs) ToRouterExternalFixedIpOutputWithContext

func (i RouterExternalFixedIpArgs) ToRouterExternalFixedIpOutputWithContext(ctx context.Context) RouterExternalFixedIpOutput

type RouterExternalFixedIpArray

type RouterExternalFixedIpArray []RouterExternalFixedIpInput

func (RouterExternalFixedIpArray) ElementType

func (RouterExternalFixedIpArray) ElementType() reflect.Type

func (RouterExternalFixedIpArray) ToRouterExternalFixedIpArrayOutput

func (i RouterExternalFixedIpArray) ToRouterExternalFixedIpArrayOutput() RouterExternalFixedIpArrayOutput

func (RouterExternalFixedIpArray) ToRouterExternalFixedIpArrayOutputWithContext

func (i RouterExternalFixedIpArray) ToRouterExternalFixedIpArrayOutputWithContext(ctx context.Context) RouterExternalFixedIpArrayOutput

type RouterExternalFixedIpArrayInput

type RouterExternalFixedIpArrayInput interface {
	pulumi.Input

	ToRouterExternalFixedIpArrayOutput() RouterExternalFixedIpArrayOutput
	ToRouterExternalFixedIpArrayOutputWithContext(context.Context) RouterExternalFixedIpArrayOutput
}

RouterExternalFixedIpArrayInput is an input type that accepts RouterExternalFixedIpArray and RouterExternalFixedIpArrayOutput values. You can construct a concrete instance of `RouterExternalFixedIpArrayInput` via:

RouterExternalFixedIpArray{ RouterExternalFixedIpArgs{...} }

type RouterExternalFixedIpArrayOutput

type RouterExternalFixedIpArrayOutput struct{ *pulumi.OutputState }

func (RouterExternalFixedIpArrayOutput) ElementType

func (RouterExternalFixedIpArrayOutput) Index

func (RouterExternalFixedIpArrayOutput) ToRouterExternalFixedIpArrayOutput

func (o RouterExternalFixedIpArrayOutput) ToRouterExternalFixedIpArrayOutput() RouterExternalFixedIpArrayOutput

func (RouterExternalFixedIpArrayOutput) ToRouterExternalFixedIpArrayOutputWithContext

func (o RouterExternalFixedIpArrayOutput) ToRouterExternalFixedIpArrayOutputWithContext(ctx context.Context) RouterExternalFixedIpArrayOutput

type RouterExternalFixedIpInput

type RouterExternalFixedIpInput interface {
	pulumi.Input

	ToRouterExternalFixedIpOutput() RouterExternalFixedIpOutput
	ToRouterExternalFixedIpOutputWithContext(context.Context) RouterExternalFixedIpOutput
}

RouterExternalFixedIpInput is an input type that accepts RouterExternalFixedIpArgs and RouterExternalFixedIpOutput values. You can construct a concrete instance of `RouterExternalFixedIpInput` via:

RouterExternalFixedIpArgs{...}

type RouterExternalFixedIpOutput

type RouterExternalFixedIpOutput struct{ *pulumi.OutputState }

func (RouterExternalFixedIpOutput) ElementType

func (RouterExternalFixedIpOutput) IpAddress

The IP address to set on the router.

func (RouterExternalFixedIpOutput) SubnetId

Subnet in which the fixed IP belongs to.

func (RouterExternalFixedIpOutput) ToRouterExternalFixedIpOutput

func (o RouterExternalFixedIpOutput) ToRouterExternalFixedIpOutput() RouterExternalFixedIpOutput

func (RouterExternalFixedIpOutput) ToRouterExternalFixedIpOutputWithContext

func (o RouterExternalFixedIpOutput) ToRouterExternalFixedIpOutputWithContext(ctx context.Context) RouterExternalFixedIpOutput

type RouterInput

type RouterInput interface {
	pulumi.Input

	ToRouterOutput() RouterOutput
	ToRouterOutputWithContext(ctx context.Context) RouterOutput
}

type RouterInterface

type RouterInterface struct {
	pulumi.CustomResourceState

	// A boolean indicating whether the routes from the
	// corresponding router ID should be deleted so that the router interface can
	// be destroyed without any errors. The default value is `false`.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// ID of the port this interface connects to. Changing
	// this creates a new router interface.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router interface.
	Region pulumi.StringOutput `pulumi:"region"`
	// ID of the router this interface belongs to. Changing
	// this creates a new router interface.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// ID of the subnet this interface connects to. Changing
	// this creates a new router interface.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Manages a V2 router interface resource within OpenStack.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("tf_test_network"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		router1, err := networking.NewRouter(ctx, "router_1", &networking.RouterArgs{
			Name:              pulumi.String("my_router"),
			ExternalNetworkId: pulumi.String("f67f0d72-0ddf-11e4-9d95-e1f29f417e2f"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewRouterInterface(ctx, "router_interface_1", &networking.RouterInterfaceArgs{
			RouterId: router1.ID(),
			SubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Router Interfaces can be imported using the port `id`, e.g.

$ openstack port list --router <router name or id>

```sh $ pulumi import openstack:networking/routerInterface:RouterInterface int_1 port_id ```

func GetRouterInterface

func GetRouterInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouterInterfaceState, opts ...pulumi.ResourceOption) (*RouterInterface, error)

GetRouterInterface gets an existing RouterInterface 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 NewRouterInterface

func NewRouterInterface(ctx *pulumi.Context,
	name string, args *RouterInterfaceArgs, opts ...pulumi.ResourceOption) (*RouterInterface, error)

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

func (*RouterInterface) ElementType

func (*RouterInterface) ElementType() reflect.Type

func (*RouterInterface) ToRouterInterfaceOutput

func (i *RouterInterface) ToRouterInterfaceOutput() RouterInterfaceOutput

func (*RouterInterface) ToRouterInterfaceOutputWithContext

func (i *RouterInterface) ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput

type RouterInterfaceArgs

type RouterInterfaceArgs struct {
	// A boolean indicating whether the routes from the
	// corresponding router ID should be deleted so that the router interface can
	// be destroyed without any errors. The default value is `false`.
	ForceDestroy pulumi.BoolPtrInput
	// ID of the port this interface connects to. Changing
	// this creates a new router interface.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router interface.
	Region pulumi.StringPtrInput
	// ID of the router this interface belongs to. Changing
	// this creates a new router interface.
	RouterId pulumi.StringInput
	// ID of the subnet this interface connects to. Changing
	// this creates a new router interface.
	SubnetId pulumi.StringPtrInput
}

The set of arguments for constructing a RouterInterface resource.

func (RouterInterfaceArgs) ElementType

func (RouterInterfaceArgs) ElementType() reflect.Type

type RouterInterfaceArray

type RouterInterfaceArray []RouterInterfaceInput

func (RouterInterfaceArray) ElementType

func (RouterInterfaceArray) ElementType() reflect.Type

func (RouterInterfaceArray) ToRouterInterfaceArrayOutput

func (i RouterInterfaceArray) ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput

func (RouterInterfaceArray) ToRouterInterfaceArrayOutputWithContext

func (i RouterInterfaceArray) ToRouterInterfaceArrayOutputWithContext(ctx context.Context) RouterInterfaceArrayOutput

type RouterInterfaceArrayInput

type RouterInterfaceArrayInput interface {
	pulumi.Input

	ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput
	ToRouterInterfaceArrayOutputWithContext(context.Context) RouterInterfaceArrayOutput
}

RouterInterfaceArrayInput is an input type that accepts RouterInterfaceArray and RouterInterfaceArrayOutput values. You can construct a concrete instance of `RouterInterfaceArrayInput` via:

RouterInterfaceArray{ RouterInterfaceArgs{...} }

type RouterInterfaceArrayOutput

type RouterInterfaceArrayOutput struct{ *pulumi.OutputState }

func (RouterInterfaceArrayOutput) ElementType

func (RouterInterfaceArrayOutput) ElementType() reflect.Type

func (RouterInterfaceArrayOutput) Index

func (RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutput

func (o RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput

func (RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutputWithContext

func (o RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutputWithContext(ctx context.Context) RouterInterfaceArrayOutput

type RouterInterfaceInput

type RouterInterfaceInput interface {
	pulumi.Input

	ToRouterInterfaceOutput() RouterInterfaceOutput
	ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput
}

type RouterInterfaceMap

type RouterInterfaceMap map[string]RouterInterfaceInput

func (RouterInterfaceMap) ElementType

func (RouterInterfaceMap) ElementType() reflect.Type

func (RouterInterfaceMap) ToRouterInterfaceMapOutput

func (i RouterInterfaceMap) ToRouterInterfaceMapOutput() RouterInterfaceMapOutput

func (RouterInterfaceMap) ToRouterInterfaceMapOutputWithContext

func (i RouterInterfaceMap) ToRouterInterfaceMapOutputWithContext(ctx context.Context) RouterInterfaceMapOutput

type RouterInterfaceMapInput

type RouterInterfaceMapInput interface {
	pulumi.Input

	ToRouterInterfaceMapOutput() RouterInterfaceMapOutput
	ToRouterInterfaceMapOutputWithContext(context.Context) RouterInterfaceMapOutput
}

RouterInterfaceMapInput is an input type that accepts RouterInterfaceMap and RouterInterfaceMapOutput values. You can construct a concrete instance of `RouterInterfaceMapInput` via:

RouterInterfaceMap{ "key": RouterInterfaceArgs{...} }

type RouterInterfaceMapOutput

type RouterInterfaceMapOutput struct{ *pulumi.OutputState }

func (RouterInterfaceMapOutput) ElementType

func (RouterInterfaceMapOutput) ElementType() reflect.Type

func (RouterInterfaceMapOutput) MapIndex

func (RouterInterfaceMapOutput) ToRouterInterfaceMapOutput

func (o RouterInterfaceMapOutput) ToRouterInterfaceMapOutput() RouterInterfaceMapOutput

func (RouterInterfaceMapOutput) ToRouterInterfaceMapOutputWithContext

func (o RouterInterfaceMapOutput) ToRouterInterfaceMapOutputWithContext(ctx context.Context) RouterInterfaceMapOutput

type RouterInterfaceOutput

type RouterInterfaceOutput struct{ *pulumi.OutputState }

func (RouterInterfaceOutput) ElementType

func (RouterInterfaceOutput) ElementType() reflect.Type

func (RouterInterfaceOutput) ForceDestroy

func (o RouterInterfaceOutput) ForceDestroy() pulumi.BoolPtrOutput

A boolean indicating whether the routes from the corresponding router ID should be deleted so that the router interface can be destroyed without any errors. The default value is `false`.

func (RouterInterfaceOutput) PortId

ID of the port this interface connects to. Changing this creates a new router interface.

func (RouterInterfaceOutput) Region

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

func (RouterInterfaceOutput) RouterId

ID of the router this interface belongs to. Changing this creates a new router interface.

func (RouterInterfaceOutput) SubnetId

ID of the subnet this interface connects to. Changing this creates a new router interface.

func (RouterInterfaceOutput) ToRouterInterfaceOutput

func (o RouterInterfaceOutput) ToRouterInterfaceOutput() RouterInterfaceOutput

func (RouterInterfaceOutput) ToRouterInterfaceOutputWithContext

func (o RouterInterfaceOutput) ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput

type RouterInterfaceState

type RouterInterfaceState struct {
	// A boolean indicating whether the routes from the
	// corresponding router ID should be deleted so that the router interface can
	// be destroyed without any errors. The default value is `false`.
	ForceDestroy pulumi.BoolPtrInput
	// ID of the port this interface connects to. Changing
	// this creates a new router interface.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router interface.
	Region pulumi.StringPtrInput
	// ID of the router this interface belongs to. Changing
	// this creates a new router interface.
	RouterId pulumi.StringPtrInput
	// ID of the subnet this interface connects to. Changing
	// this creates a new router interface.
	SubnetId pulumi.StringPtrInput
}

func (RouterInterfaceState) ElementType

func (RouterInterfaceState) ElementType() reflect.Type

type RouterMap

type RouterMap map[string]RouterInput

func (RouterMap) ElementType

func (RouterMap) ElementType() reflect.Type

func (RouterMap) ToRouterMapOutput

func (i RouterMap) ToRouterMapOutput() RouterMapOutput

func (RouterMap) ToRouterMapOutputWithContext

func (i RouterMap) ToRouterMapOutputWithContext(ctx context.Context) RouterMapOutput

type RouterMapInput

type RouterMapInput interface {
	pulumi.Input

	ToRouterMapOutput() RouterMapOutput
	ToRouterMapOutputWithContext(context.Context) RouterMapOutput
}

RouterMapInput is an input type that accepts RouterMap and RouterMapOutput values. You can construct a concrete instance of `RouterMapInput` via:

RouterMap{ "key": RouterArgs{...} }

type RouterMapOutput

type RouterMapOutput struct{ *pulumi.OutputState }

func (RouterMapOutput) ElementType

func (RouterMapOutput) ElementType() reflect.Type

func (RouterMapOutput) MapIndex

func (RouterMapOutput) ToRouterMapOutput

func (o RouterMapOutput) ToRouterMapOutput() RouterMapOutput

func (RouterMapOutput) ToRouterMapOutputWithContext

func (o RouterMapOutput) ToRouterMapOutputWithContext(ctx context.Context) RouterMapOutput

type RouterOutput

type RouterOutput struct{ *pulumi.OutputState }

func (RouterOutput) AdminStateUp

func (o RouterOutput) AdminStateUp() pulumi.BoolOutput

Administrative up/down status for the router (must be "true" or "false" if provided). Changing this updates the `adminStateUp` of an existing router.

func (RouterOutput) AllTags

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

func (RouterOutput) AvailabilityZoneHints

func (o RouterOutput) AvailabilityZoneHints() pulumi.StringArrayOutput

An availability zone is used to make network resources highly available. Used for resources with high availability so that they are scheduled on different availability zones. Changing this creates a new router.

func (RouterOutput) Description

func (o RouterOutput) Description() pulumi.StringPtrOutput

Human-readable description for the router.

func (RouterOutput) Distributed

func (o RouterOutput) Distributed() pulumi.BoolOutput

Indicates whether or not to create a distributed router. The default policy setting in Neutron restricts usage of this property to administrative users only.

func (RouterOutput) ElementType

func (RouterOutput) ElementType() reflect.Type

func (RouterOutput) EnableSnat

func (o RouterOutput) EnableSnat() pulumi.BoolOutput

Enable Source NAT for the router. Valid values are "true" or "false". An `externalNetworkId` has to be set in order to set this property. Changing this updates the `enableSnat` of the router. Setting this value **requires** an **ext-gw-mode** extension to be enabled in OpenStack Neutron.

func (RouterOutput) ExternalFixedIps

func (o RouterOutput) ExternalFixedIps() RouterExternalFixedIpArrayOutput

An external fixed IP for the router. This can be repeated. The structure is described below. An `externalNetworkId` has to be set in order to set this property. Changing this updates the external fixed IPs of the router.

func (RouterOutput) ExternalNetworkId

func (o RouterOutput) ExternalNetworkId() pulumi.StringOutput

The network UUID of an external gateway for the router. A router with an external gateway is required if any compute instances or load balancers will be using floating IPs. Changing this updates the external gateway of the router.

func (RouterOutput) ExternalSubnetIds

func (o RouterOutput) ExternalSubnetIds() pulumi.StringArrayOutput

A list of external subnet IDs to try over each to obtain a fixed IP for the router. If a subnet ID in a list has exhausted floating IP pool, the next subnet ID will be tried. This argument is used only during the router creation and allows to set only one external fixed IP. Conflicts with an `externalFixedIp` argument.

func (RouterOutput) Name

func (o RouterOutput) Name() pulumi.StringOutput

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

func (RouterOutput) Region

func (o RouterOutput) Region() pulumi.StringOutput

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

func (RouterOutput) Tags

A set of string tags for the router.

func (RouterOutput) TenantId

func (o RouterOutput) TenantId() pulumi.StringOutput

The owner of the floating IP. Required if admin wants to create a router for another tenant. Changing this creates a new router.

func (RouterOutput) ToRouterOutput

func (o RouterOutput) ToRouterOutput() RouterOutput

func (RouterOutput) ToRouterOutputWithContext

func (o RouterOutput) ToRouterOutputWithContext(ctx context.Context) RouterOutput

func (RouterOutput) ValueSpecs

func (o RouterOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional driver-specific options.

func (RouterOutput) VendorOptions

func (o RouterOutput) VendorOptions() RouterVendorOptionsPtrOutput

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

type RouterRoute

type RouterRoute struct {
	pulumi.CustomResourceState

	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringOutput `pulumi:"destinationCidr"`
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringOutput `pulumi:"nextHop"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringOutput `pulumi:"region"`
	// ID of the router this routing entry belongs to. Changing
	// this creates a new routing entry.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
}

Creates a routing entry on a OpenStack V2 router.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		router1, err := networking.NewRouter(ctx, "router_1", &networking.RouterArgs{
			Name:         pulumi.String("router_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		int1, err := networking.NewRouterInterface(ctx, "int_1", &networking.RouterInterfaceArgs{
			RouterId: router1.ID(),
			SubnetId: subnet1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewRouterRoute(ctx, "router_route_1", &networking.RouterRouteArgs{
			RouterId:        router1.ID(),
			DestinationCidr: pulumi.String("10.0.1.0/24"),
			NextHop:         pulumi.String("192.168.199.254"),
		}, pulumi.DependsOn([]pulumi.Resource{
			int1,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Notes

The `nextHop` IP address must be directly reachable from the router at the “networking.RouterRoute“ resource creation time. You can ensure that by explicitly specifying a dependency on the “networking.RouterInterface“ resource that connects the next hop to the router, as in the example above.

## Import

Routing entries can be imported using a combined ID using the following format: `<router_id>-route-<destination_cidr>-<next_hop>`

```sh $ pulumi import openstack:networking/routerRoute:RouterRoute router_route_1 686fe248-386c-4f70-9f6c-281607dad079-route-10.0.1.0/24-192.168.199.25 ```

func GetRouterRoute

func GetRouterRoute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouterRouteState, opts ...pulumi.ResourceOption) (*RouterRoute, error)

GetRouterRoute gets an existing RouterRoute 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 NewRouterRoute

func NewRouterRoute(ctx *pulumi.Context,
	name string, args *RouterRouteArgs, opts ...pulumi.ResourceOption) (*RouterRoute, error)

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

func (*RouterRoute) ElementType

func (*RouterRoute) ElementType() reflect.Type

func (*RouterRoute) ToRouterRouteOutput

func (i *RouterRoute) ToRouterRouteOutput() RouterRouteOutput

func (*RouterRoute) ToRouterRouteOutputWithContext

func (i *RouterRoute) ToRouterRouteOutputWithContext(ctx context.Context) RouterRouteOutput

type RouterRouteArgs

type RouterRouteArgs struct {
	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringInput
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// ID of the router this routing entry belongs to. Changing
	// this creates a new routing entry.
	RouterId pulumi.StringInput
}

The set of arguments for constructing a RouterRoute resource.

func (RouterRouteArgs) ElementType

func (RouterRouteArgs) ElementType() reflect.Type

type RouterRouteArray

type RouterRouteArray []RouterRouteInput

func (RouterRouteArray) ElementType

func (RouterRouteArray) ElementType() reflect.Type

func (RouterRouteArray) ToRouterRouteArrayOutput

func (i RouterRouteArray) ToRouterRouteArrayOutput() RouterRouteArrayOutput

func (RouterRouteArray) ToRouterRouteArrayOutputWithContext

func (i RouterRouteArray) ToRouterRouteArrayOutputWithContext(ctx context.Context) RouterRouteArrayOutput

type RouterRouteArrayInput

type RouterRouteArrayInput interface {
	pulumi.Input

	ToRouterRouteArrayOutput() RouterRouteArrayOutput
	ToRouterRouteArrayOutputWithContext(context.Context) RouterRouteArrayOutput
}

RouterRouteArrayInput is an input type that accepts RouterRouteArray and RouterRouteArrayOutput values. You can construct a concrete instance of `RouterRouteArrayInput` via:

RouterRouteArray{ RouterRouteArgs{...} }

type RouterRouteArrayOutput

type RouterRouteArrayOutput struct{ *pulumi.OutputState }

func (RouterRouteArrayOutput) ElementType

func (RouterRouteArrayOutput) ElementType() reflect.Type

func (RouterRouteArrayOutput) Index

func (RouterRouteArrayOutput) ToRouterRouteArrayOutput

func (o RouterRouteArrayOutput) ToRouterRouteArrayOutput() RouterRouteArrayOutput

func (RouterRouteArrayOutput) ToRouterRouteArrayOutputWithContext

func (o RouterRouteArrayOutput) ToRouterRouteArrayOutputWithContext(ctx context.Context) RouterRouteArrayOutput

type RouterRouteInput

type RouterRouteInput interface {
	pulumi.Input

	ToRouterRouteOutput() RouterRouteOutput
	ToRouterRouteOutputWithContext(ctx context.Context) RouterRouteOutput
}

type RouterRouteMap

type RouterRouteMap map[string]RouterRouteInput

func (RouterRouteMap) ElementType

func (RouterRouteMap) ElementType() reflect.Type

func (RouterRouteMap) ToRouterRouteMapOutput

func (i RouterRouteMap) ToRouterRouteMapOutput() RouterRouteMapOutput

func (RouterRouteMap) ToRouterRouteMapOutputWithContext

func (i RouterRouteMap) ToRouterRouteMapOutputWithContext(ctx context.Context) RouterRouteMapOutput

type RouterRouteMapInput

type RouterRouteMapInput interface {
	pulumi.Input

	ToRouterRouteMapOutput() RouterRouteMapOutput
	ToRouterRouteMapOutputWithContext(context.Context) RouterRouteMapOutput
}

RouterRouteMapInput is an input type that accepts RouterRouteMap and RouterRouteMapOutput values. You can construct a concrete instance of `RouterRouteMapInput` via:

RouterRouteMap{ "key": RouterRouteArgs{...} }

type RouterRouteMapOutput

type RouterRouteMapOutput struct{ *pulumi.OutputState }

func (RouterRouteMapOutput) ElementType

func (RouterRouteMapOutput) ElementType() reflect.Type

func (RouterRouteMapOutput) MapIndex

func (RouterRouteMapOutput) ToRouterRouteMapOutput

func (o RouterRouteMapOutput) ToRouterRouteMapOutput() RouterRouteMapOutput

func (RouterRouteMapOutput) ToRouterRouteMapOutputWithContext

func (o RouterRouteMapOutput) ToRouterRouteMapOutputWithContext(ctx context.Context) RouterRouteMapOutput

type RouterRouteOutput

type RouterRouteOutput struct{ *pulumi.OutputState }

func (RouterRouteOutput) DestinationCidr

func (o RouterRouteOutput) DestinationCidr() pulumi.StringOutput

CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.

func (RouterRouteOutput) ElementType

func (RouterRouteOutput) ElementType() reflect.Type

func (RouterRouteOutput) NextHop

IP address of the next hop gateway. Changing this creates a new routing entry.

func (RouterRouteOutput) Region

The region in which to obtain the V2 networking client. A networking client is needed to configure a routing entry on a router. If omitted, the `region` argument of the provider is used. Changing this creates a new routing entry.

func (RouterRouteOutput) RouterId

func (o RouterRouteOutput) RouterId() pulumi.StringOutput

ID of the router this routing entry belongs to. Changing this creates a new routing entry.

func (RouterRouteOutput) ToRouterRouteOutput

func (o RouterRouteOutput) ToRouterRouteOutput() RouterRouteOutput

func (RouterRouteOutput) ToRouterRouteOutputWithContext

func (o RouterRouteOutput) ToRouterRouteOutputWithContext(ctx context.Context) RouterRouteOutput

type RouterRouteState

type RouterRouteState struct {
	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringPtrInput
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// ID of the router this routing entry belongs to. Changing
	// this creates a new routing entry.
	RouterId pulumi.StringPtrInput
}

func (RouterRouteState) ElementType

func (RouterRouteState) ElementType() reflect.Type

type RouterState

type RouterState struct {
	// Administrative up/down status for the router
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing router.
	AdminStateUp pulumi.BoolPtrInput
	// The collection of tags assigned on the router, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// An availability zone is used to make
	// network resources highly available. Used for resources with high availability
	// so that they are scheduled on different availability zones. Changing this
	// creates a new router.
	AvailabilityZoneHints pulumi.StringArrayInput
	// Human-readable description for the router.
	Description pulumi.StringPtrInput
	// Indicates whether or not to create a
	// distributed router. The default policy setting in Neutron restricts
	// usage of this property to administrative users only.
	Distributed pulumi.BoolPtrInput
	// Enable Source NAT for the router. Valid values are
	// "true" or "false". An `externalNetworkId` has to be set in order to
	// set this property. Changing this updates the `enableSnat` of the router.
	// Setting this value **requires** an **ext-gw-mode** extension to be enabled
	// in OpenStack Neutron.
	EnableSnat pulumi.BoolPtrInput
	// An external fixed IP for the router. This
	// can be repeated. The structure is described below. An `externalNetworkId`
	// has to be set in order to set this property. Changing this updates the
	// external fixed IPs of the router.
	ExternalFixedIps RouterExternalFixedIpArrayInput
	// The network UUID of an external gateway
	// for the router. A router with an external gateway is required if any
	// compute instances or load balancers will be using floating IPs. Changing
	// this updates the external gateway of the router.
	ExternalNetworkId pulumi.StringPtrInput
	// A list of external subnet IDs to try over
	// each to obtain a fixed IP for the router. If a subnet ID in a list has
	// exhausted floating IP pool, the next subnet ID will be tried. This argument is
	// used only during the router creation and allows to set only one external fixed
	// IP. Conflicts with an `externalFixedIp` argument.
	ExternalSubnetIds pulumi.StringArrayInput
	// A unique name for the router. Changing this
	// updates the `name` of an existing router.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a router. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// router.
	Region pulumi.StringPtrInput
	// A set of string tags for the router.
	Tags pulumi.StringArrayInput
	// The owner of the floating IP. Required if admin wants
	// to create a router for another tenant. Changing this creates a new router.
	TenantId pulumi.StringPtrInput
	// Map of additional driver-specific options.
	ValueSpecs pulumi.StringMapInput
	// Map of additional vendor-specific options.
	// Supported options are described below.
	VendorOptions RouterVendorOptionsPtrInput
}

func (RouterState) ElementType

func (RouterState) ElementType() reflect.Type

type RouterVendorOptions

type RouterVendorOptions struct {
	// Boolean to control whether
	// the Router gateway is assigned during creation or updated after creation.
	SetRouterGatewayAfterCreate *bool `pulumi:"setRouterGatewayAfterCreate"`
}

type RouterVendorOptionsArgs

type RouterVendorOptionsArgs struct {
	// Boolean to control whether
	// the Router gateway is assigned during creation or updated after creation.
	SetRouterGatewayAfterCreate pulumi.BoolPtrInput `pulumi:"setRouterGatewayAfterCreate"`
}

func (RouterVendorOptionsArgs) ElementType

func (RouterVendorOptionsArgs) ElementType() reflect.Type

func (RouterVendorOptionsArgs) ToRouterVendorOptionsOutput

func (i RouterVendorOptionsArgs) ToRouterVendorOptionsOutput() RouterVendorOptionsOutput

func (RouterVendorOptionsArgs) ToRouterVendorOptionsOutputWithContext

func (i RouterVendorOptionsArgs) ToRouterVendorOptionsOutputWithContext(ctx context.Context) RouterVendorOptionsOutput

func (RouterVendorOptionsArgs) ToRouterVendorOptionsPtrOutput

func (i RouterVendorOptionsArgs) ToRouterVendorOptionsPtrOutput() RouterVendorOptionsPtrOutput

func (RouterVendorOptionsArgs) ToRouterVendorOptionsPtrOutputWithContext

func (i RouterVendorOptionsArgs) ToRouterVendorOptionsPtrOutputWithContext(ctx context.Context) RouterVendorOptionsPtrOutput

type RouterVendorOptionsInput

type RouterVendorOptionsInput interface {
	pulumi.Input

	ToRouterVendorOptionsOutput() RouterVendorOptionsOutput
	ToRouterVendorOptionsOutputWithContext(context.Context) RouterVendorOptionsOutput
}

RouterVendorOptionsInput is an input type that accepts RouterVendorOptionsArgs and RouterVendorOptionsOutput values. You can construct a concrete instance of `RouterVendorOptionsInput` via:

RouterVendorOptionsArgs{...}

type RouterVendorOptionsOutput

type RouterVendorOptionsOutput struct{ *pulumi.OutputState }

func (RouterVendorOptionsOutput) ElementType

func (RouterVendorOptionsOutput) ElementType() reflect.Type

func (RouterVendorOptionsOutput) SetRouterGatewayAfterCreate

func (o RouterVendorOptionsOutput) SetRouterGatewayAfterCreate() pulumi.BoolPtrOutput

Boolean to control whether the Router gateway is assigned during creation or updated after creation.

func (RouterVendorOptionsOutput) ToRouterVendorOptionsOutput

func (o RouterVendorOptionsOutput) ToRouterVendorOptionsOutput() RouterVendorOptionsOutput

func (RouterVendorOptionsOutput) ToRouterVendorOptionsOutputWithContext

func (o RouterVendorOptionsOutput) ToRouterVendorOptionsOutputWithContext(ctx context.Context) RouterVendorOptionsOutput

func (RouterVendorOptionsOutput) ToRouterVendorOptionsPtrOutput

func (o RouterVendorOptionsOutput) ToRouterVendorOptionsPtrOutput() RouterVendorOptionsPtrOutput

func (RouterVendorOptionsOutput) ToRouterVendorOptionsPtrOutputWithContext

func (o RouterVendorOptionsOutput) ToRouterVendorOptionsPtrOutputWithContext(ctx context.Context) RouterVendorOptionsPtrOutput

type RouterVendorOptionsPtrInput

type RouterVendorOptionsPtrInput interface {
	pulumi.Input

	ToRouterVendorOptionsPtrOutput() RouterVendorOptionsPtrOutput
	ToRouterVendorOptionsPtrOutputWithContext(context.Context) RouterVendorOptionsPtrOutput
}

RouterVendorOptionsPtrInput is an input type that accepts RouterVendorOptionsArgs, RouterVendorOptionsPtr and RouterVendorOptionsPtrOutput values. You can construct a concrete instance of `RouterVendorOptionsPtrInput` via:

        RouterVendorOptionsArgs{...}

or:

        nil

type RouterVendorOptionsPtrOutput

type RouterVendorOptionsPtrOutput struct{ *pulumi.OutputState }

func (RouterVendorOptionsPtrOutput) Elem

func (RouterVendorOptionsPtrOutput) ElementType

func (RouterVendorOptionsPtrOutput) SetRouterGatewayAfterCreate

func (o RouterVendorOptionsPtrOutput) SetRouterGatewayAfterCreate() pulumi.BoolPtrOutput

Boolean to control whether the Router gateway is assigned during creation or updated after creation.

func (RouterVendorOptionsPtrOutput) ToRouterVendorOptionsPtrOutput

func (o RouterVendorOptionsPtrOutput) ToRouterVendorOptionsPtrOutput() RouterVendorOptionsPtrOutput

func (RouterVendorOptionsPtrOutput) ToRouterVendorOptionsPtrOutputWithContext

func (o RouterVendorOptionsPtrOutput) ToRouterVendorOptionsPtrOutputWithContext(ctx context.Context) RouterVendorOptionsPtrOutput

type SecGroup

type SecGroup struct {
	pulumi.CustomResourceState

	// The collection of tags assigned on the security group, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// Whether or not to delete the default
	// egress security rules. This is `false` by default. See the below note
	// for more information.
	DeleteDefaultRules pulumi.BoolPtrOutput `pulumi:"deleteDefaultRules"`
	// A unique name for the security group.
	Description pulumi.StringOutput `pulumi:"description"`
	// A unique name for the security group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringOutput `pulumi:"region"`
	// Indicates if the security group is stateful or
	// stateless. Update of the stateful argument is allowed when there is no port
	// associated with the security group. Available only in OpenStack environments
	// with the `stateful-security-group` extension. Defaults to true.
	Stateful pulumi.BoolOutput `pulumi:"stateful"`
	// A set of string tags for the security group.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

## Import

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

```sh $ pulumi import openstack:networking/secGroup:SecGroup secgroup_1 38809219-5e8a-4852-9139-6f461c90e8bc ```

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 {
	// Whether or not to delete the default
	// egress security rules. This is `false` by default. See the below note
	// for more information.
	DeleteDefaultRules pulumi.BoolPtrInput
	// A unique name for the security group.
	Description pulumi.StringPtrInput
	// A unique name for the security group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringPtrInput
	// Indicates if the security group is stateful or
	// stateless. Update of the stateful argument is allowed when there is no port
	// associated with the security group. Available only in OpenStack environments
	// with the `stateful-security-group` extension. Defaults to true.
	Stateful pulumi.BoolPtrInput
	// A set of string tags for the security group.
	Tags pulumi.StringArrayInput
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group.
	TenantId pulumi.StringPtrInput
}

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

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

func (SecGroupOutput) DeleteDefaultRules

func (o SecGroupOutput) DeleteDefaultRules() pulumi.BoolPtrOutput

Whether or not to delete the default egress security rules. This is `false` by default. See the below note for more information.

func (SecGroupOutput) Description

func (o SecGroupOutput) Description() pulumi.StringOutput

A unique name for the security group.

func (SecGroupOutput) ElementType

func (SecGroupOutput) ElementType() reflect.Type

func (SecGroupOutput) Name

A unique name for the security group.

func (SecGroupOutput) Region

func (o SecGroupOutput) Region() pulumi.StringOutput

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

func (SecGroupOutput) Stateful added in v4.1.0

func (o SecGroupOutput) Stateful() pulumi.BoolOutput

Indicates if the security group is stateful or stateless. Update of the stateful argument is allowed when there is no port associated with the security group. Available only in OpenStack environments with the `stateful-security-group` extension. Defaults to true.

func (SecGroupOutput) Tags

A set of string tags for the security group.

func (SecGroupOutput) TenantId

func (o SecGroupOutput) TenantId() pulumi.StringOutput

The owner of the security group. Required if admin wants to create a port for another tenant. Changing this creates a new security group.

func (SecGroupOutput) ToSecGroupOutput

func (o SecGroupOutput) ToSecGroupOutput() SecGroupOutput

func (SecGroupOutput) ToSecGroupOutputWithContext

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

type SecGroupRule

type SecGroupRule struct {
	pulumi.CustomResourceState

	// A description of the rule. Changing this creates a new security group rule.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The direction of the rule, valid values are __ingress__
	// or __egress__. Changing this creates a new security group rule.
	Direction pulumi.StringOutput `pulumi:"direction"`
	// The layer 3 protocol type, valid values are __IPv4__
	// or __IPv6__. Changing this creates a new security group rule.
	Ethertype pulumi.StringOutput `pulumi:"ethertype"`
	// The higher part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMax pulumi.IntOutput `pulumi:"portRangeMax"`
	// The lower part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMin pulumi.IntOutput `pulumi:"portRangeMin"`
	// The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.
	// * __tcp__
	// * __udp__
	// * __icmp__
	// * __ah__
	// * __dccp__
	// * __egp__
	// * __esp__
	// * __gre__
	// * __igmp__
	// * __ipv6-encap__
	// * __ipv6-frag__
	// * __ipv6-icmp__
	// * __ipv6-nonxt__
	// * __ipv6-opts__
	// * __ipv6-route__
	// * __ospf__
	// * __pgm__
	// * __rsvp__
	// * __sctp__
	// * __udplite__
	// * __vrrp__
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group rule.
	Region pulumi.StringOutput `pulumi:"region"`
	// The remote group id, the value needs to be an
	// Openstack ID of a security group in the same tenant. Changing this creates
	// a new security group rule.
	RemoteGroupId pulumi.StringOutput `pulumi:"remoteGroupId"`
	// The remote CIDR, the value needs to be a valid
	// CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringOutput `pulumi:"remoteIpPrefix"`
	// The security group id the rule should belong
	// to, the value needs to be an Openstack ID of a security group in the same
	// tenant. Changing this creates a new security group rule.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group rule.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a V2 neutron security group rule resource within OpenStack. Unlike Nova security groups, neutron separates the group from the rules and also allows an admin to target a specific tenant_id.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		secgroup1, err := networking.NewSecGroup(ctx, "secgroup_1", &networking.SecGroupArgs{
			Name:        pulumi.String("secgroup_1"),
			Description: pulumi.String("My neutron security group"),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewSecGroupRule(ctx, "secgroup_rule_1", &networking.SecGroupRuleArgs{
			Direction:       pulumi.String("ingress"),
			Ethertype:       pulumi.String("IPv4"),
			Protocol:        pulumi.String("tcp"),
			PortRangeMin:    pulumi.Int(22),
			PortRangeMax:    pulumi.Int(22),
			RemoteIpPrefix:  pulumi.String("0.0.0.0/0"),
			SecurityGroupId: secgroup1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **Note:** To expose the full port-range 1:65535, use `0` for `portRangeMin` and `portRangeMax`.

## Import

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

```sh $ pulumi import openstack:networking/secGroupRule:SecGroupRule secgroup_rule_1 aeb68ee3-6e9d-4256-955c-9584a6212745 ```

func GetSecGroupRule

func GetSecGroupRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecGroupRuleState, opts ...pulumi.ResourceOption) (*SecGroupRule, error)

GetSecGroupRule gets an existing SecGroupRule 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 NewSecGroupRule

func NewSecGroupRule(ctx *pulumi.Context,
	name string, args *SecGroupRuleArgs, opts ...pulumi.ResourceOption) (*SecGroupRule, error)

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

func (*SecGroupRule) ElementType

func (*SecGroupRule) ElementType() reflect.Type

func (*SecGroupRule) ToSecGroupRuleOutput

func (i *SecGroupRule) ToSecGroupRuleOutput() SecGroupRuleOutput

func (*SecGroupRule) ToSecGroupRuleOutputWithContext

func (i *SecGroupRule) ToSecGroupRuleOutputWithContext(ctx context.Context) SecGroupRuleOutput

type SecGroupRuleArgs

type SecGroupRuleArgs struct {
	// A description of the rule. Changing this creates a new security group rule.
	Description pulumi.StringPtrInput
	// The direction of the rule, valid values are __ingress__
	// or __egress__. Changing this creates a new security group rule.
	Direction pulumi.StringInput
	// The layer 3 protocol type, valid values are __IPv4__
	// or __IPv6__. Changing this creates a new security group rule.
	Ethertype pulumi.StringInput
	// The higher part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMax pulumi.IntPtrInput
	// The lower part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMin pulumi.IntPtrInput
	// The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.
	// * __tcp__
	// * __udp__
	// * __icmp__
	// * __ah__
	// * __dccp__
	// * __egp__
	// * __esp__
	// * __gre__
	// * __igmp__
	// * __ipv6-encap__
	// * __ipv6-frag__
	// * __ipv6-icmp__
	// * __ipv6-nonxt__
	// * __ipv6-opts__
	// * __ipv6-route__
	// * __ospf__
	// * __pgm__
	// * __rsvp__
	// * __sctp__
	// * __udplite__
	// * __vrrp__
	Protocol pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group rule.
	Region pulumi.StringPtrInput
	// The remote group id, the value needs to be an
	// Openstack ID of a security group in the same tenant. Changing this creates
	// a new security group rule.
	RemoteGroupId pulumi.StringPtrInput
	// The remote CIDR, the value needs to be a valid
	// CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringPtrInput
	// The security group id the rule should belong
	// to, the value needs to be an Openstack ID of a security group in the same
	// tenant. Changing this creates a new security group rule.
	SecurityGroupId pulumi.StringInput
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group rule.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a SecGroupRule resource.

func (SecGroupRuleArgs) ElementType

func (SecGroupRuleArgs) ElementType() reflect.Type

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(ctx context.Context) SecGroupRuleOutput
}

type SecGroupRuleMap

type SecGroupRuleMap map[string]SecGroupRuleInput

func (SecGroupRuleMap) ElementType

func (SecGroupRuleMap) ElementType() reflect.Type

func (SecGroupRuleMap) ToSecGroupRuleMapOutput

func (i SecGroupRuleMap) ToSecGroupRuleMapOutput() SecGroupRuleMapOutput

func (SecGroupRuleMap) ToSecGroupRuleMapOutputWithContext

func (i SecGroupRuleMap) ToSecGroupRuleMapOutputWithContext(ctx context.Context) SecGroupRuleMapOutput

type SecGroupRuleMapInput

type SecGroupRuleMapInput interface {
	pulumi.Input

	ToSecGroupRuleMapOutput() SecGroupRuleMapOutput
	ToSecGroupRuleMapOutputWithContext(context.Context) SecGroupRuleMapOutput
}

SecGroupRuleMapInput is an input type that accepts SecGroupRuleMap and SecGroupRuleMapOutput values. You can construct a concrete instance of `SecGroupRuleMapInput` via:

SecGroupRuleMap{ "key": SecGroupRuleArgs{...} }

type SecGroupRuleMapOutput

type SecGroupRuleMapOutput struct{ *pulumi.OutputState }

func (SecGroupRuleMapOutput) ElementType

func (SecGroupRuleMapOutput) ElementType() reflect.Type

func (SecGroupRuleMapOutput) MapIndex

func (SecGroupRuleMapOutput) ToSecGroupRuleMapOutput

func (o SecGroupRuleMapOutput) ToSecGroupRuleMapOutput() SecGroupRuleMapOutput

func (SecGroupRuleMapOutput) ToSecGroupRuleMapOutputWithContext

func (o SecGroupRuleMapOutput) ToSecGroupRuleMapOutputWithContext(ctx context.Context) SecGroupRuleMapOutput

type SecGroupRuleOutput

type SecGroupRuleOutput struct{ *pulumi.OutputState }

func (SecGroupRuleOutput) Description

func (o SecGroupRuleOutput) Description() pulumi.StringPtrOutput

A description of the rule. Changing this creates a new security group rule.

func (SecGroupRuleOutput) Direction

func (o SecGroupRuleOutput) Direction() pulumi.StringOutput

The direction of the rule, valid values are __ingress__ or __egress__. Changing this creates a new security group rule.

func (SecGroupRuleOutput) ElementType

func (SecGroupRuleOutput) ElementType() reflect.Type

func (SecGroupRuleOutput) Ethertype

func (o SecGroupRuleOutput) Ethertype() pulumi.StringOutput

The layer 3 protocol type, valid values are __IPv4__ or __IPv6__. Changing this creates a new security group rule.

func (SecGroupRuleOutput) PortRangeMax

func (o SecGroupRuleOutput) PortRangeMax() pulumi.IntOutput

The higher part of the allowed port range, valid integer value needs to be between 1 and 65535. Changing this creates a new security group rule.

func (SecGroupRuleOutput) PortRangeMin

func (o SecGroupRuleOutput) PortRangeMin() pulumi.IntOutput

The lower part of the allowed port range, valid integer value needs to be between 1 and 65535. Changing this creates a new security group rule.

func (SecGroupRuleOutput) Protocol

func (o SecGroupRuleOutput) Protocol() pulumi.StringOutput

The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range. * __tcp__ * __udp__ * __icmp__ * __ah__ * __dccp__ * __egp__ * __esp__ * __gre__ * __igmp__ * __ipv6-encap__ * __ipv6-frag__ * __ipv6-icmp__ * __ipv6-nonxt__ * __ipv6-opts__ * __ipv6-route__ * __ospf__ * __pgm__ * __rsvp__ * __sctp__ * __udplite__ * __vrrp__

func (SecGroupRuleOutput) Region

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

func (SecGroupRuleOutput) RemoteGroupId

func (o SecGroupRuleOutput) RemoteGroupId() pulumi.StringOutput

The remote group id, the value needs to be an Openstack ID of a security group in the same tenant. Changing this creates a new security group rule.

func (SecGroupRuleOutput) RemoteIpPrefix

func (o SecGroupRuleOutput) RemoteIpPrefix() pulumi.StringOutput

The remote CIDR, the value needs to be a valid CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.

func (SecGroupRuleOutput) SecurityGroupId

func (o SecGroupRuleOutput) SecurityGroupId() pulumi.StringOutput

The security group id the rule should belong to, the value needs to be an Openstack ID of a security group in the same tenant. Changing this creates a new security group rule.

func (SecGroupRuleOutput) TenantId

func (o SecGroupRuleOutput) TenantId() pulumi.StringOutput

The owner of the security group. Required if admin wants to create a port for another tenant. 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 SecGroupRuleState

type SecGroupRuleState struct {
	// A description of the rule. Changing this creates a new security group rule.
	Description pulumi.StringPtrInput
	// The direction of the rule, valid values are __ingress__
	// or __egress__. Changing this creates a new security group rule.
	Direction pulumi.StringPtrInput
	// The layer 3 protocol type, valid values are __IPv4__
	// or __IPv6__. Changing this creates a new security group rule.
	Ethertype pulumi.StringPtrInput
	// The higher part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMax pulumi.IntPtrInput
	// The lower part of the allowed port range, valid
	// integer value needs to be between 1 and 65535. Changing this creates a new
	// security group rule.
	PortRangeMin pulumi.IntPtrInput
	// The layer 4 protocol type, valid values are following. Changing this creates a new security group rule. This is required if you want to specify a port range.
	// * __tcp__
	// * __udp__
	// * __icmp__
	// * __ah__
	// * __dccp__
	// * __egp__
	// * __esp__
	// * __gre__
	// * __igmp__
	// * __ipv6-encap__
	// * __ipv6-frag__
	// * __ipv6-icmp__
	// * __ipv6-nonxt__
	// * __ipv6-opts__
	// * __ipv6-route__
	// * __ospf__
	// * __pgm__
	// * __rsvp__
	// * __sctp__
	// * __udplite__
	// * __vrrp__
	Protocol pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group rule.
	Region pulumi.StringPtrInput
	// The remote group id, the value needs to be an
	// Openstack ID of a security group in the same tenant. Changing this creates
	// a new security group rule.
	RemoteGroupId pulumi.StringPtrInput
	// The remote CIDR, the value needs to be a valid
	// CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringPtrInput
	// The security group id the rule should belong
	// to, the value needs to be an Openstack ID of a security group in the same
	// tenant. Changing this creates a new security group rule.
	SecurityGroupId pulumi.StringPtrInput
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group rule.
	TenantId pulumi.StringPtrInput
}

func (SecGroupRuleState) ElementType

func (SecGroupRuleState) ElementType() reflect.Type

type SecGroupState

type SecGroupState struct {
	// The collection of tags assigned on the security group, which have
	// been explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// Whether or not to delete the default
	// egress security rules. This is `false` by default. See the below note
	// for more information.
	DeleteDefaultRules pulumi.BoolPtrInput
	// A unique name for the security group.
	Description pulumi.StringPtrInput
	// A unique name for the security group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a port. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// security group.
	Region pulumi.StringPtrInput
	// Indicates if the security group is stateful or
	// stateless. Update of the stateful argument is allowed when there is no port
	// associated with the security group. Available only in OpenStack environments
	// with the `stateful-security-group` extension. Defaults to true.
	Stateful pulumi.BoolPtrInput
	// A set of string tags for the security group.
	Tags pulumi.StringArrayInput
	// The owner of the security group. Required if admin
	// wants to create a port for another tenant. Changing this creates a new
	// security group.
	TenantId pulumi.StringPtrInput
}

func (SecGroupState) ElementType

func (SecGroupState) ElementType() reflect.Type

type Subnet

type Subnet struct {
	pulumi.CustomResourceState

	// The collection of ags assigned on the subnet, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// A block declaring the start and end range of
	// the IP addresses available for use with DHCP in this subnet. Multiple
	// `allocationPool` blocks can be declared, providing the subnet with more
	// than one range of IP addresses to use with DHCP. However, each IP range
	// must be from the same CIDR that the subnet is part of.
	// The `allocationPool` block is documented below.
	AllocationPools SubnetAllocationPoolArrayOutput `pulumi:"allocationPools"`
	// CIDR representing IP range for this subnet, based on IP
	// version. You can omit this option if you are creating a subnet from a
	// subnet pool.
	Cidr pulumi.StringOutput `pulumi:"cidr"`
	// Human-readable description of the subnet. Changing this
	// updates the name of the existing subnet.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// An array of DNS name server names used by hosts
	// in this subnet. Changing this updates the DNS name servers for the existing
	// subnet.
	DnsNameservers pulumi.StringArrayOutput `pulumi:"dnsNameservers"`
	// Whether to publish DNS records for IPs
	// from this subnet. Defaults is false.
	DnsPublishFixedIp pulumi.BoolPtrOutput `pulumi:"dnsPublishFixedIp"`
	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value enables or
	// disables the DHCP capabilities of the existing subnet. Defaults to true.
	EnableDhcp pulumi.BoolPtrOutput `pulumi:"enableDhcp"`
	// Default gateway used by devices in this subnet.
	// Leaving this blank and not setting `noGateway` will cause a default
	// gateway of `.1` to be used. Changing this updates the gateway IP of the
	// existing subnet.
	GatewayIp pulumi.StringOutput `pulumi:"gatewayIp"`
	// IP version, either 4 (default) or 6. Changing this creates a
	// new subnet.
	IpVersion pulumi.IntPtrOutput `pulumi:"ipVersion"`
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode pulumi.StringOutput `pulumi:"ipv6AddressMode"`
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode pulumi.StringOutput `pulumi:"ipv6RaMode"`
	// The name of the subnet. Changing this updates the name of
	// the existing subnet.
	Name pulumi.StringOutput `pulumi:"name"`
	// The UUID of the parent network. Changing this
	// creates a new subnet.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// Do not set a gateway IP on this subnet. Changing
	// this removes or adds a default gateway IP of the existing subnet.
	NoGateway pulumi.BoolPtrOutput `pulumi:"noGateway"`
	// The prefix length to use when creating a subnet
	// from a subnet pool. The default subnet pool prefix length that was defined
	// when creating the subnet pool will be used if not provided. Changing this
	// creates a new subnet.
	PrefixLength pulumi.IntPtrOutput `pulumi:"prefixLength"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnet.
	Region pulumi.StringOutput `pulumi:"region"`
	// An array of service types used by the subnet.
	// Changing this updates the service types for the existing subnet.
	ServiceTypes pulumi.StringArrayOutput `pulumi:"serviceTypes"`
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId pulumi.StringPtrOutput `pulumi:"subnetpoolId"`
	// A set of string tags for the subnet.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the subnet. Required if admin wants to
	// create a subnet for another tenant. Changing this creates a new subnet.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

Manages a V2 Neutron subnet resource within OpenStack.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("tf_test_network"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import openstack:networking/subnet:Subnet subnet_1 da4faf16-5546-41e4-8330-4d0002b74048 ```

func GetSubnet

func GetSubnet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetState, opts ...pulumi.ResourceOption) (*Subnet, error)

GetSubnet gets an existing Subnet 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 NewSubnet

func NewSubnet(ctx *pulumi.Context,
	name string, args *SubnetArgs, opts ...pulumi.ResourceOption) (*Subnet, error)

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

func (*Subnet) ElementType

func (*Subnet) ElementType() reflect.Type

func (*Subnet) ToSubnetOutput

func (i *Subnet) ToSubnetOutput() SubnetOutput

func (*Subnet) ToSubnetOutputWithContext

func (i *Subnet) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

type SubnetAllocationPool

type SubnetAllocationPool struct {
	// The ending address.
	End string `pulumi:"end"`
	// The starting address.
	Start string `pulumi:"start"`
}

type SubnetAllocationPoolArgs

type SubnetAllocationPoolArgs struct {
	// The ending address.
	End pulumi.StringInput `pulumi:"end"`
	// The starting address.
	Start pulumi.StringInput `pulumi:"start"`
}

func (SubnetAllocationPoolArgs) ElementType

func (SubnetAllocationPoolArgs) ElementType() reflect.Type

func (SubnetAllocationPoolArgs) ToSubnetAllocationPoolOutput

func (i SubnetAllocationPoolArgs) ToSubnetAllocationPoolOutput() SubnetAllocationPoolOutput

func (SubnetAllocationPoolArgs) ToSubnetAllocationPoolOutputWithContext

func (i SubnetAllocationPoolArgs) ToSubnetAllocationPoolOutputWithContext(ctx context.Context) SubnetAllocationPoolOutput

type SubnetAllocationPoolArray

type SubnetAllocationPoolArray []SubnetAllocationPoolInput

func (SubnetAllocationPoolArray) ElementType

func (SubnetAllocationPoolArray) ElementType() reflect.Type

func (SubnetAllocationPoolArray) ToSubnetAllocationPoolArrayOutput

func (i SubnetAllocationPoolArray) ToSubnetAllocationPoolArrayOutput() SubnetAllocationPoolArrayOutput

func (SubnetAllocationPoolArray) ToSubnetAllocationPoolArrayOutputWithContext

func (i SubnetAllocationPoolArray) ToSubnetAllocationPoolArrayOutputWithContext(ctx context.Context) SubnetAllocationPoolArrayOutput

type SubnetAllocationPoolArrayInput

type SubnetAllocationPoolArrayInput interface {
	pulumi.Input

	ToSubnetAllocationPoolArrayOutput() SubnetAllocationPoolArrayOutput
	ToSubnetAllocationPoolArrayOutputWithContext(context.Context) SubnetAllocationPoolArrayOutput
}

SubnetAllocationPoolArrayInput is an input type that accepts SubnetAllocationPoolArray and SubnetAllocationPoolArrayOutput values. You can construct a concrete instance of `SubnetAllocationPoolArrayInput` via:

SubnetAllocationPoolArray{ SubnetAllocationPoolArgs{...} }

type SubnetAllocationPoolArrayOutput

type SubnetAllocationPoolArrayOutput struct{ *pulumi.OutputState }

func (SubnetAllocationPoolArrayOutput) ElementType

func (SubnetAllocationPoolArrayOutput) Index

func (SubnetAllocationPoolArrayOutput) ToSubnetAllocationPoolArrayOutput

func (o SubnetAllocationPoolArrayOutput) ToSubnetAllocationPoolArrayOutput() SubnetAllocationPoolArrayOutput

func (SubnetAllocationPoolArrayOutput) ToSubnetAllocationPoolArrayOutputWithContext

func (o SubnetAllocationPoolArrayOutput) ToSubnetAllocationPoolArrayOutputWithContext(ctx context.Context) SubnetAllocationPoolArrayOutput

type SubnetAllocationPoolInput

type SubnetAllocationPoolInput interface {
	pulumi.Input

	ToSubnetAllocationPoolOutput() SubnetAllocationPoolOutput
	ToSubnetAllocationPoolOutputWithContext(context.Context) SubnetAllocationPoolOutput
}

SubnetAllocationPoolInput is an input type that accepts SubnetAllocationPoolArgs and SubnetAllocationPoolOutput values. You can construct a concrete instance of `SubnetAllocationPoolInput` via:

SubnetAllocationPoolArgs{...}

type SubnetAllocationPoolOutput

type SubnetAllocationPoolOutput struct{ *pulumi.OutputState }

func (SubnetAllocationPoolOutput) ElementType

func (SubnetAllocationPoolOutput) ElementType() reflect.Type

func (SubnetAllocationPoolOutput) End

The ending address.

func (SubnetAllocationPoolOutput) Start

The starting address.

func (SubnetAllocationPoolOutput) ToSubnetAllocationPoolOutput

func (o SubnetAllocationPoolOutput) ToSubnetAllocationPoolOutput() SubnetAllocationPoolOutput

func (SubnetAllocationPoolOutput) ToSubnetAllocationPoolOutputWithContext

func (o SubnetAllocationPoolOutput) ToSubnetAllocationPoolOutputWithContext(ctx context.Context) SubnetAllocationPoolOutput

type SubnetArgs

type SubnetArgs struct {
	// A block declaring the start and end range of
	// the IP addresses available for use with DHCP in this subnet. Multiple
	// `allocationPool` blocks can be declared, providing the subnet with more
	// than one range of IP addresses to use with DHCP. However, each IP range
	// must be from the same CIDR that the subnet is part of.
	// The `allocationPool` block is documented below.
	AllocationPools SubnetAllocationPoolArrayInput
	// CIDR representing IP range for this subnet, based on IP
	// version. You can omit this option if you are creating a subnet from a
	// subnet pool.
	Cidr pulumi.StringPtrInput
	// Human-readable description of the subnet. Changing this
	// updates the name of the existing subnet.
	Description pulumi.StringPtrInput
	// An array of DNS name server names used by hosts
	// in this subnet. Changing this updates the DNS name servers for the existing
	// subnet.
	DnsNameservers pulumi.StringArrayInput
	// Whether to publish DNS records for IPs
	// from this subnet. Defaults is false.
	DnsPublishFixedIp pulumi.BoolPtrInput
	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value enables or
	// disables the DHCP capabilities of the existing subnet. Defaults to true.
	EnableDhcp pulumi.BoolPtrInput
	// Default gateway used by devices in this subnet.
	// Leaving this blank and not setting `noGateway` will cause a default
	// gateway of `.1` to be used. Changing this updates the gateway IP of the
	// existing subnet.
	GatewayIp pulumi.StringPtrInput
	// IP version, either 4 (default) or 6. Changing this creates a
	// new subnet.
	IpVersion pulumi.IntPtrInput
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode pulumi.StringPtrInput
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode pulumi.StringPtrInput
	// The name of the subnet. Changing this updates the name of
	// the existing subnet.
	Name pulumi.StringPtrInput
	// The UUID of the parent network. Changing this
	// creates a new subnet.
	NetworkId pulumi.StringInput
	// Do not set a gateway IP on this subnet. Changing
	// this removes or adds a default gateway IP of the existing subnet.
	NoGateway pulumi.BoolPtrInput
	// The prefix length to use when creating a subnet
	// from a subnet pool. The default subnet pool prefix length that was defined
	// when creating the subnet pool will be used if not provided. Changing this
	// creates a new subnet.
	PrefixLength pulumi.IntPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnet.
	Region pulumi.StringPtrInput
	// An array of service types used by the subnet.
	// Changing this updates the service types for the existing subnet.
	ServiceTypes pulumi.StringArrayInput
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId pulumi.StringPtrInput
	// A set of string tags for the subnet.
	Tags pulumi.StringArrayInput
	// The owner of the subnet. Required if admin wants to
	// create a subnet for another tenant. Changing this creates a new subnet.
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a Subnet resource.

func (SubnetArgs) ElementType

func (SubnetArgs) ElementType() reflect.Type

type SubnetArray

type SubnetArray []SubnetInput

func (SubnetArray) ElementType

func (SubnetArray) ElementType() reflect.Type

func (SubnetArray) ToSubnetArrayOutput

func (i SubnetArray) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArray) ToSubnetArrayOutputWithContext

func (i SubnetArray) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetArrayInput

type SubnetArrayInput interface {
	pulumi.Input

	ToSubnetArrayOutput() SubnetArrayOutput
	ToSubnetArrayOutputWithContext(context.Context) SubnetArrayOutput
}

SubnetArrayInput is an input type that accepts SubnetArray and SubnetArrayOutput values. You can construct a concrete instance of `SubnetArrayInput` via:

SubnetArray{ SubnetArgs{...} }

type SubnetArrayOutput

type SubnetArrayOutput struct{ *pulumi.OutputState }

func (SubnetArrayOutput) ElementType

func (SubnetArrayOutput) ElementType() reflect.Type

func (SubnetArrayOutput) Index

func (SubnetArrayOutput) ToSubnetArrayOutput

func (o SubnetArrayOutput) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArrayOutput) ToSubnetArrayOutputWithContext

func (o SubnetArrayOutput) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetInput

type SubnetInput interface {
	pulumi.Input

	ToSubnetOutput() SubnetOutput
	ToSubnetOutputWithContext(ctx context.Context) SubnetOutput
}

type SubnetMap

type SubnetMap map[string]SubnetInput

func (SubnetMap) ElementType

func (SubnetMap) ElementType() reflect.Type

func (SubnetMap) ToSubnetMapOutput

func (i SubnetMap) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMap) ToSubnetMapOutputWithContext

func (i SubnetMap) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetMapInput

type SubnetMapInput interface {
	pulumi.Input

	ToSubnetMapOutput() SubnetMapOutput
	ToSubnetMapOutputWithContext(context.Context) SubnetMapOutput
}

SubnetMapInput is an input type that accepts SubnetMap and SubnetMapOutput values. You can construct a concrete instance of `SubnetMapInput` via:

SubnetMap{ "key": SubnetArgs{...} }

type SubnetMapOutput

type SubnetMapOutput struct{ *pulumi.OutputState }

func (SubnetMapOutput) ElementType

func (SubnetMapOutput) ElementType() reflect.Type

func (SubnetMapOutput) MapIndex

func (SubnetMapOutput) ToSubnetMapOutput

func (o SubnetMapOutput) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMapOutput) ToSubnetMapOutputWithContext

func (o SubnetMapOutput) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetOutput

type SubnetOutput struct{ *pulumi.OutputState }

func (SubnetOutput) AllTags

The collection of ags assigned on the subnet, which have been explicitly and implicitly added.

func (SubnetOutput) AllocationPools

func (o SubnetOutput) AllocationPools() SubnetAllocationPoolArrayOutput

A block declaring the start and end range of the IP addresses available for use with DHCP in this subnet. Multiple `allocationPool` blocks can be declared, providing the subnet with more than one range of IP addresses to use with DHCP. However, each IP range must be from the same CIDR that the subnet is part of. The `allocationPool` block is documented below.

func (SubnetOutput) Cidr

func (o SubnetOutput) Cidr() pulumi.StringOutput

CIDR representing IP range for this subnet, based on IP version. You can omit this option if you are creating a subnet from a subnet pool.

func (SubnetOutput) Description

func (o SubnetOutput) Description() pulumi.StringPtrOutput

Human-readable description of the subnet. Changing this updates the name of the existing subnet.

func (SubnetOutput) DnsNameservers

func (o SubnetOutput) DnsNameservers() pulumi.StringArrayOutput

An array of DNS name server names used by hosts in this subnet. Changing this updates the DNS name servers for the existing subnet.

func (SubnetOutput) DnsPublishFixedIp added in v4.1.0

func (o SubnetOutput) DnsPublishFixedIp() pulumi.BoolPtrOutput

Whether to publish DNS records for IPs from this subnet. Defaults is false.

func (SubnetOutput) ElementType

func (SubnetOutput) ElementType() reflect.Type

func (SubnetOutput) EnableDhcp

func (o SubnetOutput) EnableDhcp() pulumi.BoolPtrOutput

The administrative state of the network. Acceptable values are "true" and "false". Changing this value enables or disables the DHCP capabilities of the existing subnet. Defaults to true.

func (SubnetOutput) GatewayIp

func (o SubnetOutput) GatewayIp() pulumi.StringOutput

Default gateway used by devices in this subnet. Leaving this blank and not setting `noGateway` will cause a default gateway of `.1` to be used. Changing this updates the gateway IP of the existing subnet.

func (SubnetOutput) IpVersion

func (o SubnetOutput) IpVersion() pulumi.IntPtrOutput

IP version, either 4 (default) or 6. Changing this creates a new subnet.

func (SubnetOutput) Ipv6AddressMode

func (o SubnetOutput) Ipv6AddressMode() pulumi.StringOutput

The IPv6 address mode. Valid values are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.

func (SubnetOutput) Ipv6RaMode

func (o SubnetOutput) Ipv6RaMode() pulumi.StringOutput

The IPv6 Router Advertisement mode. Valid values are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.

func (SubnetOutput) Name

func (o SubnetOutput) Name() pulumi.StringOutput

The name of the subnet. Changing this updates the name of the existing subnet.

func (SubnetOutput) NetworkId

func (o SubnetOutput) NetworkId() pulumi.StringOutput

The UUID of the parent network. Changing this creates a new subnet.

func (SubnetOutput) NoGateway

func (o SubnetOutput) NoGateway() pulumi.BoolPtrOutput

Do not set a gateway IP on this subnet. Changing this removes or adds a default gateway IP of the existing subnet.

func (SubnetOutput) PrefixLength

func (o SubnetOutput) PrefixLength() pulumi.IntPtrOutput

The prefix length to use when creating a subnet from a subnet pool. The default subnet pool prefix length that was defined when creating the subnet pool will be used if not provided. Changing this creates a new subnet.

func (SubnetOutput) Region

func (o SubnetOutput) Region() pulumi.StringOutput

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

func (SubnetOutput) ServiceTypes

func (o SubnetOutput) ServiceTypes() pulumi.StringArrayOutput

An array of service types used by the subnet. Changing this updates the service types for the existing subnet.

func (SubnetOutput) SubnetpoolId

func (o SubnetOutput) SubnetpoolId() pulumi.StringPtrOutput

The ID of the subnetpool associated with the subnet.

func (SubnetOutput) Tags

A set of string tags for the subnet.

func (SubnetOutput) TenantId

func (o SubnetOutput) TenantId() pulumi.StringOutput

The owner of the subnet. Required if admin wants to create a subnet for another tenant. Changing this creates a new subnet.

func (SubnetOutput) ToSubnetOutput

func (o SubnetOutput) ToSubnetOutput() SubnetOutput

func (SubnetOutput) ToSubnetOutputWithContext

func (o SubnetOutput) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

func (SubnetOutput) ValueSpecs

func (o SubnetOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type SubnetPool

type SubnetPool struct {
	pulumi.CustomResourceState

	// The Neutron address scope to assign to the
	// subnetpool. Changing this updates the address scope id of the existing
	// subnetpool.
	AddressScopeId pulumi.StringPtrOutput `pulumi:"addressScopeId"`
	// The collection of tags assigned on the subnetpool, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// The time at which subnetpool was created.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The size of the prefix to allocate when the cidr
	// or prefixlen attributes are omitted when you create the subnet. Defaults to the
	// MinPrefixLen. Changing this updates the default prefixlen of the existing
	// subnetpool.
	DefaultPrefixlen pulumi.IntOutput `pulumi:"defaultPrefixlen"`
	// The per-project quota on the prefix space that can be
	// allocated from the subnetpool for project subnets. Changing this updates the
	// default quota of the existing subnetpool.
	DefaultQuota pulumi.IntPtrOutput `pulumi:"defaultQuota"`
	// The human-readable description for the subnetpool.
	// Changing this updates the description of the existing subnetpool.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The IP protocol version.
	IpVersion pulumi.IntOutput `pulumi:"ipVersion"`
	// Indicates whether the subnetpool is default
	// subnetpool or not. Changing this updates the default status of the existing
	// subnetpool.
	IsDefault pulumi.BoolPtrOutput `pulumi:"isDefault"`
	// The maximum prefix size that can be allocated from
	// the subnetpool. For IPv4 subnetpools, default is 32. For IPv6 subnetpools,
	// default is 128. Changing this updates the max prefixlen of the existing
	// subnetpool.
	MaxPrefixlen pulumi.IntOutput `pulumi:"maxPrefixlen"`
	// The smallest prefix that can be allocated from a
	// subnetpool. For IPv4 subnetpools, default is 8. For IPv6 subnetpools, default
	// is 64. Changing this updates the min prefixlen of the existing subnetpool.
	MinPrefixlen pulumi.IntOutput `pulumi:"minPrefixlen"`
	// The name of the subnetpool. Changing this updates the name of
	// the existing subnetpool.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of subnet prefixes to assign to the subnetpool.
	// Neutron API merges adjacent prefixes and treats them as a single prefix. Each
	// subnet prefix must be unique among all subnet prefixes in all subnetpools that
	// are associated with the address scope. Changing this updates the prefixes list
	// of the existing subnetpool.
	Prefixes pulumi.StringArrayOutput `pulumi:"prefixes"`
	// The owner of the subnetpool. Required if admin wants to
	// create a subnetpool for another project. Changing this creates a new subnetpool.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnetpool. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnetpool.
	Region pulumi.StringOutput `pulumi:"region"`
	// The revision number of the subnetpool.
	RevisionNumber pulumi.IntOutput `pulumi:"revisionNumber"`
	// Indicates whether this subnetpool is shared across
	// all projects. Changing this updates the shared status of the existing
	// subnetpool.
	Shared pulumi.BoolPtrOutput `pulumi:"shared"`
	// A set of string tags for the subnetpool.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The time at which subnetpool was created.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// Map of additional options.
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

Manages a V2 Neutron subnetpool resource within OpenStack.

## Example Usage

### Create a Subnet Pool

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewSubnetPool(ctx, "subnetpool_1", &networking.SubnetPoolArgs{
			Name:      pulumi.String("subnetpool_1"),
			IpVersion: pulumi.Int(6),
			Prefixes: pulumi.StringArray{
				pulumi.String("fdf7:b13d:dead:beef::/64"),
				pulumi.String("fd65:86cc:a334:39b7::/64"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Create a Subnet from a Subnet Pool

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnetpool1, err := networking.NewSubnetPool(ctx, "subnetpool_1", &networking.SubnetPoolArgs{
			Name: pulumi.String("subnetpool_1"),
			Prefixes: pulumi.StringArray{
				pulumi.String("10.11.12.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			Name:         pulumi.String("subnet_1"),
			Cidr:         pulumi.String("10.11.12.0/25"),
			NetworkId:    network1.ID(),
			SubnetpoolId: subnetpool1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import openstack:networking/subnetPool:SubnetPool subnetpool_1 832cb7f3-59fe-40cf-8f64-8350ffc03272 ```

func GetSubnetPool

func GetSubnetPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetPoolState, opts ...pulumi.ResourceOption) (*SubnetPool, error)

GetSubnetPool gets an existing SubnetPool 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 NewSubnetPool

func NewSubnetPool(ctx *pulumi.Context,
	name string, args *SubnetPoolArgs, opts ...pulumi.ResourceOption) (*SubnetPool, error)

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

func (*SubnetPool) ElementType

func (*SubnetPool) ElementType() reflect.Type

func (*SubnetPool) ToSubnetPoolOutput

func (i *SubnetPool) ToSubnetPoolOutput() SubnetPoolOutput

func (*SubnetPool) ToSubnetPoolOutputWithContext

func (i *SubnetPool) ToSubnetPoolOutputWithContext(ctx context.Context) SubnetPoolOutput

type SubnetPoolArgs

type SubnetPoolArgs struct {
	// The Neutron address scope to assign to the
	// subnetpool. Changing this updates the address scope id of the existing
	// subnetpool.
	AddressScopeId pulumi.StringPtrInput
	// The size of the prefix to allocate when the cidr
	// or prefixlen attributes are omitted when you create the subnet. Defaults to the
	// MinPrefixLen. Changing this updates the default prefixlen of the existing
	// subnetpool.
	DefaultPrefixlen pulumi.IntPtrInput
	// The per-project quota on the prefix space that can be
	// allocated from the subnetpool for project subnets. Changing this updates the
	// default quota of the existing subnetpool.
	DefaultQuota pulumi.IntPtrInput
	// The human-readable description for the subnetpool.
	// Changing this updates the description of the existing subnetpool.
	Description pulumi.StringPtrInput
	// The IP protocol version.
	IpVersion pulumi.IntPtrInput
	// Indicates whether the subnetpool is default
	// subnetpool or not. Changing this updates the default status of the existing
	// subnetpool.
	IsDefault pulumi.BoolPtrInput
	// The maximum prefix size that can be allocated from
	// the subnetpool. For IPv4 subnetpools, default is 32. For IPv6 subnetpools,
	// default is 128. Changing this updates the max prefixlen of the existing
	// subnetpool.
	MaxPrefixlen pulumi.IntPtrInput
	// The smallest prefix that can be allocated from a
	// subnetpool. For IPv4 subnetpools, default is 8. For IPv6 subnetpools, default
	// is 64. Changing this updates the min prefixlen of the existing subnetpool.
	MinPrefixlen pulumi.IntPtrInput
	// The name of the subnetpool. Changing this updates the name of
	// the existing subnetpool.
	Name pulumi.StringPtrInput
	// A list of subnet prefixes to assign to the subnetpool.
	// Neutron API merges adjacent prefixes and treats them as a single prefix. Each
	// subnet prefix must be unique among all subnet prefixes in all subnetpools that
	// are associated with the address scope. Changing this updates the prefixes list
	// of the existing subnetpool.
	Prefixes pulumi.StringArrayInput
	// The owner of the subnetpool. Required if admin wants to
	// create a subnetpool for another project. Changing this creates a new subnetpool.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnetpool. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnetpool.
	Region pulumi.StringPtrInput
	// Indicates whether this subnetpool is shared across
	// all projects. Changing this updates the shared status of the existing
	// subnetpool.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the subnetpool.
	Tags pulumi.StringArrayInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a SubnetPool resource.

func (SubnetPoolArgs) ElementType

func (SubnetPoolArgs) ElementType() reflect.Type

type SubnetPoolArray

type SubnetPoolArray []SubnetPoolInput

func (SubnetPoolArray) ElementType

func (SubnetPoolArray) ElementType() reflect.Type

func (SubnetPoolArray) ToSubnetPoolArrayOutput

func (i SubnetPoolArray) ToSubnetPoolArrayOutput() SubnetPoolArrayOutput

func (SubnetPoolArray) ToSubnetPoolArrayOutputWithContext

func (i SubnetPoolArray) ToSubnetPoolArrayOutputWithContext(ctx context.Context) SubnetPoolArrayOutput

type SubnetPoolArrayInput

type SubnetPoolArrayInput interface {
	pulumi.Input

	ToSubnetPoolArrayOutput() SubnetPoolArrayOutput
	ToSubnetPoolArrayOutputWithContext(context.Context) SubnetPoolArrayOutput
}

SubnetPoolArrayInput is an input type that accepts SubnetPoolArray and SubnetPoolArrayOutput values. You can construct a concrete instance of `SubnetPoolArrayInput` via:

SubnetPoolArray{ SubnetPoolArgs{...} }

type SubnetPoolArrayOutput

type SubnetPoolArrayOutput struct{ *pulumi.OutputState }

func (SubnetPoolArrayOutput) ElementType

func (SubnetPoolArrayOutput) ElementType() reflect.Type

func (SubnetPoolArrayOutput) Index

func (SubnetPoolArrayOutput) ToSubnetPoolArrayOutput

func (o SubnetPoolArrayOutput) ToSubnetPoolArrayOutput() SubnetPoolArrayOutput

func (SubnetPoolArrayOutput) ToSubnetPoolArrayOutputWithContext

func (o SubnetPoolArrayOutput) ToSubnetPoolArrayOutputWithContext(ctx context.Context) SubnetPoolArrayOutput

type SubnetPoolInput

type SubnetPoolInput interface {
	pulumi.Input

	ToSubnetPoolOutput() SubnetPoolOutput
	ToSubnetPoolOutputWithContext(ctx context.Context) SubnetPoolOutput
}

type SubnetPoolMap

type SubnetPoolMap map[string]SubnetPoolInput

func (SubnetPoolMap) ElementType

func (SubnetPoolMap) ElementType() reflect.Type

func (SubnetPoolMap) ToSubnetPoolMapOutput

func (i SubnetPoolMap) ToSubnetPoolMapOutput() SubnetPoolMapOutput

func (SubnetPoolMap) ToSubnetPoolMapOutputWithContext

func (i SubnetPoolMap) ToSubnetPoolMapOutputWithContext(ctx context.Context) SubnetPoolMapOutput

type SubnetPoolMapInput

type SubnetPoolMapInput interface {
	pulumi.Input

	ToSubnetPoolMapOutput() SubnetPoolMapOutput
	ToSubnetPoolMapOutputWithContext(context.Context) SubnetPoolMapOutput
}

SubnetPoolMapInput is an input type that accepts SubnetPoolMap and SubnetPoolMapOutput values. You can construct a concrete instance of `SubnetPoolMapInput` via:

SubnetPoolMap{ "key": SubnetPoolArgs{...} }

type SubnetPoolMapOutput

type SubnetPoolMapOutput struct{ *pulumi.OutputState }

func (SubnetPoolMapOutput) ElementType

func (SubnetPoolMapOutput) ElementType() reflect.Type

func (SubnetPoolMapOutput) MapIndex

func (SubnetPoolMapOutput) ToSubnetPoolMapOutput

func (o SubnetPoolMapOutput) ToSubnetPoolMapOutput() SubnetPoolMapOutput

func (SubnetPoolMapOutput) ToSubnetPoolMapOutputWithContext

func (o SubnetPoolMapOutput) ToSubnetPoolMapOutputWithContext(ctx context.Context) SubnetPoolMapOutput

type SubnetPoolOutput

type SubnetPoolOutput struct{ *pulumi.OutputState }

func (SubnetPoolOutput) AddressScopeId

func (o SubnetPoolOutput) AddressScopeId() pulumi.StringPtrOutput

The Neutron address scope to assign to the subnetpool. Changing this updates the address scope id of the existing subnetpool.

func (SubnetPoolOutput) AllTags

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

func (SubnetPoolOutput) CreatedAt

func (o SubnetPoolOutput) CreatedAt() pulumi.StringOutput

The time at which subnetpool was created.

func (SubnetPoolOutput) DefaultPrefixlen

func (o SubnetPoolOutput) DefaultPrefixlen() pulumi.IntOutput

The size of the prefix to allocate when the cidr or prefixlen attributes are omitted when you create the subnet. Defaults to the MinPrefixLen. Changing this updates the default prefixlen of the existing subnetpool.

func (SubnetPoolOutput) DefaultQuota

func (o SubnetPoolOutput) DefaultQuota() pulumi.IntPtrOutput

The per-project quota on the prefix space that can be allocated from the subnetpool for project subnets. Changing this updates the default quota of the existing subnetpool.

func (SubnetPoolOutput) Description

func (o SubnetPoolOutput) Description() pulumi.StringPtrOutput

The human-readable description for the subnetpool. Changing this updates the description of the existing subnetpool.

func (SubnetPoolOutput) ElementType

func (SubnetPoolOutput) ElementType() reflect.Type

func (SubnetPoolOutput) IpVersion

func (o SubnetPoolOutput) IpVersion() pulumi.IntOutput

The IP protocol version.

func (SubnetPoolOutput) IsDefault

func (o SubnetPoolOutput) IsDefault() pulumi.BoolPtrOutput

Indicates whether the subnetpool is default subnetpool or not. Changing this updates the default status of the existing subnetpool.

func (SubnetPoolOutput) MaxPrefixlen

func (o SubnetPoolOutput) MaxPrefixlen() pulumi.IntOutput

The maximum prefix size that can be allocated from the subnetpool. For IPv4 subnetpools, default is 32. For IPv6 subnetpools, default is 128. Changing this updates the max prefixlen of the existing subnetpool.

func (SubnetPoolOutput) MinPrefixlen

func (o SubnetPoolOutput) MinPrefixlen() pulumi.IntOutput

The smallest prefix that can be allocated from a subnetpool. For IPv4 subnetpools, default is 8. For IPv6 subnetpools, default is 64. Changing this updates the min prefixlen of the existing subnetpool.

func (SubnetPoolOutput) Name

The name of the subnetpool. Changing this updates the name of the existing subnetpool.

func (SubnetPoolOutput) Prefixes

A list of subnet prefixes to assign to the subnetpool. Neutron API merges adjacent prefixes and treats them as a single prefix. Each subnet prefix must be unique among all subnet prefixes in all subnetpools that are associated with the address scope. Changing this updates the prefixes list of the existing subnetpool.

func (SubnetPoolOutput) ProjectId

func (o SubnetPoolOutput) ProjectId() pulumi.StringOutput

The owner of the subnetpool. Required if admin wants to create a subnetpool for another project. Changing this creates a new subnetpool.

func (SubnetPoolOutput) Region

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

func (SubnetPoolOutput) RevisionNumber

func (o SubnetPoolOutput) RevisionNumber() pulumi.IntOutput

The revision number of the subnetpool.

func (SubnetPoolOutput) Shared

Indicates whether this subnetpool is shared across all projects. Changing this updates the shared status of the existing subnetpool.

func (SubnetPoolOutput) Tags

A set of string tags for the subnetpool.

func (SubnetPoolOutput) ToSubnetPoolOutput

func (o SubnetPoolOutput) ToSubnetPoolOutput() SubnetPoolOutput

func (SubnetPoolOutput) ToSubnetPoolOutputWithContext

func (o SubnetPoolOutput) ToSubnetPoolOutputWithContext(ctx context.Context) SubnetPoolOutput

func (SubnetPoolOutput) UpdatedAt

func (o SubnetPoolOutput) UpdatedAt() pulumi.StringOutput

The time at which subnetpool was created.

func (SubnetPoolOutput) ValueSpecs

func (o SubnetPoolOutput) ValueSpecs() pulumi.StringMapOutput

Map of additional options.

type SubnetPoolState

type SubnetPoolState struct {
	// The Neutron address scope to assign to the
	// subnetpool. Changing this updates the address scope id of the existing
	// subnetpool.
	AddressScopeId pulumi.StringPtrInput
	// The collection of tags assigned on the subnetpool, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// The time at which subnetpool was created.
	CreatedAt pulumi.StringPtrInput
	// The size of the prefix to allocate when the cidr
	// or prefixlen attributes are omitted when you create the subnet. Defaults to the
	// MinPrefixLen. Changing this updates the default prefixlen of the existing
	// subnetpool.
	DefaultPrefixlen pulumi.IntPtrInput
	// The per-project quota on the prefix space that can be
	// allocated from the subnetpool for project subnets. Changing this updates the
	// default quota of the existing subnetpool.
	DefaultQuota pulumi.IntPtrInput
	// The human-readable description for the subnetpool.
	// Changing this updates the description of the existing subnetpool.
	Description pulumi.StringPtrInput
	// The IP protocol version.
	IpVersion pulumi.IntPtrInput
	// Indicates whether the subnetpool is default
	// subnetpool or not. Changing this updates the default status of the existing
	// subnetpool.
	IsDefault pulumi.BoolPtrInput
	// The maximum prefix size that can be allocated from
	// the subnetpool. For IPv4 subnetpools, default is 32. For IPv6 subnetpools,
	// default is 128. Changing this updates the max prefixlen of the existing
	// subnetpool.
	MaxPrefixlen pulumi.IntPtrInput
	// The smallest prefix that can be allocated from a
	// subnetpool. For IPv4 subnetpools, default is 8. For IPv6 subnetpools, default
	// is 64. Changing this updates the min prefixlen of the existing subnetpool.
	MinPrefixlen pulumi.IntPtrInput
	// The name of the subnetpool. Changing this updates the name of
	// the existing subnetpool.
	Name pulumi.StringPtrInput
	// A list of subnet prefixes to assign to the subnetpool.
	// Neutron API merges adjacent prefixes and treats them as a single prefix. Each
	// subnet prefix must be unique among all subnet prefixes in all subnetpools that
	// are associated with the address scope. Changing this updates the prefixes list
	// of the existing subnetpool.
	Prefixes pulumi.StringArrayInput
	// The owner of the subnetpool. Required if admin wants to
	// create a subnetpool for another project. Changing this creates a new subnetpool.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnetpool. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnetpool.
	Region pulumi.StringPtrInput
	// The revision number of the subnetpool.
	RevisionNumber pulumi.IntPtrInput
	// Indicates whether this subnetpool is shared across
	// all projects. Changing this updates the shared status of the existing
	// subnetpool.
	Shared pulumi.BoolPtrInput
	// A set of string tags for the subnetpool.
	Tags pulumi.StringArrayInput
	// The time at which subnetpool was created.
	UpdatedAt pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (SubnetPoolState) ElementType

func (SubnetPoolState) ElementType() reflect.Type

type SubnetRoute

type SubnetRoute struct {
	pulumi.CustomResourceState

	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringOutput `pulumi:"destinationCidr"`
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringOutput `pulumi:"nextHop"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringOutput `pulumi:"region"`
	// ID of the subnet this routing entry belongs to. Changing
	// this creates a new routing entry.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Creates a routing entry on a OpenStack V2 subnet.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := networking.NewRouter(ctx, "router_1", &networking.RouterArgs{
			Name:         pulumi.String("router_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			NetworkId: network1.ID(),
			Cidr:      pulumi.String("192.168.199.0/24"),
			IpVersion: pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		_, err = networking.NewSubnetRoute(ctx, "subnet_route_1", &networking.SubnetRouteArgs{
			SubnetId:        subnet1.ID(),
			DestinationCidr: pulumi.String("10.0.1.0/24"),
			NextHop:         pulumi.String("192.168.199.254"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Routing entries can be imported using a combined ID using the following format: `<subnet_id>-route-<destination_cidr>-<next_hop>`

```sh $ pulumi import openstack:networking/subnetRoute:SubnetRoute subnet_route_1 686fe248-386c-4f70-9f6c-281607dad079-route-10.0.1.0/24-192.168.199.25 ```

func GetSubnetRoute

func GetSubnetRoute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetRouteState, opts ...pulumi.ResourceOption) (*SubnetRoute, error)

GetSubnetRoute gets an existing SubnetRoute 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 NewSubnetRoute

func NewSubnetRoute(ctx *pulumi.Context,
	name string, args *SubnetRouteArgs, opts ...pulumi.ResourceOption) (*SubnetRoute, error)

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

func (*SubnetRoute) ElementType

func (*SubnetRoute) ElementType() reflect.Type

func (*SubnetRoute) ToSubnetRouteOutput

func (i *SubnetRoute) ToSubnetRouteOutput() SubnetRouteOutput

func (*SubnetRoute) ToSubnetRouteOutputWithContext

func (i *SubnetRoute) ToSubnetRouteOutputWithContext(ctx context.Context) SubnetRouteOutput

type SubnetRouteArgs

type SubnetRouteArgs struct {
	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringInput
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// ID of the subnet this routing entry belongs to. Changing
	// this creates a new routing entry.
	SubnetId pulumi.StringInput
}

The set of arguments for constructing a SubnetRoute resource.

func (SubnetRouteArgs) ElementType

func (SubnetRouteArgs) ElementType() reflect.Type

type SubnetRouteArray

type SubnetRouteArray []SubnetRouteInput

func (SubnetRouteArray) ElementType

func (SubnetRouteArray) ElementType() reflect.Type

func (SubnetRouteArray) ToSubnetRouteArrayOutput

func (i SubnetRouteArray) ToSubnetRouteArrayOutput() SubnetRouteArrayOutput

func (SubnetRouteArray) ToSubnetRouteArrayOutputWithContext

func (i SubnetRouteArray) ToSubnetRouteArrayOutputWithContext(ctx context.Context) SubnetRouteArrayOutput

type SubnetRouteArrayInput

type SubnetRouteArrayInput interface {
	pulumi.Input

	ToSubnetRouteArrayOutput() SubnetRouteArrayOutput
	ToSubnetRouteArrayOutputWithContext(context.Context) SubnetRouteArrayOutput
}

SubnetRouteArrayInput is an input type that accepts SubnetRouteArray and SubnetRouteArrayOutput values. You can construct a concrete instance of `SubnetRouteArrayInput` via:

SubnetRouteArray{ SubnetRouteArgs{...} }

type SubnetRouteArrayOutput

type SubnetRouteArrayOutput struct{ *pulumi.OutputState }

func (SubnetRouteArrayOutput) ElementType

func (SubnetRouteArrayOutput) ElementType() reflect.Type

func (SubnetRouteArrayOutput) Index

func (SubnetRouteArrayOutput) ToSubnetRouteArrayOutput

func (o SubnetRouteArrayOutput) ToSubnetRouteArrayOutput() SubnetRouteArrayOutput

func (SubnetRouteArrayOutput) ToSubnetRouteArrayOutputWithContext

func (o SubnetRouteArrayOutput) ToSubnetRouteArrayOutputWithContext(ctx context.Context) SubnetRouteArrayOutput

type SubnetRouteInput

type SubnetRouteInput interface {
	pulumi.Input

	ToSubnetRouteOutput() SubnetRouteOutput
	ToSubnetRouteOutputWithContext(ctx context.Context) SubnetRouteOutput
}

type SubnetRouteMap

type SubnetRouteMap map[string]SubnetRouteInput

func (SubnetRouteMap) ElementType

func (SubnetRouteMap) ElementType() reflect.Type

func (SubnetRouteMap) ToSubnetRouteMapOutput

func (i SubnetRouteMap) ToSubnetRouteMapOutput() SubnetRouteMapOutput

func (SubnetRouteMap) ToSubnetRouteMapOutputWithContext

func (i SubnetRouteMap) ToSubnetRouteMapOutputWithContext(ctx context.Context) SubnetRouteMapOutput

type SubnetRouteMapInput

type SubnetRouteMapInput interface {
	pulumi.Input

	ToSubnetRouteMapOutput() SubnetRouteMapOutput
	ToSubnetRouteMapOutputWithContext(context.Context) SubnetRouteMapOutput
}

SubnetRouteMapInput is an input type that accepts SubnetRouteMap and SubnetRouteMapOutput values. You can construct a concrete instance of `SubnetRouteMapInput` via:

SubnetRouteMap{ "key": SubnetRouteArgs{...} }

type SubnetRouteMapOutput

type SubnetRouteMapOutput struct{ *pulumi.OutputState }

func (SubnetRouteMapOutput) ElementType

func (SubnetRouteMapOutput) ElementType() reflect.Type

func (SubnetRouteMapOutput) MapIndex

func (SubnetRouteMapOutput) ToSubnetRouteMapOutput

func (o SubnetRouteMapOutput) ToSubnetRouteMapOutput() SubnetRouteMapOutput

func (SubnetRouteMapOutput) ToSubnetRouteMapOutputWithContext

func (o SubnetRouteMapOutput) ToSubnetRouteMapOutputWithContext(ctx context.Context) SubnetRouteMapOutput

type SubnetRouteOutput

type SubnetRouteOutput struct{ *pulumi.OutputState }

func (SubnetRouteOutput) DestinationCidr

func (o SubnetRouteOutput) DestinationCidr() pulumi.StringOutput

CIDR block to match on the packet’s destination IP. Changing this creates a new routing entry.

func (SubnetRouteOutput) ElementType

func (SubnetRouteOutput) ElementType() reflect.Type

func (SubnetRouteOutput) NextHop

IP address of the next hop gateway. Changing this creates a new routing entry.

func (SubnetRouteOutput) Region

The region in which to obtain the V2 networking client. A networking client is needed to configure a routing entry on a subnet. If omitted, the `region` argument of the provider is used. Changing this creates a new routing entry.

func (SubnetRouteOutput) SubnetId

func (o SubnetRouteOutput) SubnetId() pulumi.StringOutput

ID of the subnet this routing entry belongs to. Changing this creates a new routing entry.

func (SubnetRouteOutput) ToSubnetRouteOutput

func (o SubnetRouteOutput) ToSubnetRouteOutput() SubnetRouteOutput

func (SubnetRouteOutput) ToSubnetRouteOutputWithContext

func (o SubnetRouteOutput) ToSubnetRouteOutputWithContext(ctx context.Context) SubnetRouteOutput

type SubnetRouteState

type SubnetRouteState struct {
	// CIDR block to match on the packet’s destination IP. Changing
	// this creates a new routing entry.
	DestinationCidr pulumi.StringPtrInput
	// IP address of the next hop gateway.  Changing
	// this creates a new routing entry.
	NextHop pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to configure a routing entry on a subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// routing entry.
	Region pulumi.StringPtrInput
	// ID of the subnet this routing entry belongs to. Changing
	// this creates a new routing entry.
	SubnetId pulumi.StringPtrInput
}

func (SubnetRouteState) ElementType

func (SubnetRouteState) ElementType() reflect.Type

type SubnetState

type SubnetState struct {
	// The collection of ags assigned on the subnet, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// A block declaring the start and end range of
	// the IP addresses available for use with DHCP in this subnet. Multiple
	// `allocationPool` blocks can be declared, providing the subnet with more
	// than one range of IP addresses to use with DHCP. However, each IP range
	// must be from the same CIDR that the subnet is part of.
	// The `allocationPool` block is documented below.
	AllocationPools SubnetAllocationPoolArrayInput
	// CIDR representing IP range for this subnet, based on IP
	// version. You can omit this option if you are creating a subnet from a
	// subnet pool.
	Cidr pulumi.StringPtrInput
	// Human-readable description of the subnet. Changing this
	// updates the name of the existing subnet.
	Description pulumi.StringPtrInput
	// An array of DNS name server names used by hosts
	// in this subnet. Changing this updates the DNS name servers for the existing
	// subnet.
	DnsNameservers pulumi.StringArrayInput
	// Whether to publish DNS records for IPs
	// from this subnet. Defaults is false.
	DnsPublishFixedIp pulumi.BoolPtrInput
	// The administrative state of the network.
	// Acceptable values are "true" and "false". Changing this value enables or
	// disables the DHCP capabilities of the existing subnet. Defaults to true.
	EnableDhcp pulumi.BoolPtrInput
	// Default gateway used by devices in this subnet.
	// Leaving this blank and not setting `noGateway` will cause a default
	// gateway of `.1` to be used. Changing this updates the gateway IP of the
	// existing subnet.
	GatewayIp pulumi.StringPtrInput
	// IP version, either 4 (default) or 6. Changing this creates a
	// new subnet.
	IpVersion pulumi.IntPtrInput
	// The IPv6 address mode. Valid values are
	// `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6AddressMode pulumi.StringPtrInput
	// The IPv6 Router Advertisement mode. Valid values
	// are `dhcpv6-stateful`, `dhcpv6-stateless`, or `slaac`.
	Ipv6RaMode pulumi.StringPtrInput
	// The name of the subnet. Changing this updates the name of
	// the existing subnet.
	Name pulumi.StringPtrInput
	// The UUID of the parent network. Changing this
	// creates a new subnet.
	NetworkId pulumi.StringPtrInput
	// Do not set a gateway IP on this subnet. Changing
	// this removes or adds a default gateway IP of the existing subnet.
	NoGateway pulumi.BoolPtrInput
	// The prefix length to use when creating a subnet
	// from a subnet pool. The default subnet pool prefix length that was defined
	// when creating the subnet pool will be used if not provided. Changing this
	// creates a new subnet.
	PrefixLength pulumi.IntPtrInput
	// The region in which to obtain the V2 Networking client.
	// A Networking client is needed to create a Neutron subnet. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// subnet.
	Region pulumi.StringPtrInput
	// An array of service types used by the subnet.
	// Changing this updates the service types for the existing subnet.
	ServiceTypes pulumi.StringArrayInput
	// The ID of the subnetpool associated with the subnet.
	SubnetpoolId pulumi.StringPtrInput
	// A set of string tags for the subnet.
	Tags pulumi.StringArrayInput
	// The owner of the subnet. Required if admin wants to
	// create a subnet for another tenant. Changing this creates a new subnet.
	TenantId pulumi.StringPtrInput
	// Map of additional options.
	ValueSpecs pulumi.StringMapInput
}

func (SubnetState) ElementType

func (SubnetState) ElementType() reflect.Type

type Trunk

type Trunk struct {
	pulumi.CustomResourceState

	// Administrative up/down status for the trunk
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing trunk.
	AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
	// The collection of tags assigned on the trunk, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayOutput `pulumi:"allTags"`
	// Human-readable description of the trunk. Changing this
	// updates the name of the existing trunk.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A unique name for the trunk. Changing this
	// updates the `name` of an existing trunk.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the port to be used as the parent port of the
	// trunk. This is the port that should be used as the compute instance network
	// port. Changing this creates a new trunk.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a trunk. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// trunk.
	Region pulumi.StringOutput `pulumi:"region"`
	// The set of ports that will be made subports of the trunk.
	// The structure of each subport is described below.
	SubPorts TrunkSubPortArrayOutput `pulumi:"subPorts"`
	// A set of string tags for the port.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The owner of the Trunk. Required if admin wants
	// to create a trunk on behalf of another tenant. Changing this creates a new trunk.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a networking V2 trunk resource within OpenStack.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		network1, err := networking.NewNetwork(ctx, "network_1", &networking.NetworkArgs{
			Name:         pulumi.String("network_1"),
			AdminStateUp: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		subnet1, err := networking.NewSubnet(ctx, "subnet_1", &networking.SubnetArgs{
			Name:       pulumi.String("subnet_1"),
			NetworkId:  network1.ID(),
			Cidr:       pulumi.String("192.168.1.0/24"),
			IpVersion:  pulumi.Int(4),
			EnableDhcp: pulumi.Bool(true),
			NoGateway:  pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		parentPort1, err := networking.NewPort(ctx, "parent_port_1", &networking.PortArgs{
			Name:         pulumi.String("parent_port_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			subnet1,
		}))
		if err != nil {
			return err
		}
		subport1, err := networking.NewPort(ctx, "subport_1", &networking.PortArgs{
			Name:         pulumi.String("subport_1"),
			NetworkId:    network1.ID(),
			AdminStateUp: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			subnet1,
		}))
		if err != nil {
			return err
		}
		trunk1, err := networking.NewTrunk(ctx, "trunk_1", &networking.TrunkArgs{
			Name:         pulumi.String("trunk_1"),
			AdminStateUp: pulumi.Bool(true),
			PortId:       parentPort1.ID(),
			SubPorts: networking.TrunkSubPortArray{
				&networking.TrunkSubPortArgs{
					PortId:           subport1.ID(),
					SegmentationId:   pulumi.Int(1),
					SegmentationType: pulumi.String("vlan"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "instance_1", &compute.InstanceArgs{
			Name: pulumi.String("instance_1"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			Networks: compute.InstanceNetworkArray{
				&compute.InstanceNetworkArgs{
					Port: trunk1.PortId,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTrunk

func GetTrunk(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrunkState, opts ...pulumi.ResourceOption) (*Trunk, error)

GetTrunk gets an existing Trunk 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 NewTrunk

func NewTrunk(ctx *pulumi.Context,
	name string, args *TrunkArgs, opts ...pulumi.ResourceOption) (*Trunk, error)

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

func (*Trunk) ElementType

func (*Trunk) ElementType() reflect.Type

func (*Trunk) ToTrunkOutput

func (i *Trunk) ToTrunkOutput() TrunkOutput

func (*Trunk) ToTrunkOutputWithContext

func (i *Trunk) ToTrunkOutputWithContext(ctx context.Context) TrunkOutput

type TrunkArgs

type TrunkArgs struct {
	// Administrative up/down status for the trunk
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing trunk.
	AdminStateUp pulumi.BoolPtrInput
	// Human-readable description of the trunk. Changing this
	// updates the name of the existing trunk.
	Description pulumi.StringPtrInput
	// A unique name for the trunk. Changing this
	// updates the `name` of an existing trunk.
	Name pulumi.StringPtrInput
	// The ID of the port to be used as the parent port of the
	// trunk. This is the port that should be used as the compute instance network
	// port. Changing this creates a new trunk.
	PortId pulumi.StringInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a trunk. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// trunk.
	Region pulumi.StringPtrInput
	// The set of ports that will be made subports of the trunk.
	// The structure of each subport is described below.
	SubPorts TrunkSubPortArrayInput
	// A set of string tags for the port.
	Tags pulumi.StringArrayInput
	// The owner of the Trunk. Required if admin wants
	// to create a trunk on behalf of another tenant. Changing this creates a new trunk.
	TenantId pulumi.StringPtrInput
}

The set of arguments for constructing a Trunk resource.

func (TrunkArgs) ElementType

func (TrunkArgs) ElementType() reflect.Type

type TrunkArray

type TrunkArray []TrunkInput

func (TrunkArray) ElementType

func (TrunkArray) ElementType() reflect.Type

func (TrunkArray) ToTrunkArrayOutput

func (i TrunkArray) ToTrunkArrayOutput() TrunkArrayOutput

func (TrunkArray) ToTrunkArrayOutputWithContext

func (i TrunkArray) ToTrunkArrayOutputWithContext(ctx context.Context) TrunkArrayOutput

type TrunkArrayInput

type TrunkArrayInput interface {
	pulumi.Input

	ToTrunkArrayOutput() TrunkArrayOutput
	ToTrunkArrayOutputWithContext(context.Context) TrunkArrayOutput
}

TrunkArrayInput is an input type that accepts TrunkArray and TrunkArrayOutput values. You can construct a concrete instance of `TrunkArrayInput` via:

TrunkArray{ TrunkArgs{...} }

type TrunkArrayOutput

type TrunkArrayOutput struct{ *pulumi.OutputState }

func (TrunkArrayOutput) ElementType

func (TrunkArrayOutput) ElementType() reflect.Type

func (TrunkArrayOutput) Index

func (TrunkArrayOutput) ToTrunkArrayOutput

func (o TrunkArrayOutput) ToTrunkArrayOutput() TrunkArrayOutput

func (TrunkArrayOutput) ToTrunkArrayOutputWithContext

func (o TrunkArrayOutput) ToTrunkArrayOutputWithContext(ctx context.Context) TrunkArrayOutput

type TrunkInput

type TrunkInput interface {
	pulumi.Input

	ToTrunkOutput() TrunkOutput
	ToTrunkOutputWithContext(ctx context.Context) TrunkOutput
}

type TrunkMap

type TrunkMap map[string]TrunkInput

func (TrunkMap) ElementType

func (TrunkMap) ElementType() reflect.Type

func (TrunkMap) ToTrunkMapOutput

func (i TrunkMap) ToTrunkMapOutput() TrunkMapOutput

func (TrunkMap) ToTrunkMapOutputWithContext

func (i TrunkMap) ToTrunkMapOutputWithContext(ctx context.Context) TrunkMapOutput

type TrunkMapInput

type TrunkMapInput interface {
	pulumi.Input

	ToTrunkMapOutput() TrunkMapOutput
	ToTrunkMapOutputWithContext(context.Context) TrunkMapOutput
}

TrunkMapInput is an input type that accepts TrunkMap and TrunkMapOutput values. You can construct a concrete instance of `TrunkMapInput` via:

TrunkMap{ "key": TrunkArgs{...} }

type TrunkMapOutput

type TrunkMapOutput struct{ *pulumi.OutputState }

func (TrunkMapOutput) ElementType

func (TrunkMapOutput) ElementType() reflect.Type

func (TrunkMapOutput) MapIndex

func (TrunkMapOutput) ToTrunkMapOutput

func (o TrunkMapOutput) ToTrunkMapOutput() TrunkMapOutput

func (TrunkMapOutput) ToTrunkMapOutputWithContext

func (o TrunkMapOutput) ToTrunkMapOutputWithContext(ctx context.Context) TrunkMapOutput

type TrunkOutput

type TrunkOutput struct{ *pulumi.OutputState }

func (TrunkOutput) AdminStateUp

func (o TrunkOutput) AdminStateUp() pulumi.BoolPtrOutput

Administrative up/down status for the trunk (must be "true" or "false" if provided). Changing this updates the `adminStateUp` of an existing trunk.

func (TrunkOutput) AllTags

func (o TrunkOutput) AllTags() pulumi.StringArrayOutput

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

func (TrunkOutput) Description

func (o TrunkOutput) Description() pulumi.StringPtrOutput

Human-readable description of the trunk. Changing this updates the name of the existing trunk.

func (TrunkOutput) ElementType

func (TrunkOutput) ElementType() reflect.Type

func (TrunkOutput) Name

func (o TrunkOutput) Name() pulumi.StringOutput

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

func (TrunkOutput) PortId

func (o TrunkOutput) PortId() pulumi.StringOutput

The ID of the port to be used as the parent port of the trunk. This is the port that should be used as the compute instance network port. Changing this creates a new trunk.

func (TrunkOutput) Region

func (o TrunkOutput) Region() pulumi.StringOutput

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

func (TrunkOutput) SubPorts

func (o TrunkOutput) SubPorts() TrunkSubPortArrayOutput

The set of ports that will be made subports of the trunk. The structure of each subport is described below.

func (TrunkOutput) Tags

A set of string tags for the port.

func (TrunkOutput) TenantId

func (o TrunkOutput) TenantId() pulumi.StringOutput

The owner of the Trunk. Required if admin wants to create a trunk on behalf of another tenant. Changing this creates a new trunk.

func (TrunkOutput) ToTrunkOutput

func (o TrunkOutput) ToTrunkOutput() TrunkOutput

func (TrunkOutput) ToTrunkOutputWithContext

func (o TrunkOutput) ToTrunkOutputWithContext(ctx context.Context) TrunkOutput

type TrunkState

type TrunkState struct {
	// Administrative up/down status for the trunk
	// (must be "true" or "false" if provided). Changing this updates the
	// `adminStateUp` of an existing trunk.
	AdminStateUp pulumi.BoolPtrInput
	// The collection of tags assigned on the trunk, which have been
	// explicitly and implicitly added.
	AllTags pulumi.StringArrayInput
	// Human-readable description of the trunk. Changing this
	// updates the name of the existing trunk.
	Description pulumi.StringPtrInput
	// A unique name for the trunk. Changing this
	// updates the `name` of an existing trunk.
	Name pulumi.StringPtrInput
	// The ID of the port to be used as the parent port of the
	// trunk. This is the port that should be used as the compute instance network
	// port. Changing this creates a new trunk.
	PortId pulumi.StringPtrInput
	// The region in which to obtain the V2 networking client.
	// A networking client is needed to create a trunk. If omitted, the
	// `region` argument of the provider is used. Changing this creates a new
	// trunk.
	Region pulumi.StringPtrInput
	// The set of ports that will be made subports of the trunk.
	// The structure of each subport is described below.
	SubPorts TrunkSubPortArrayInput
	// A set of string tags for the port.
	Tags pulumi.StringArrayInput
	// The owner of the Trunk. Required if admin wants
	// to create a trunk on behalf of another tenant. Changing this creates a new trunk.
	TenantId pulumi.StringPtrInput
}

func (TrunkState) ElementType

func (TrunkState) ElementType() reflect.Type

type TrunkSubPort

type TrunkSubPort struct {
	// The ID of the port to be made a subport of the trunk.
	PortId string `pulumi:"portId"`
	// The numeric id of the subport segment.
	SegmentationId int `pulumi:"segmentationId"`
	// The segmentation technology to use, e.g., "vlan".
	SegmentationType string `pulumi:"segmentationType"`
}

type TrunkSubPortArgs

type TrunkSubPortArgs struct {
	// The ID of the port to be made a subport of the trunk.
	PortId pulumi.StringInput `pulumi:"portId"`
	// The numeric id of the subport segment.
	SegmentationId pulumi.IntInput `pulumi:"segmentationId"`
	// The segmentation technology to use, e.g., "vlan".
	SegmentationType pulumi.StringInput `pulumi:"segmentationType"`
}

func (TrunkSubPortArgs) ElementType

func (TrunkSubPortArgs) ElementType() reflect.Type

func (TrunkSubPortArgs) ToTrunkSubPortOutput

func (i TrunkSubPortArgs) ToTrunkSubPortOutput() TrunkSubPortOutput

func (TrunkSubPortArgs) ToTrunkSubPortOutputWithContext

func (i TrunkSubPortArgs) ToTrunkSubPortOutputWithContext(ctx context.Context) TrunkSubPortOutput

type TrunkSubPortArray

type TrunkSubPortArray []TrunkSubPortInput

func (TrunkSubPortArray) ElementType

func (TrunkSubPortArray) ElementType() reflect.Type

func (TrunkSubPortArray) ToTrunkSubPortArrayOutput

func (i TrunkSubPortArray) ToTrunkSubPortArrayOutput() TrunkSubPortArrayOutput

func (TrunkSubPortArray) ToTrunkSubPortArrayOutputWithContext

func (i TrunkSubPortArray) ToTrunkSubPortArrayOutputWithContext(ctx context.Context) TrunkSubPortArrayOutput

type TrunkSubPortArrayInput

type TrunkSubPortArrayInput interface {
	pulumi.Input

	ToTrunkSubPortArrayOutput() TrunkSubPortArrayOutput
	ToTrunkSubPortArrayOutputWithContext(context.Context) TrunkSubPortArrayOutput
}

TrunkSubPortArrayInput is an input type that accepts TrunkSubPortArray and TrunkSubPortArrayOutput values. You can construct a concrete instance of `TrunkSubPortArrayInput` via:

TrunkSubPortArray{ TrunkSubPortArgs{...} }

type TrunkSubPortArrayOutput

type TrunkSubPortArrayOutput struct{ *pulumi.OutputState }

func (TrunkSubPortArrayOutput) ElementType

func (TrunkSubPortArrayOutput) ElementType() reflect.Type

func (TrunkSubPortArrayOutput) Index

func (TrunkSubPortArrayOutput) ToTrunkSubPortArrayOutput

func (o TrunkSubPortArrayOutput) ToTrunkSubPortArrayOutput() TrunkSubPortArrayOutput

func (TrunkSubPortArrayOutput) ToTrunkSubPortArrayOutputWithContext

func (o TrunkSubPortArrayOutput) ToTrunkSubPortArrayOutputWithContext(ctx context.Context) TrunkSubPortArrayOutput

type TrunkSubPortInput

type TrunkSubPortInput interface {
	pulumi.Input

	ToTrunkSubPortOutput() TrunkSubPortOutput
	ToTrunkSubPortOutputWithContext(context.Context) TrunkSubPortOutput
}

TrunkSubPortInput is an input type that accepts TrunkSubPortArgs and TrunkSubPortOutput values. You can construct a concrete instance of `TrunkSubPortInput` via:

TrunkSubPortArgs{...}

type TrunkSubPortOutput

type TrunkSubPortOutput struct{ *pulumi.OutputState }

func (TrunkSubPortOutput) ElementType

func (TrunkSubPortOutput) ElementType() reflect.Type

func (TrunkSubPortOutput) PortId

The ID of the port to be made a subport of the trunk.

func (TrunkSubPortOutput) SegmentationId

func (o TrunkSubPortOutput) SegmentationId() pulumi.IntOutput

The numeric id of the subport segment.

func (TrunkSubPortOutput) SegmentationType

func (o TrunkSubPortOutput) SegmentationType() pulumi.StringOutput

The segmentation technology to use, e.g., "vlan".

func (TrunkSubPortOutput) ToTrunkSubPortOutput

func (o TrunkSubPortOutput) ToTrunkSubPortOutput() TrunkSubPortOutput

func (TrunkSubPortOutput) ToTrunkSubPortOutputWithContext

func (o TrunkSubPortOutput) ToTrunkSubPortOutputWithContext(ctx context.Context) TrunkSubPortOutput

Jump to

Keyboard shortcuts

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