@pulumi/openstack
Version:
A Pulumi package for creating and managing OpenStack cloud resources.
287 lines (286 loc) • 11.6 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* ## 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
* ```
*/
export declare class FloatingIp extends pulumi.CustomResource {
/**
* Get an existing FloatingIp resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FloatingIpState, opts?: pulumi.CustomResourceOptions): FloatingIp;
/**
* Returns true if the given object is an instance of FloatingIp. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is FloatingIp;
/**
* 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.
*/
readonly address: pulumi.Output<string>;
/**
* The collection of tags assigned on the floating IP, which have
* been explicitly and implicitly added.
*/
readonly allTags: pulumi.Output<string[]>;
/**
* Human-readable description for the floating IP.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* 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.
*/
readonly dnsDomain: pulumi.Output<string>;
/**
* 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.
*/
readonly dnsName: pulumi.Output<string>;
/**
* Fixed IP of the port to associate with this floating IP. Required if
* the port has multiple fixed IPs.
*/
readonly fixedIp: pulumi.Output<string>;
/**
* The name of the pool from which to obtain the floating
* IP. Changing this creates a new floating IP.
*/
readonly pool: pulumi.Output<string>;
/**
* ID of an existing port with at least one IP address to
* associate with this floating IP.
*/
readonly portId: pulumi.Output<string>;
/**
* 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).
*/
readonly region: pulumi.Output<string>;
/**
* The subnet ID of the floating IP pool. Specify this if
* the floating IP network has multiple subnets.
*/
readonly subnetId: pulumi.Output<string>;
/**
* 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.
*/
readonly subnetIds: pulumi.Output<string[] | undefined>;
/**
* A set of string tags for the floating IP.
*/
readonly tags: pulumi.Output<string[] | undefined>;
/**
* 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)
*/
readonly tenantId: pulumi.Output<string>;
/**
* Map of additional options.
*/
readonly valueSpecs: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Create a FloatingIp resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: FloatingIpArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering FloatingIp resources.
*/
export interface FloatingIpState {
/**
* 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.Input<string>;
/**
* The collection of tags assigned on the floating IP, which have
* been explicitly and implicitly added.
*/
allTags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Human-readable description for the floating IP.
*/
description?: pulumi.Input<string>;
/**
* 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.Input<string>;
/**
* 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.Input<string>;
/**
* Fixed IP of the port to associate with this floating IP. Required if
* the port has multiple fixed IPs.
*/
fixedIp?: pulumi.Input<string>;
/**
* The name of the pool from which to obtain the floating
* IP. Changing this creates a new floating IP.
*/
pool?: pulumi.Input<string>;
/**
* ID of an existing port with at least one IP address to
* associate with this floating IP.
*/
portId?: pulumi.Input<string>;
/**
* 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.Input<string>;
/**
* The subnet ID of the floating IP pool. Specify this if
* the floating IP network has multiple subnets.
*/
subnetId?: pulumi.Input<string>;
/**
* 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.Input<pulumi.Input<string>[]>;
/**
* A set of string tags for the floating IP.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* 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.Input<string>;
/**
* Map of additional options.
*/
valueSpecs?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}
/**
* The set of arguments for constructing a FloatingIp resource.
*/
export interface FloatingIpArgs {
/**
* 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.Input<string>;
/**
* Human-readable description for the floating IP.
*/
description?: pulumi.Input<string>;
/**
* 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.Input<string>;
/**
* 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.Input<string>;
/**
* Fixed IP of the port to associate with this floating IP. Required if
* the port has multiple fixed IPs.
*/
fixedIp?: pulumi.Input<string>;
/**
* The name of the pool from which to obtain the floating
* IP. Changing this creates a new floating IP.
*/
pool?: pulumi.Input<string>;
/**
* ID of an existing port with at least one IP address to
* associate with this floating IP.
*/
portId?: pulumi.Input<string>;
/**
* 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.Input<string>;
/**
* The subnet ID of the floating IP pool. Specify this if
* the floating IP network has multiple subnets.
*/
subnetId?: pulumi.Input<string>;
/**
* 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.Input<pulumi.Input<string>[]>;
/**
* A set of string tags for the floating IP.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
/**
* 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.Input<string>;
/**
* Map of additional options.
*/
valueSpecs?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}