UNPKG

@pulumi/openstack

Version:

A Pulumi package for creating and managing OpenStack cloud resources.

256 lines (255 loc) • 8.71 kB
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>; }