import * as pulumi from "@pulumi/pulumi"; /** * Represents a network peering resource. Network peerings are global resources. * * To get more information about NetworkPeering, see: * * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/networks/addPeering) * * ## Example Usage * * ### Vmware Engine Network Peering Ven * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const network_peering_nw = new gcp.vmwareengine.Network("network-peering-nw", { * name: "default-np-nw", * location: "global", * type: "STANDARD", * }); * const network_peering_peer_nw = new gcp.vmwareengine.Network("network-peering-peer-nw", { * name: "peer-np-nw", * location: "global", * type: "STANDARD", * }); * const vmw_engine_network_peering = new gcp.vmwareengine.NetworkPeering("vmw-engine-network-peering", { * name: "sample-network-peering", * description: "Sample description", * vmwareEngineNetwork: network_peering_nw.id, * peerNetwork: network_peering_peer_nw.id, * peerNetworkType: "VMWARE_ENGINE_NETWORK", * exportCustomRoutes: false, * importCustomRoutes: false, * exportCustomRoutesWithPublicIp: false, * importCustomRoutesWithPublicIp: false, * }); * ``` * ### Vmware Engine Network Peering Standard * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const network_peering_vpc = new gcp.compute.Network("network-peering-vpc", {name: "default-vpc"}); * const network_peering_standard_nw = new gcp.vmwareengine.Network("network-peering-standard-nw", { * name: "default-standard-nw-np", * location: "global", * type: "STANDARD", * }); * const vmw_engine_network_peering = new gcp.vmwareengine.NetworkPeering("vmw-engine-network-peering", { * name: "sample-network-peering", * description: "Sample description", * peerNetwork: network_peering_vpc.id, * peerNetworkType: "STANDARD", * vmwareEngineNetwork: network_peering_standard_nw.id, * }); * ``` * * ## Import * * NetworkPeering can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/global/networkPeerings/{{name}}` * * `{{project}}/{{name}}` * * `{{name}}` * * When using the `pulumi import` command, NetworkPeering can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:vmwareengine/networkPeering:NetworkPeering default projects/{{project}}/locations/global/networkPeerings/{{name}} * $ pulumi import gcp:vmwareengine/networkPeering:NetworkPeering default {{project}}/{{name}} * $ pulumi import gcp:vmwareengine/networkPeering:NetworkPeering default {{name}} * ``` */ export declare class NetworkPeering extends pulumi.CustomResource { /** * Get an existing NetworkPeering 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, state?: NetworkPeeringState, opts?: pulumi.CustomResourceOptions): NetworkPeering; /** * Returns true if the given object is an instance of NetworkPeering. 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 NetworkPeering; /** * Creation time of this resource. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and * up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ readonly createTime: pulumi.Output; /** * User-provided description for this network peering. */ readonly description: pulumi.Output; /** * True if custom routes are exported to the peered network; false otherwise. */ readonly exportCustomRoutes: pulumi.Output; /** * True if all subnet routes with a public IP address range are exported; false otherwise. */ readonly exportCustomRoutesWithPublicIp: pulumi.Output; /** * True if custom routes are imported from the peered network; false otherwise. */ readonly importCustomRoutes: pulumi.Output; /** * True if custom routes are imported from the peered network; false otherwise. */ readonly importCustomRoutesWithPublicIp: pulumi.Output; /** * The ID of the Network Peering. */ readonly name: pulumi.Output; /** * The relative resource name of the network to peer with a standard VMware Engine network. * The provided network can be a consumer VPC network or another standard VMware Engine network. */ readonly peerNetwork: pulumi.Output; /** * The type of the network to peer with the VMware Engine network. * Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`. */ readonly peerNetworkType: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * State of the network peering. * This field has a value of 'ACTIVE' when there's a matching configuration in the peer network. * New values may be added to this enum when appropriate. */ readonly state: pulumi.Output; /** * Details about the current state of the network peering. */ readonly stateDetails: pulumi.Output; /** * System-generated unique identifier for the resource. */ readonly uid: pulumi.Output; /** * Last updated time of this resource. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine * fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ readonly updateTime: pulumi.Output; /** * The relative resource name of the VMware Engine network. Specify the name in the following form: * projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} where {project} * can either be a project number or a project ID. */ readonly vmwareEngineNetwork: pulumi.Output; /** * The canonical name of the VMware Engine network in the form: * projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} */ readonly vmwareEngineNetworkCanonical: pulumi.Output; /** * Create a NetworkPeering 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: NetworkPeeringArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NetworkPeering resources. */ export interface NetworkPeeringState { /** * Creation time of this resource. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and * up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ createTime?: pulumi.Input; /** * User-provided description for this network peering. */ description?: pulumi.Input; /** * True if custom routes are exported to the peered network; false otherwise. */ exportCustomRoutes?: pulumi.Input; /** * True if all subnet routes with a public IP address range are exported; false otherwise. */ exportCustomRoutesWithPublicIp?: pulumi.Input; /** * True if custom routes are imported from the peered network; false otherwise. */ importCustomRoutes?: pulumi.Input; /** * True if custom routes are imported from the peered network; false otherwise. */ importCustomRoutesWithPublicIp?: pulumi.Input; /** * The ID of the Network Peering. */ name?: pulumi.Input; /** * The relative resource name of the network to peer with a standard VMware Engine network. * The provided network can be a consumer VPC network or another standard VMware Engine network. */ peerNetwork?: pulumi.Input; /** * The type of the network to peer with the VMware Engine network. * Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`. */ peerNetworkType?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * State of the network peering. * This field has a value of 'ACTIVE' when there's a matching configuration in the peer network. * New values may be added to this enum when appropriate. */ state?: pulumi.Input; /** * Details about the current state of the network peering. */ stateDetails?: pulumi.Input; /** * System-generated unique identifier for the resource. */ uid?: pulumi.Input; /** * Last updated time of this resource. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine * fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ updateTime?: pulumi.Input; /** * The relative resource name of the VMware Engine network. Specify the name in the following form: * projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} where {project} * can either be a project number or a project ID. */ vmwareEngineNetwork?: pulumi.Input; /** * The canonical name of the VMware Engine network in the form: * projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} */ vmwareEngineNetworkCanonical?: pulumi.Input; } /** * The set of arguments for constructing a NetworkPeering resource. */ export interface NetworkPeeringArgs { /** * User-provided description for this network peering. */ description?: pulumi.Input; /** * True if custom routes are exported to the peered network; false otherwise. */ exportCustomRoutes?: pulumi.Input; /** * True if all subnet routes with a public IP address range are exported; false otherwise. */ exportCustomRoutesWithPublicIp?: pulumi.Input; /** * True if custom routes are imported from the peered network; false otherwise. */ importCustomRoutes?: pulumi.Input; /** * True if custom routes are imported from the peered network; false otherwise. */ importCustomRoutesWithPublicIp?: pulumi.Input; /** * The ID of the Network Peering. */ name?: pulumi.Input; /** * The relative resource name of the network to peer with a standard VMware Engine network. * The provided network can be a consumer VPC network or another standard VMware Engine network. */ peerNetwork: pulumi.Input; /** * The type of the network to peer with the VMware Engine network. * Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`. */ peerNetworkType: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The relative resource name of the VMware Engine network. Specify the name in the following form: * projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} where {project} * can either be a project number or a project ID. */ vmwareEngineNetwork: pulumi.Input; }