@pulumi/openstack
Version:
A Pulumi package for creating and managing OpenStack cloud resources.
256 lines (255 loc) • 8.71 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Manages a V2 BGP VPN service resource within OpenStack.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as openstack from "@pulumi/openstack";
*
* const bgpvpn1 = new openstack.bgpvpn.V2("bgpvpn_1", {
* name: "bgpvpn1",
* routeDistinguishers: ["64512:1"],
* routeTargets: ["64512:1"],
* importTargets: ["64512:2"],
* exportTargets: ["64512:3"],
* });
* ```
*
* ## Import
*
* BGP VPNs can be imported using the `id`, e.g.
*
* hcl
*
* ```sh
* $ pulumi import openstack:bgpvpn/v2:V2 bgpvpn_1 1eec2c66-6be2-4305-af3f-354c9b81f18c
* ```
*/
export declare class V2 extends pulumi.CustomResource {
/**
* Get an existing V2 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?: V2State, opts?: pulumi.CustomResourceOptions): V2;
/**
* Returns true if the given object is an instance of V2. 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 V2;
/**
* A list of additional Route Targets that will be
* used for export.
*/
readonly exportTargets: pulumi.Output<string[]>;
/**
* A list of additional Route Targets that will be
* imported.
*/
readonly importTargets: pulumi.Output<string[]>;
/**
* The default BGP LOCAL\_PREF of routes that will be
* advertised to the BGP VPN, unless overridden per-route.
*/
readonly localPref: pulumi.Output<number | undefined>;
/**
* The name of the BGP VPN. Changing this updates the name of
* the existing BGP VPN.
*/
readonly name: pulumi.Output<string>;
/**
* A list of network IDs that are associated with the BGP VPN.
*/
readonly networks: pulumi.Output<string[]>;
/**
* A list of port IDs that are associated with the BGP VPN.
*/
readonly ports: pulumi.Output<string[]>;
/**
* The ID of the project that owns the BGPVPN. Only
* administrative and users with `advsvc` role can specify a project ID other
* than their own. Changing this creates a new BGP VPN.
*/
readonly projectId: pulumi.Output<string>;
/**
* The region in which to obtain the V2 Networking client.
* A Networking client is needed to create a BGP VPN service. If omitted, the
* `region` argument of the provider is used. Changing this creates a new
* BGP VPN.
*/
readonly region: pulumi.Output<string>;
/**
* A list of route distinguisher strings. If
* specified, one of these RDs will be used to advertise VPN routes.
*/
readonly routeDistinguishers: pulumi.Output<string[]>;
/**
* A list of Route Targets that will be both
* imported and used for export.
*/
readonly routeTargets: pulumi.Output<string[]>;
/**
* A list of router IDs that are associated with the BGP VPN.
*/
readonly routers: pulumi.Output<string[]>;
/**
* Indicates whether the BGP VPN is shared across projects.
*/
readonly shared: pulumi.Output<boolean>;
/**
* The type of the BGP VPN (either `l2` or `l3`). Changing this
* creates a new BGP VPN. Defaults to `l3`.
*/
readonly type: pulumi.Output<string>;
/**
* The globally-assigned VXLAN VNI for the BGP VPN. Changing
* this creates a new BGP VPN.
*/
readonly vni: pulumi.Output<number | undefined>;
/**
* Create a V2 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?: V2Args, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering V2 resources.
*/
export interface V2State {
/**
* A list of additional Route Targets that will be
* used for export.
*/
exportTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of additional Route Targets that will be
* imported.
*/
importTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The default BGP LOCAL\_PREF of routes that will be
* advertised to the BGP VPN, unless overridden per-route.
*/
localPref?: pulumi.Input<number>;
/**
* The name of the BGP VPN. Changing this updates the name of
* the existing BGP VPN.
*/
name?: pulumi.Input<string>;
/**
* A list of network IDs that are associated with the BGP VPN.
*/
networks?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of port IDs that are associated with the BGP VPN.
*/
ports?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The ID of the project that owns the BGPVPN. Only
* administrative and users with `advsvc` role can specify a project ID other
* than their own. Changing this creates a new BGP VPN.
*/
projectId?: pulumi.Input<string>;
/**
* The region in which to obtain the V2 Networking client.
* A Networking client is needed to create a BGP VPN service. If omitted, the
* `region` argument of the provider is used. Changing this creates a new
* BGP VPN.
*/
region?: pulumi.Input<string>;
/**
* A list of route distinguisher strings. If
* specified, one of these RDs will be used to advertise VPN routes.
*/
routeDistinguishers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of Route Targets that will be both
* imported and used for export.
*/
routeTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of router IDs that are associated with the BGP VPN.
*/
routers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Indicates whether the BGP VPN is shared across projects.
*/
shared?: pulumi.Input<boolean>;
/**
* The type of the BGP VPN (either `l2` or `l3`). Changing this
* creates a new BGP VPN. Defaults to `l3`.
*/
type?: pulumi.Input<string>;
/**
* The globally-assigned VXLAN VNI for the BGP VPN. Changing
* this creates a new BGP VPN.
*/
vni?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a V2 resource.
*/
export interface V2Args {
/**
* A list of additional Route Targets that will be
* used for export.
*/
exportTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of additional Route Targets that will be
* imported.
*/
importTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The default BGP LOCAL\_PREF of routes that will be
* advertised to the BGP VPN, unless overridden per-route.
*/
localPref?: pulumi.Input<number>;
/**
* The name of the BGP VPN. Changing this updates the name of
* the existing BGP VPN.
*/
name?: pulumi.Input<string>;
/**
* The ID of the project that owns the BGPVPN. Only
* administrative and users with `advsvc` role can specify a project ID other
* than their own. Changing this creates a new BGP VPN.
*/
projectId?: pulumi.Input<string>;
/**
* The region in which to obtain the V2 Networking client.
* A Networking client is needed to create a BGP VPN service. If omitted, the
* `region` argument of the provider is used. Changing this creates a new
* BGP VPN.
*/
region?: pulumi.Input<string>;
/**
* A list of route distinguisher strings. If
* specified, one of these RDs will be used to advertise VPN routes.
*/
routeDistinguishers?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of Route Targets that will be both
* imported and used for export.
*/
routeTargets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The type of the BGP VPN (either `l2` or `l3`). Changing this
* creates a new BGP VPN. Defaults to `l3`.
*/
type?: pulumi.Input<string>;
/**
* The globally-assigned VXLAN VNI for the BGP VPN. Changing
* this creates a new BGP VPN.
*/
vni?: pulumi.Input<number>;
}