1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. networkconnectivity
  5. Spoke
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

gcp.networkconnectivity.Spoke

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

    The NetworkConnectivity Spoke resource

    Example Usage

    Linked_vpc_network

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const network = new gcp.compute.Network("network", {
        name: "network",
        autoCreateSubnetworks: false,
    });
    const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
        name: "hub",
        description: "A sample hub",
        labels: {
            "label-two": "value-one",
        },
    });
    const primary = new gcp.networkconnectivity.Spoke("primary", {
        name: "name",
        location: "global",
        description: "A sample spoke with a linked routher appliance instance",
        labels: {
            "label-one": "value-one",
        },
        hub: basicHub.id,
        linkedVpcNetwork: {
            excludeExportRanges: [
                "198.51.100.0/24",
                "10.10.0.0/16",
            ],
            uri: network.selfLink,
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    network = gcp.compute.Network("network",
        name="network",
        auto_create_subnetworks=False)
    basic_hub = gcp.networkconnectivity.Hub("basic_hub",
        name="hub",
        description="A sample hub",
        labels={
            "label-two": "value-one",
        })
    primary = gcp.networkconnectivity.Spoke("primary",
        name="name",
        location="global",
        description="A sample spoke with a linked routher appliance instance",
        labels={
            "label-one": "value-one",
        },
        hub=basic_hub.id,
        linked_vpc_network=gcp.networkconnectivity.SpokeLinkedVpcNetworkArgs(
            exclude_export_ranges=[
                "198.51.100.0/24",
                "10.10.0.0/16",
            ],
            uri=network.self_link,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/networkconnectivity"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
    			Name:                  pulumi.String("network"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		basicHub, err := networkconnectivity.NewHub(ctx, "basic_hub", &networkconnectivity.HubArgs{
    			Name:        pulumi.String("hub"),
    			Description: pulumi.String("A sample hub"),
    			Labels: pulumi.StringMap{
    				"label-two": pulumi.String("value-one"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = networkconnectivity.NewSpoke(ctx, "primary", &networkconnectivity.SpokeArgs{
    			Name:        pulumi.String("name"),
    			Location:    pulumi.String("global"),
    			Description: pulumi.String("A sample spoke with a linked routher appliance instance"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			Hub: basicHub.ID(),
    			LinkedVpcNetwork: &networkconnectivity.SpokeLinkedVpcNetworkArgs{
    				ExcludeExportRanges: pulumi.StringArray{
    					pulumi.String("198.51.100.0/24"),
    					pulumi.String("10.10.0.0/16"),
    				},
    				Uri: network.SelfLink,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var network = new Gcp.Compute.Network("network", new()
        {
            Name = "network",
            AutoCreateSubnetworks = false,
        });
    
        var basicHub = new Gcp.NetworkConnectivity.Hub("basic_hub", new()
        {
            Name = "hub",
            Description = "A sample hub",
            Labels = 
            {
                { "label-two", "value-one" },
            },
        });
    
        var primary = new Gcp.NetworkConnectivity.Spoke("primary", new()
        {
            Name = "name",
            Location = "global",
            Description = "A sample spoke with a linked routher appliance instance",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            Hub = basicHub.Id,
            LinkedVpcNetwork = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedVpcNetworkArgs
            {
                ExcludeExportRanges = new[]
                {
                    "198.51.100.0/24",
                    "10.10.0.0/16",
                },
                Uri = network.SelfLink,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.networkconnectivity.Hub;
    import com.pulumi.gcp.networkconnectivity.HubArgs;
    import com.pulumi.gcp.networkconnectivity.Spoke;
    import com.pulumi.gcp.networkconnectivity.SpokeArgs;
    import com.pulumi.gcp.networkconnectivity.inputs.SpokeLinkedVpcNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var network = new Network("network", NetworkArgs.builder()        
                .name("network")
                .autoCreateSubnetworks(false)
                .build());
    
            var basicHub = new Hub("basicHub", HubArgs.builder()        
                .name("hub")
                .description("A sample hub")
                .labels(Map.of("label-two", "value-one"))
                .build());
    
            var primary = new Spoke("primary", SpokeArgs.builder()        
                .name("name")
                .location("global")
                .description("A sample spoke with a linked routher appliance instance")
                .labels(Map.of("label-one", "value-one"))
                .hub(basicHub.id())
                .linkedVpcNetwork(SpokeLinkedVpcNetworkArgs.builder()
                    .excludeExportRanges(                
                        "198.51.100.0/24",
                        "10.10.0.0/16")
                    .uri(network.selfLink())
                    .build())
                .build());
    
        }
    }
    
    resources:
      network:
        type: gcp:compute:Network
        properties:
          name: network
          autoCreateSubnetworks: false
      basicHub:
        type: gcp:networkconnectivity:Hub
        name: basic_hub
        properties:
          name: hub
          description: A sample hub
          labels:
            label-two: value-one
      primary:
        type: gcp:networkconnectivity:Spoke
        properties:
          name: name
          location: global
          description: A sample spoke with a linked routher appliance instance
          labels:
            label-one: value-one
          hub: ${basicHub.id}
          linkedVpcNetwork:
            excludeExportRanges:
              - 198.51.100.0/24
              - 10.10.0.0/16
            uri: ${network.selfLink}
    

    Router_appliance

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const network = new gcp.compute.Network("network", {
        name: "network",
        autoCreateSubnetworks: false,
    });
    const subnetwork = new gcp.compute.Subnetwork("subnetwork", {
        name: "subnet",
        ipCidrRange: "10.0.0.0/28",
        region: "us-west1",
        network: network.selfLink,
    });
    const instance = new gcp.compute.Instance("instance", {
        name: "instance",
        machineType: "e2-medium",
        canIpForward: true,
        zone: "us-west1-a",
        bootDisk: {
            initializeParams: {
                image: "projects/debian-cloud/global/images/debian-10-buster-v20210817",
            },
        },
        networkInterfaces: [{
            subnetwork: subnetwork.name,
            networkIp: "10.0.0.2",
            accessConfigs: [{
                networkTier: "PREMIUM",
            }],
        }],
    });
    const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
        name: "hub",
        description: "A sample hub",
        labels: {
            "label-two": "value-one",
        },
    });
    const primary = new gcp.networkconnectivity.Spoke("primary", {
        name: "name",
        location: "us-west1",
        description: "A sample spoke with a linked routher appliance instance",
        labels: {
            "label-one": "value-one",
        },
        hub: basicHub.id,
        linkedRouterApplianceInstances: {
            instances: [{
                virtualMachine: instance.selfLink,
                ipAddress: "10.0.0.2",
            }],
            siteToSiteDataTransfer: true,
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    network = gcp.compute.Network("network",
        name="network",
        auto_create_subnetworks=False)
    subnetwork = gcp.compute.Subnetwork("subnetwork",
        name="subnet",
        ip_cidr_range="10.0.0.0/28",
        region="us-west1",
        network=network.self_link)
    instance = gcp.compute.Instance("instance",
        name="instance",
        machine_type="e2-medium",
        can_ip_forward=True,
        zone="us-west1-a",
        boot_disk=gcp.compute.InstanceBootDiskArgs(
            initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
                image="projects/debian-cloud/global/images/debian-10-buster-v20210817",
            ),
        ),
        network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
            subnetwork=subnetwork.name,
            network_ip="10.0.0.2",
            access_configs=[gcp.compute.InstanceNetworkInterfaceAccessConfigArgs(
                network_tier="PREMIUM",
            )],
        )])
    basic_hub = gcp.networkconnectivity.Hub("basic_hub",
        name="hub",
        description="A sample hub",
        labels={
            "label-two": "value-one",
        })
    primary = gcp.networkconnectivity.Spoke("primary",
        name="name",
        location="us-west1",
        description="A sample spoke with a linked routher appliance instance",
        labels={
            "label-one": "value-one",
        },
        hub=basic_hub.id,
        linked_router_appliance_instances=gcp.networkconnectivity.SpokeLinkedRouterApplianceInstancesArgs(
            instances=[gcp.networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArgs(
                virtual_machine=instance.self_link,
                ip_address="10.0.0.2",
            )],
            site_to_site_data_transfer=True,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/networkconnectivity"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
    			Name:                  pulumi.String("network"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		subnetwork, err := compute.NewSubnetwork(ctx, "subnetwork", &compute.SubnetworkArgs{
    			Name:        pulumi.String("subnet"),
    			IpCidrRange: pulumi.String("10.0.0.0/28"),
    			Region:      pulumi.String("us-west1"),
    			Network:     network.SelfLink,
    		})
    		if err != nil {
    			return err
    		}
    		instance, err := compute.NewInstance(ctx, "instance", &compute.InstanceArgs{
    			Name:         pulumi.String("instance"),
    			MachineType:  pulumi.String("e2-medium"),
    			CanIpForward: pulumi.Bool(true),
    			Zone:         pulumi.String("us-west1-a"),
    			BootDisk: &compute.InstanceBootDiskArgs{
    				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
    					Image: pulumi.String("projects/debian-cloud/global/images/debian-10-buster-v20210817"),
    				},
    			},
    			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
    				&compute.InstanceNetworkInterfaceArgs{
    					Subnetwork: subnetwork.Name,
    					NetworkIp:  pulumi.String("10.0.0.2"),
    					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
    						&compute.InstanceNetworkInterfaceAccessConfigArgs{
    							NetworkTier: pulumi.String("PREMIUM"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		basicHub, err := networkconnectivity.NewHub(ctx, "basic_hub", &networkconnectivity.HubArgs{
    			Name:        pulumi.String("hub"),
    			Description: pulumi.String("A sample hub"),
    			Labels: pulumi.StringMap{
    				"label-two": pulumi.String("value-one"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = networkconnectivity.NewSpoke(ctx, "primary", &networkconnectivity.SpokeArgs{
    			Name:        pulumi.String("name"),
    			Location:    pulumi.String("us-west1"),
    			Description: pulumi.String("A sample spoke with a linked routher appliance instance"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			Hub: basicHub.ID(),
    			LinkedRouterApplianceInstances: &networkconnectivity.SpokeLinkedRouterApplianceInstancesArgs{
    				Instances: networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArray{
    					&networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArgs{
    						VirtualMachine: instance.SelfLink,
    						IpAddress:      pulumi.String("10.0.0.2"),
    					},
    				},
    				SiteToSiteDataTransfer: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var network = new Gcp.Compute.Network("network", new()
        {
            Name = "network",
            AutoCreateSubnetworks = false,
        });
    
        var subnetwork = new Gcp.Compute.Subnetwork("subnetwork", new()
        {
            Name = "subnet",
            IpCidrRange = "10.0.0.0/28",
            Region = "us-west1",
            Network = network.SelfLink,
        });
    
        var instance = new Gcp.Compute.Instance("instance", new()
        {
            Name = "instance",
            MachineType = "e2-medium",
            CanIpForward = true,
            Zone = "us-west1-a",
            BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
            {
                InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
                {
                    Image = "projects/debian-cloud/global/images/debian-10-buster-v20210817",
                },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
                {
                    Subnetwork = subnetwork.Name,
                    NetworkIp = "10.0.0.2",
                    AccessConfigs = new[]
                    {
                        new Gcp.Compute.Inputs.InstanceNetworkInterfaceAccessConfigArgs
                        {
                            NetworkTier = "PREMIUM",
                        },
                    },
                },
            },
        });
    
        var basicHub = new Gcp.NetworkConnectivity.Hub("basic_hub", new()
        {
            Name = "hub",
            Description = "A sample hub",
            Labels = 
            {
                { "label-two", "value-one" },
            },
        });
    
        var primary = new Gcp.NetworkConnectivity.Spoke("primary", new()
        {
            Name = "name",
            Location = "us-west1",
            Description = "A sample spoke with a linked routher appliance instance",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            Hub = basicHub.Id,
            LinkedRouterApplianceInstances = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedRouterApplianceInstancesArgs
            {
                Instances = new[]
                {
                    new Gcp.NetworkConnectivity.Inputs.SpokeLinkedRouterApplianceInstancesInstanceArgs
                    {
                        VirtualMachine = instance.SelfLink,
                        IpAddress = "10.0.0.2",
                    },
                },
                SiteToSiteDataTransfer = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.Subnetwork;
    import com.pulumi.gcp.compute.SubnetworkArgs;
    import com.pulumi.gcp.compute.Instance;
    import com.pulumi.gcp.compute.InstanceArgs;
    import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
    import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
    import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
    import com.pulumi.gcp.networkconnectivity.Hub;
    import com.pulumi.gcp.networkconnectivity.HubArgs;
    import com.pulumi.gcp.networkconnectivity.Spoke;
    import com.pulumi.gcp.networkconnectivity.SpokeArgs;
    import com.pulumi.gcp.networkconnectivity.inputs.SpokeLinkedRouterApplianceInstancesArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var network = new Network("network", NetworkArgs.builder()        
                .name("network")
                .autoCreateSubnetworks(false)
                .build());
    
            var subnetwork = new Subnetwork("subnetwork", SubnetworkArgs.builder()        
                .name("subnet")
                .ipCidrRange("10.0.0.0/28")
                .region("us-west1")
                .network(network.selfLink())
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()        
                .name("instance")
                .machineType("e2-medium")
                .canIpForward(true)
                .zone("us-west1-a")
                .bootDisk(InstanceBootDiskArgs.builder()
                    .initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
                        .image("projects/debian-cloud/global/images/debian-10-buster-v20210817")
                        .build())
                    .build())
                .networkInterfaces(InstanceNetworkInterfaceArgs.builder()
                    .subnetwork(subnetwork.name())
                    .networkIp("10.0.0.2")
                    .accessConfigs(InstanceNetworkInterfaceAccessConfigArgs.builder()
                        .networkTier("PREMIUM")
                        .build())
                    .build())
                .build());
    
            var basicHub = new Hub("basicHub", HubArgs.builder()        
                .name("hub")
                .description("A sample hub")
                .labels(Map.of("label-two", "value-one"))
                .build());
    
            var primary = new Spoke("primary", SpokeArgs.builder()        
                .name("name")
                .location("us-west1")
                .description("A sample spoke with a linked routher appliance instance")
                .labels(Map.of("label-one", "value-one"))
                .hub(basicHub.id())
                .linkedRouterApplianceInstances(SpokeLinkedRouterApplianceInstancesArgs.builder()
                    .instances(SpokeLinkedRouterApplianceInstancesInstanceArgs.builder()
                        .virtualMachine(instance.selfLink())
                        .ipAddress("10.0.0.2")
                        .build())
                    .siteToSiteDataTransfer(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      network:
        type: gcp:compute:Network
        properties:
          name: network
          autoCreateSubnetworks: false
      subnetwork:
        type: gcp:compute:Subnetwork
        properties:
          name: subnet
          ipCidrRange: 10.0.0.0/28
          region: us-west1
          network: ${network.selfLink}
      instance:
        type: gcp:compute:Instance
        properties:
          name: instance
          machineType: e2-medium
          canIpForward: true
          zone: us-west1-a
          bootDisk:
            initializeParams:
              image: projects/debian-cloud/global/images/debian-10-buster-v20210817
          networkInterfaces:
            - subnetwork: ${subnetwork.name}
              networkIp: 10.0.0.2
              accessConfigs:
                - networkTier: PREMIUM
      basicHub:
        type: gcp:networkconnectivity:Hub
        name: basic_hub
        properties:
          name: hub
          description: A sample hub
          labels:
            label-two: value-one
      primary:
        type: gcp:networkconnectivity:Spoke
        properties:
          name: name
          location: us-west1
          description: A sample spoke with a linked routher appliance instance
          labels:
            label-one: value-one
          hub: ${basicHub.id}
          linkedRouterApplianceInstances:
            instances:
              - virtualMachine: ${instance.selfLink}
                ipAddress: 10.0.0.2
            siteToSiteDataTransfer: true
    

    Create Spoke Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Spoke(name: string, args: SpokeArgs, opts?: CustomResourceOptions);
    @overload
    def Spoke(resource_name: str,
              args: SpokeArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Spoke(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              hub: Optional[str] = None,
              location: Optional[str] = None,
              description: Optional[str] = None,
              labels: Optional[Mapping[str, str]] = None,
              linked_interconnect_attachments: Optional[SpokeLinkedInterconnectAttachmentsArgs] = None,
              linked_router_appliance_instances: Optional[SpokeLinkedRouterApplianceInstancesArgs] = None,
              linked_vpc_network: Optional[SpokeLinkedVpcNetworkArgs] = None,
              linked_vpn_tunnels: Optional[SpokeLinkedVpnTunnelsArgs] = None,
              name: Optional[str] = None,
              project: Optional[str] = None)
    func NewSpoke(ctx *Context, name string, args SpokeArgs, opts ...ResourceOption) (*Spoke, error)
    public Spoke(string name, SpokeArgs args, CustomResourceOptions? opts = null)
    public Spoke(String name, SpokeArgs args)
    public Spoke(String name, SpokeArgs args, CustomResourceOptions options)
    
    type: gcp:networkconnectivity:Spoke
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args SpokeArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args SpokeArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args SpokeArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SpokeArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SpokeArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var spokeResource = new Gcp.NetworkConnectivity.Spoke("spokeResource", new()
    {
        Hub = "string",
        Location = "string",
        Description = "string",
        Labels = 
        {
            { "string", "string" },
        },
        LinkedInterconnectAttachments = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedInterconnectAttachmentsArgs
        {
            SiteToSiteDataTransfer = false,
            Uris = new[]
            {
                "string",
            },
        },
        LinkedRouterApplianceInstances = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedRouterApplianceInstancesArgs
        {
            Instances = new[]
            {
                new Gcp.NetworkConnectivity.Inputs.SpokeLinkedRouterApplianceInstancesInstanceArgs
                {
                    IpAddress = "string",
                    VirtualMachine = "string",
                },
            },
            SiteToSiteDataTransfer = false,
        },
        LinkedVpcNetwork = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedVpcNetworkArgs
        {
            Uri = "string",
            ExcludeExportRanges = new[]
            {
                "string",
            },
        },
        LinkedVpnTunnels = new Gcp.NetworkConnectivity.Inputs.SpokeLinkedVpnTunnelsArgs
        {
            SiteToSiteDataTransfer = false,
            Uris = new[]
            {
                "string",
            },
        },
        Name = "string",
        Project = "string",
    });
    
    example, err := networkconnectivity.NewSpoke(ctx, "spokeResource", &networkconnectivity.SpokeArgs{
    	Hub:         pulumi.String("string"),
    	Location:    pulumi.String("string"),
    	Description: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	LinkedInterconnectAttachments: &networkconnectivity.SpokeLinkedInterconnectAttachmentsArgs{
    		SiteToSiteDataTransfer: pulumi.Bool(false),
    		Uris: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	LinkedRouterApplianceInstances: &networkconnectivity.SpokeLinkedRouterApplianceInstancesArgs{
    		Instances: networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArray{
    			&networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArgs{
    				IpAddress:      pulumi.String("string"),
    				VirtualMachine: pulumi.String("string"),
    			},
    		},
    		SiteToSiteDataTransfer: pulumi.Bool(false),
    	},
    	LinkedVpcNetwork: &networkconnectivity.SpokeLinkedVpcNetworkArgs{
    		Uri: pulumi.String("string"),
    		ExcludeExportRanges: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	LinkedVpnTunnels: &networkconnectivity.SpokeLinkedVpnTunnelsArgs{
    		SiteToSiteDataTransfer: pulumi.Bool(false),
    		Uris: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Name:    pulumi.String("string"),
    	Project: pulumi.String("string"),
    })
    
    var spokeResource = new Spoke("spokeResource", SpokeArgs.builder()        
        .hub("string")
        .location("string")
        .description("string")
        .labels(Map.of("string", "string"))
        .linkedInterconnectAttachments(SpokeLinkedInterconnectAttachmentsArgs.builder()
            .siteToSiteDataTransfer(false)
            .uris("string")
            .build())
        .linkedRouterApplianceInstances(SpokeLinkedRouterApplianceInstancesArgs.builder()
            .instances(SpokeLinkedRouterApplianceInstancesInstanceArgs.builder()
                .ipAddress("string")
                .virtualMachine("string")
                .build())
            .siteToSiteDataTransfer(false)
            .build())
        .linkedVpcNetwork(SpokeLinkedVpcNetworkArgs.builder()
            .uri("string")
            .excludeExportRanges("string")
            .build())
        .linkedVpnTunnels(SpokeLinkedVpnTunnelsArgs.builder()
            .siteToSiteDataTransfer(false)
            .uris("string")
            .build())
        .name("string")
        .project("string")
        .build());
    
    spoke_resource = gcp.networkconnectivity.Spoke("spokeResource",
        hub="string",
        location="string",
        description="string",
        labels={
            "string": "string",
        },
        linked_interconnect_attachments=gcp.networkconnectivity.SpokeLinkedInterconnectAttachmentsArgs(
            site_to_site_data_transfer=False,
            uris=["string"],
        ),
        linked_router_appliance_instances=gcp.networkconnectivity.SpokeLinkedRouterApplianceInstancesArgs(
            instances=[gcp.networkconnectivity.SpokeLinkedRouterApplianceInstancesInstanceArgs(
                ip_address="string",
                virtual_machine="string",
            )],
            site_to_site_data_transfer=False,
        ),
        linked_vpc_network=gcp.networkconnectivity.SpokeLinkedVpcNetworkArgs(
            uri="string",
            exclude_export_ranges=["string"],
        ),
        linked_vpn_tunnels=gcp.networkconnectivity.SpokeLinkedVpnTunnelsArgs(
            site_to_site_data_transfer=False,
            uris=["string"],
        ),
        name="string",
        project="string")
    
    const spokeResource = new gcp.networkconnectivity.Spoke("spokeResource", {
        hub: "string",
        location: "string",
        description: "string",
        labels: {
            string: "string",
        },
        linkedInterconnectAttachments: {
            siteToSiteDataTransfer: false,
            uris: ["string"],
        },
        linkedRouterApplianceInstances: {
            instances: [{
                ipAddress: "string",
                virtualMachine: "string",
            }],
            siteToSiteDataTransfer: false,
        },
        linkedVpcNetwork: {
            uri: "string",
            excludeExportRanges: ["string"],
        },
        linkedVpnTunnels: {
            siteToSiteDataTransfer: false,
            uris: ["string"],
        },
        name: "string",
        project: "string",
    });
    
    type: gcp:networkconnectivity:Spoke
    properties:
        description: string
        hub: string
        labels:
            string: string
        linkedInterconnectAttachments:
            siteToSiteDataTransfer: false
            uris:
                - string
        linkedRouterApplianceInstances:
            instances:
                - ipAddress: string
                  virtualMachine: string
            siteToSiteDataTransfer: false
        linkedVpcNetwork:
            excludeExportRanges:
                - string
            uri: string
        linkedVpnTunnels:
            siteToSiteDataTransfer: false
            uris:
                - string
        location: string
        name: string
        project: string
    

    Spoke Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Spoke resource accepts the following input properties:

    Hub string
    Immutable. The URI of the hub that this spoke is attached to.
    Location string
    The location for the resource
    Description string
    An optional description of the spoke.
    Labels Dictionary<string, string>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    LinkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    LinkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    LinkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    LinkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    Name string
    Immutable. The name of the spoke. Spoke names must be unique.
    Project string
    The project for the resource
    Hub string
    Immutable. The URI of the hub that this spoke is attached to.
    Location string
    The location for the resource
    Description string
    An optional description of the spoke.
    Labels map[string]string
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    LinkedInterconnectAttachments SpokeLinkedInterconnectAttachmentsArgs
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    LinkedRouterApplianceInstances SpokeLinkedRouterApplianceInstancesArgs
    The URIs of linked Router appliance resources
    LinkedVpcNetwork SpokeLinkedVpcNetworkArgs
    VPC network that is associated with the spoke.
    LinkedVpnTunnels SpokeLinkedVpnTunnelsArgs
    The URIs of linked VPN tunnel resources
    Name string
    Immutable. The name of the spoke. Spoke names must be unique.
    Project string
    The project for the resource
    hub String
    Immutable. The URI of the hub that this spoke is attached to.
    location String
    The location for the resource
    description String
    An optional description of the spoke.
    labels Map<String,String>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    linkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    linkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    name String
    Immutable. The name of the spoke. Spoke names must be unique.
    project String
    The project for the resource
    hub string
    Immutable. The URI of the hub that this spoke is attached to.
    location string
    The location for the resource
    description string
    An optional description of the spoke.
    labels {[key: string]: string}
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    linkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    linkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    name string
    Immutable. The name of the spoke. Spoke names must be unique.
    project string
    The project for the resource
    hub str
    Immutable. The URI of the hub that this spoke is attached to.
    location str
    The location for the resource
    description str
    An optional description of the spoke.
    labels Mapping[str, str]
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linked_interconnect_attachments SpokeLinkedInterconnectAttachmentsArgs
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linked_router_appliance_instances SpokeLinkedRouterApplianceInstancesArgs
    The URIs of linked Router appliance resources
    linked_vpc_network SpokeLinkedVpcNetworkArgs
    VPC network that is associated with the spoke.
    linked_vpn_tunnels SpokeLinkedVpnTunnelsArgs
    The URIs of linked VPN tunnel resources
    name str
    Immutable. The name of the spoke. Spoke names must be unique.
    project str
    The project for the resource
    hub String
    Immutable. The URI of the hub that this spoke is attached to.
    location String
    The location for the resource
    description String
    An optional description of the spoke.
    labels Map<String>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments Property Map
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances Property Map
    The URIs of linked Router appliance resources
    linkedVpcNetwork Property Map
    VPC network that is associated with the spoke.
    linkedVpnTunnels Property Map
    The URIs of linked VPN tunnel resources
    name String
    Immutable. The name of the spoke. Spoke names must be unique.
    project String
    The project for the resource

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Spoke resource produces the following output properties:

    CreateTime string
    Output only. The time the spoke was created.
    EffectiveLabels Dictionary<string, object>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels Dictionary<string, object>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    UniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    UpdateTime string
    Output only. The time the spoke was last updated.
    CreateTime string
    Output only. The time the spoke was created.
    EffectiveLabels map[string]interface{}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels map[string]interface{}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    UniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    UpdateTime string
    Output only. The time the spoke was last updated.
    createTime String
    Output only. The time the spoke was created.
    effectiveLabels Map<String,Object>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String,Object>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId String
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime String
    Output only. The time the spoke was last updated.
    createTime string
    Output only. The time the spoke was created.
    effectiveLabels {[key: string]: any}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id string
    The provider-assigned unique ID for this managed resource.
    pulumiLabels {[key: string]: any}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime string
    Output only. The time the spoke was last updated.
    create_time str
    Output only. The time the spoke was created.
    effective_labels Mapping[str, Any]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id str
    The provider-assigned unique ID for this managed resource.
    pulumi_labels Mapping[str, Any]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state str
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    unique_id str
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    update_time str
    Output only. The time the spoke was last updated.
    createTime String
    Output only. The time the spoke was created.
    effectiveLabels Map<Any>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<Any>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId String
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime String
    Output only. The time the spoke was last updated.

    Look up Existing Spoke Resource

    Get an existing Spoke resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: SpokeState, opts?: CustomResourceOptions): Spoke
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            effective_labels: Optional[Mapping[str, Any]] = None,
            hub: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            linked_interconnect_attachments: Optional[SpokeLinkedInterconnectAttachmentsArgs] = None,
            linked_router_appliance_instances: Optional[SpokeLinkedRouterApplianceInstancesArgs] = None,
            linked_vpc_network: Optional[SpokeLinkedVpcNetworkArgs] = None,
            linked_vpn_tunnels: Optional[SpokeLinkedVpnTunnelsArgs] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, Any]] = None,
            state: Optional[str] = None,
            unique_id: Optional[str] = None,
            update_time: Optional[str] = None) -> Spoke
    func GetSpoke(ctx *Context, name string, id IDInput, state *SpokeState, opts ...ResourceOption) (*Spoke, error)
    public static Spoke Get(string name, Input<string> id, SpokeState? state, CustomResourceOptions? opts = null)
    public static Spoke get(String name, Output<String> id, SpokeState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    Output only. The time the spoke was created.
    Description string
    An optional description of the spoke.
    EffectiveLabels Dictionary<string, object>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Hub string
    Immutable. The URI of the hub that this spoke is attached to.
    Labels Dictionary<string, string>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    LinkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    LinkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    LinkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    LinkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    Location string
    The location for the resource
    Name string
    Immutable. The name of the spoke. Spoke names must be unique.
    Project string
    The project for the resource
    PulumiLabels Dictionary<string, object>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    UniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    UpdateTime string
    Output only. The time the spoke was last updated.
    CreateTime string
    Output only. The time the spoke was created.
    Description string
    An optional description of the spoke.
    EffectiveLabels map[string]interface{}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Hub string
    Immutable. The URI of the hub that this spoke is attached to.
    Labels map[string]string
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    LinkedInterconnectAttachments SpokeLinkedInterconnectAttachmentsArgs
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    LinkedRouterApplianceInstances SpokeLinkedRouterApplianceInstancesArgs
    The URIs of linked Router appliance resources
    LinkedVpcNetwork SpokeLinkedVpcNetworkArgs
    VPC network that is associated with the spoke.
    LinkedVpnTunnels SpokeLinkedVpnTunnelsArgs
    The URIs of linked VPN tunnel resources
    Location string
    The location for the resource
    Name string
    Immutable. The name of the spoke. Spoke names must be unique.
    Project string
    The project for the resource
    PulumiLabels map[string]interface{}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    UniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    UpdateTime string
    Output only. The time the spoke was last updated.
    createTime String
    Output only. The time the spoke was created.
    description String
    An optional description of the spoke.
    effectiveLabels Map<String,Object>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    hub String
    Immutable. The URI of the hub that this spoke is attached to.
    labels Map<String,String>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    linkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    linkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    location String
    The location for the resource
    name String
    Immutable. The name of the spoke. Spoke names must be unique.
    project String
    The project for the resource
    pulumiLabels Map<String,Object>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId String
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime String
    Output only. The time the spoke was last updated.
    createTime string
    Output only. The time the spoke was created.
    description string
    An optional description of the spoke.
    effectiveLabels {[key: string]: any}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    hub string
    Immutable. The URI of the hub that this spoke is attached to.
    labels {[key: string]: string}
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments SpokeLinkedInterconnectAttachments
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances SpokeLinkedRouterApplianceInstances
    The URIs of linked Router appliance resources
    linkedVpcNetwork SpokeLinkedVpcNetwork
    VPC network that is associated with the spoke.
    linkedVpnTunnels SpokeLinkedVpnTunnels
    The URIs of linked VPN tunnel resources
    location string
    The location for the resource
    name string
    Immutable. The name of the spoke. Spoke names must be unique.
    project string
    The project for the resource
    pulumiLabels {[key: string]: any}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state string
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId string
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime string
    Output only. The time the spoke was last updated.
    create_time str
    Output only. The time the spoke was created.
    description str
    An optional description of the spoke.
    effective_labels Mapping[str, Any]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    hub str
    Immutable. The URI of the hub that this spoke is attached to.
    labels Mapping[str, str]
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linked_interconnect_attachments SpokeLinkedInterconnectAttachmentsArgs
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linked_router_appliance_instances SpokeLinkedRouterApplianceInstancesArgs
    The URIs of linked Router appliance resources
    linked_vpc_network SpokeLinkedVpcNetworkArgs
    VPC network that is associated with the spoke.
    linked_vpn_tunnels SpokeLinkedVpnTunnelsArgs
    The URIs of linked VPN tunnel resources
    location str
    The location for the resource
    name str
    Immutable. The name of the spoke. Spoke names must be unique.
    project str
    The project for the resource
    pulumi_labels Mapping[str, Any]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state str
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    unique_id str
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    update_time str
    Output only. The time the spoke was last updated.
    createTime String
    Output only. The time the spoke was created.
    description String
    An optional description of the spoke.
    effectiveLabels Map<Any>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    hub String
    Immutable. The URI of the hub that this spoke is attached to.
    labels Map<String>
    Optional labels in key:value format. For more information about labels, see Requirements for labels. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
    linkedInterconnectAttachments Property Map
    A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.
    linkedRouterApplianceInstances Property Map
    The URIs of linked Router appliance resources
    linkedVpcNetwork Property Map
    VPC network that is associated with the spoke.
    linkedVpnTunnels Property Map
    The URIs of linked VPN tunnel resources
    location String
    The location for the resource
    name String
    Immutable. The name of the spoke. Spoke names must be unique.
    project String
    The project for the resource
    pulumiLabels Map<Any>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    Output only. The current lifecycle state of this spoke. Possible values: STATE_UNSPECIFIED, CREATING, ACTIVE, DELETING
    uniqueId String
    Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.
    updateTime String
    Output only. The time the spoke was last updated.

    Supporting Types

    SpokeLinkedInterconnectAttachments, SpokeLinkedInterconnectAttachmentsArgs

    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    Uris List<string>
    The URIs of linked interconnect attachment resources
    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    Uris []string
    The URIs of linked interconnect attachment resources
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris List<String>
    The URIs of linked interconnect attachment resources
    siteToSiteDataTransfer boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris string[]
    The URIs of linked interconnect attachment resources
    site_to_site_data_transfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris Sequence[str]
    The URIs of linked interconnect attachment resources
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris List<String>
    The URIs of linked interconnect attachment resources

    SpokeLinkedRouterApplianceInstances, SpokeLinkedRouterApplianceInstancesArgs

    Instances List<SpokeLinkedRouterApplianceInstancesInstance>
    The list of router appliance instances
    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    Instances []SpokeLinkedRouterApplianceInstancesInstance
    The list of router appliance instances
    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    instances List<SpokeLinkedRouterApplianceInstancesInstance>
    The list of router appliance instances
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    instances SpokeLinkedRouterApplianceInstancesInstance[]
    The list of router appliance instances
    siteToSiteDataTransfer boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    instances Sequence[SpokeLinkedRouterApplianceInstancesInstance]
    The list of router appliance instances
    site_to_site_data_transfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    instances List<Property Map>
    The list of router appliance instances
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.

    SpokeLinkedRouterApplianceInstancesInstance, SpokeLinkedRouterApplianceInstancesInstanceArgs

    IpAddress string
    The IP address on the VM to use for peering.
    VirtualMachine string
    The URI of the virtual machine resource


    IpAddress string
    The IP address on the VM to use for peering.
    VirtualMachine string
    The URI of the virtual machine resource


    ipAddress String
    The IP address on the VM to use for peering.
    virtualMachine String
    The URI of the virtual machine resource


    ipAddress string
    The IP address on the VM to use for peering.
    virtualMachine string
    The URI of the virtual machine resource


    ip_address str
    The IP address on the VM to use for peering.
    virtual_machine str
    The URI of the virtual machine resource


    ipAddress String
    The IP address on the VM to use for peering.
    virtualMachine String
    The URI of the virtual machine resource


    SpokeLinkedVpcNetwork, SpokeLinkedVpcNetworkArgs

    Uri string
    The URI of the VPC network resource.
    ExcludeExportRanges List<string>
    IP ranges encompassing the subnets to be excluded from peering.
    Uri string
    The URI of the VPC network resource.
    ExcludeExportRanges []string
    IP ranges encompassing the subnets to be excluded from peering.
    uri String
    The URI of the VPC network resource.
    excludeExportRanges List<String>
    IP ranges encompassing the subnets to be excluded from peering.
    uri string
    The URI of the VPC network resource.
    excludeExportRanges string[]
    IP ranges encompassing the subnets to be excluded from peering.
    uri str
    The URI of the VPC network resource.
    exclude_export_ranges Sequence[str]
    IP ranges encompassing the subnets to be excluded from peering.
    uri String
    The URI of the VPC network resource.
    excludeExportRanges List<String>
    IP ranges encompassing the subnets to be excluded from peering.

    SpokeLinkedVpnTunnels, SpokeLinkedVpnTunnelsArgs

    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    Uris List<string>
    The URIs of linked VPN tunnel resources.
    SiteToSiteDataTransfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    Uris []string
    The URIs of linked VPN tunnel resources.
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris List<String>
    The URIs of linked VPN tunnel resources.
    siteToSiteDataTransfer boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris string[]
    The URIs of linked VPN tunnel resources.
    site_to_site_data_transfer bool
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris Sequence[str]
    The URIs of linked VPN tunnel resources.
    siteToSiteDataTransfer Boolean
    A value that controls whether site-to-site data transfer is enabled for these resources. Note that data transfer is available only in supported locations.
    uris List<String>
    The URIs of linked VPN tunnel resources.

    Import

    Spoke can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/spokes/{{name}}

    • {{project}}/{{location}}/{{name}}

    • {{location}}/{{name}}

    When using the pulumi import command, Spoke can be imported using one of the formats above. For example:

    $ pulumi import gcp:networkconnectivity/spoke:Spoke default projects/{{project}}/locations/{{location}}/spokes/{{name}}
    
    $ pulumi import gcp:networkconnectivity/spoke:Spoke default {{project}}/{{location}}/{{name}}
    
    $ pulumi import gcp:networkconnectivity/spoke:Spoke default {{location}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi