1. Packages
  2. CloudAMQP
  3. API Docs
  4. VpcGcpPeering
CloudAMQP v3.17.5 published on Friday, Apr 5, 2024 by Pulumi

cloudamqp.VpcGcpPeering

Explore with Pulumi AI

cloudamqp logo
CloudAMQP v3.17.5 published on Friday, Apr 5, 2024 by Pulumi

    This resouce creates a VPC peering configuration for the CloudAMQP instance. The configuration will connect to another VPC network hosted on Google Cloud Platform (GCP). See the GCP documentation for more information on how to create the VPC peering configuration.

    Note: Creating a VPC peering will automatically add firewall rules for the peered subnet.

    Default VPC peering firewall rule
    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    

    Pricing is available at cloudamqp.com.

    Only available for dedicated subscription plans.

    Example Usage

    VPC peering pre v1.16.0
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // CloudAMQP instance
    const instance = new cloudamqp.Instance("instance", {
        plan: "bunny-1",
        region: "google-compute-engine::europe-north1",
        tags: ["terraform"],
        vpcSubnet: "10.40.72.0/24",
    });
    const vpcInfo = instance.id.apply(id => cloudamqp.getVpcGcpInfoOutput({
        instanceId: id,
    }));
    // VPC peering configuration
    const vpcPeeringRequest = new cloudamqp.VpcGcpPeering("vpcPeeringRequest", {
        instanceId: instance.id,
        peerNetworkUri: "https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>",
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # CloudAMQP instance
    instance = cloudamqp.Instance("instance",
        plan="bunny-1",
        region="google-compute-engine::europe-north1",
        tags=["terraform"],
        vpc_subnet="10.40.72.0/24")
    vpc_info = instance.id.apply(lambda id: cloudamqp.get_vpc_gcp_info_output(instance_id=id))
    # VPC peering configuration
    vpc_peering_request = cloudamqp.VpcGcpPeering("vpcPeeringRequest",
        instance_id=instance.id,
        peer_network_uri="https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// CloudAMQP instance
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("google-compute-engine::europe-north1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcSubnet: pulumi.String("10.40.72.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetVpcGcpInfoResult, error) {
    			return cloudamqp.GetVpcGcpInfoOutput(ctx, cloudamqp.GetVpcGcpInfoOutputArgs{
    				InstanceId: id,
    			}, nil), nil
    		}).(cloudamqp.GetVpcGcpInfoResultOutput)
    		// VPC peering configuration
    		_, err = cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
    			InstanceId:     instance.ID(),
    			PeerNetworkUri: pulumi.String("https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // CloudAMQP instance
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Plan = "bunny-1",
            Region = "google-compute-engine::europe-north1",
            Tags = new[]
            {
                "terraform",
            },
            VpcSubnet = "10.40.72.0/24",
        });
    
        var vpcInfo = CloudAmqp.GetVpcGcpInfo.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
        // VPC peering configuration
        var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering("vpcPeeringRequest", new()
        {
            InstanceId = instance.Id,
            PeerNetworkUri = "https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetVpcGcpInfoArgs;
    import com.pulumi.cloudamqp.VpcGcpPeering;
    import com.pulumi.cloudamqp.VpcGcpPeeringArgs;
    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) {
            // CloudAMQP instance
            var instance = new Instance("instance", InstanceArgs.builder()        
                .plan("bunny-1")
                .region("google-compute-engine::europe-north1")
                .tags("terraform")
                .vpcSubnet("10.40.72.0/24")
                .build());
    
            final var vpcInfo = CloudamqpFunctions.getVpcGcpInfo(GetVpcGcpInfoArgs.builder()
                .instanceId(instance.id())
                .build());
    
            // VPC peering configuration
            var vpcPeeringRequest = new VpcGcpPeering("vpcPeeringRequest", VpcGcpPeeringArgs.builder()        
                .instanceId(instance.id())
                .peerNetworkUri("https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>")
                .build());
    
        }
    }
    
    resources:
      # CloudAMQP instance
      instance:
        type: cloudamqp:Instance
        properties:
          plan: bunny-1
          region: google-compute-engine::europe-north1
          tags:
            - terraform
          vpcSubnet: 10.40.72.0/24
      # VPC peering configuration
      vpcPeeringRequest:
        type: cloudamqp:VpcGcpPeering
        properties:
          instanceId: ${instance.id}
          peerNetworkUri: https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>
    variables:
      vpcInfo:
        fn::invoke:
          Function: cloudamqp:getVpcGcpInfo
          Arguments:
            instanceId: ${instance.id}
    
    VPC peering post v1.16.0 (Managed VPC)

    With Additional Firewall Rules

    VPC peering pre v1.16.0
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // VPC peering configuration
    const vpcPeeringRequest = new cloudamqp.VpcGcpPeering("vpcPeeringRequest", {
        instanceId: cloudamqp_instance.instance.id,
        peerNetworkUri: _var.peer_network_uri,
    });
    // Firewall rules
    const firewallSettings = new cloudamqp.SecurityFirewall("firewallSettings", {
        instanceId: cloudamqp_instance.instance.id,
        rules: [
            {
                ip: _var.peer_subnet,
                ports: [15672],
                services: [
                    "AMQP",
                    "AMQPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
                description: "VPC peering for <NETWORK>",
            },
            {
                ip: "192.168.0.0/24",
                ports: [
                    4567,
                    4568,
                ],
                services: [
                    "AMQP",
                    "AMQPS",
                    "HTTPS",
                ],
            },
        ],
    }, {
        dependsOn: [vpcPeeringRequest],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # VPC peering configuration
    vpc_peering_request = cloudamqp.VpcGcpPeering("vpcPeeringRequest",
        instance_id=cloudamqp_instance["instance"]["id"],
        peer_network_uri=var["peer_network_uri"])
    # Firewall rules
    firewall_settings = cloudamqp.SecurityFirewall("firewallSettings",
        instance_id=cloudamqp_instance["instance"]["id"],
        rules=[
            cloudamqp.SecurityFirewallRuleArgs(
                ip=var["peer_subnet"],
                ports=[15672],
                services=[
                    "AMQP",
                    "AMQPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
                description="VPC peering for <NETWORK>",
            ),
            cloudamqp.SecurityFirewallRuleArgs(
                ip="192.168.0.0/24",
                ports=[
                    4567,
                    4568,
                ],
                services=[
                    "AMQP",
                    "AMQPS",
                    "HTTPS",
                ],
            ),
        ],
        opts=pulumi.ResourceOptions(depends_on=[vpc_peering_request]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// VPC peering configuration
    		vpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
    			InstanceId:     pulumi.Any(cloudamqp_instance.Instance.Id),
    			PeerNetworkUri: pulumi.Any(_var.Peer_network_uri),
    		})
    		if err != nil {
    			return err
    		}
    		// Firewall rules
    		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
    			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
    			Rules: cloudamqp.SecurityFirewallRuleArray{
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Ip: pulumi.Any(_var.Peer_subnet),
    					Ports: pulumi.IntArray{
    						pulumi.Int(15672),
    					},
    					Services: pulumi.StringArray{
    						pulumi.String("AMQP"),
    						pulumi.String("AMQPS"),
    						pulumi.String("STREAM"),
    						pulumi.String("STREAM_SSL"),
    					},
    					Description: pulumi.String("VPC peering for <NETWORK>"),
    				},
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Ip: pulumi.String("192.168.0.0/24"),
    					Ports: pulumi.IntArray{
    						pulumi.Int(4567),
    						pulumi.Int(4568),
    					},
    					Services: pulumi.StringArray{
    						pulumi.String("AMQP"),
    						pulumi.String("AMQPS"),
    						pulumi.String("HTTPS"),
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vpcPeeringRequest,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // VPC peering configuration
        var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering("vpcPeeringRequest", new()
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            PeerNetworkUri = @var.Peer_network_uri,
        });
    
        // Firewall rules
        var firewallSettings = new CloudAmqp.SecurityFirewall("firewallSettings", new()
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Rules = new[]
            {
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Ip = @var.Peer_subnet,
                    Ports = new[]
                    {
                        15672,
                    },
                    Services = new[]
                    {
                        "AMQP",
                        "AMQPS",
                        "STREAM",
                        "STREAM_SSL",
                    },
                    Description = "VPC peering for <NETWORK>",
                },
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Ip = "192.168.0.0/24",
                    Ports = new[]
                    {
                        4567,
                        4568,
                    },
                    Services = new[]
                    {
                        "AMQP",
                        "AMQPS",
                        "HTTPS",
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vpcPeeringRequest, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.VpcGcpPeering;
    import com.pulumi.cloudamqp.VpcGcpPeeringArgs;
    import com.pulumi.cloudamqp.SecurityFirewall;
    import com.pulumi.cloudamqp.SecurityFirewallArgs;
    import com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            // VPC peering configuration
            var vpcPeeringRequest = new VpcGcpPeering("vpcPeeringRequest", VpcGcpPeeringArgs.builder()        
                .instanceId(cloudamqp_instance.instance().id())
                .peerNetworkUri(var_.peer_network_uri())
                .build());
    
            // Firewall rules
            var firewallSettings = new SecurityFirewall("firewallSettings", SecurityFirewallArgs.builder()        
                .instanceId(cloudamqp_instance.instance().id())
                .rules(            
                    SecurityFirewallRuleArgs.builder()
                        .ip(var_.peer_subnet())
                        .ports(15672)
                        .services(                    
                            "AMQP",
                            "AMQPS",
                            "STREAM",
                            "STREAM_SSL")
                        .description("VPC peering for <NETWORK>")
                        .build(),
                    SecurityFirewallRuleArgs.builder()
                        .ip("192.168.0.0/24")
                        .ports(                    
                            4567,
                            4568)
                        .services(                    
                            "AMQP",
                            "AMQPS",
                            "HTTPS")
                        .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(vpcPeeringRequest)
                    .build());
    
        }
    }
    
    resources:
      # VPC peering configuration
      vpcPeeringRequest:
        type: cloudamqp:VpcGcpPeering
        properties:
          instanceId: ${cloudamqp_instance.instance.id}
          peerNetworkUri: ${var.peer_network_uri}
      # Firewall rules
      firewallSettings:
        type: cloudamqp:SecurityFirewall
        properties:
          instanceId: ${cloudamqp_instance.instance.id}
          # Default VPC peering rule
          rules:
            - ip: ${var.peer_subnet}
              ports:
                - 15672
              services:
                - AMQP
                - AMQPS
                - STREAM
                - STREAM_SSL
              description: VPC peering for <NETWORK>
            - ip: 192.168.0.0/24
              ports:
                - 4567
                - 4568
              services:
                - AMQP
                - AMQPS
                - HTTPS
        options:
          dependson:
            - ${vpcPeeringRequest}
    
    VPC peering post v1.16.0 (Managed VPC)
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // VPC peering configuration
    const vpcPeeringRequest = new cloudamqp.VpcGcpPeering("vpcPeeringRequest", {
        vpcId: cloudamqp_vpc.vpc.id,
        peerNetworkUri: _var.peer_network_uri,
    });
    // Firewall rules
    const firewallSettings = new cloudamqp.SecurityFirewall("firewallSettings", {
        instanceId: cloudamqp_instance.instance.id,
        rules: [
            {
                ip: _var.peer_subnet,
                ports: [15672],
                services: [
                    "AMQP",
                    "AMQPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
                description: "VPC peering for <NETWORK>",
            },
            {
                ip: "0.0.0.0/0",
                ports: [],
                services: ["HTTPS"],
                description: "MGMT interface",
            },
        ],
    }, {
        dependsOn: [vpcPeeringRequest],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # VPC peering configuration
    vpc_peering_request = cloudamqp.VpcGcpPeering("vpcPeeringRequest",
        vpc_id=cloudamqp_vpc["vpc"]["id"],
        peer_network_uri=var["peer_network_uri"])
    # Firewall rules
    firewall_settings = cloudamqp.SecurityFirewall("firewallSettings",
        instance_id=cloudamqp_instance["instance"]["id"],
        rules=[
            cloudamqp.SecurityFirewallRuleArgs(
                ip=var["peer_subnet"],
                ports=[15672],
                services=[
                    "AMQP",
                    "AMQPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
                description="VPC peering for <NETWORK>",
            ),
            cloudamqp.SecurityFirewallRuleArgs(
                ip="0.0.0.0/0",
                ports=[],
                services=["HTTPS"],
                description="MGMT interface",
            ),
        ],
        opts=pulumi.ResourceOptions(depends_on=[vpc_peering_request]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// VPC peering configuration
    		vpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
    			VpcId:          pulumi.Any(cloudamqp_vpc.Vpc.Id),
    			PeerNetworkUri: pulumi.Any(_var.Peer_network_uri),
    		})
    		if err != nil {
    			return err
    		}
    		// Firewall rules
    		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
    			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
    			Rules: cloudamqp.SecurityFirewallRuleArray{
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Ip: pulumi.Any(_var.Peer_subnet),
    					Ports: pulumi.IntArray{
    						pulumi.Int(15672),
    					},
    					Services: pulumi.StringArray{
    						pulumi.String("AMQP"),
    						pulumi.String("AMQPS"),
    						pulumi.String("STREAM"),
    						pulumi.String("STREAM_SSL"),
    					},
    					Description: pulumi.String("VPC peering for <NETWORK>"),
    				},
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Ip:    pulumi.String("0.0.0.0/0"),
    					Ports: pulumi.IntArray{},
    					Services: pulumi.StringArray{
    						pulumi.String("HTTPS"),
    					},
    					Description: pulumi.String("MGMT interface"),
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vpcPeeringRequest,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // VPC peering configuration
        var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering("vpcPeeringRequest", new()
        {
            VpcId = cloudamqp_vpc.Vpc.Id,
            PeerNetworkUri = @var.Peer_network_uri,
        });
    
        // Firewall rules
        var firewallSettings = new CloudAmqp.SecurityFirewall("firewallSettings", new()
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Rules = new[]
            {
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Ip = @var.Peer_subnet,
                    Ports = new[]
                    {
                        15672,
                    },
                    Services = new[]
                    {
                        "AMQP",
                        "AMQPS",
                        "STREAM",
                        "STREAM_SSL",
                    },
                    Description = "VPC peering for <NETWORK>",
                },
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Ip = "0.0.0.0/0",
                    Ports = new() { },
                    Services = new[]
                    {
                        "HTTPS",
                    },
                    Description = "MGMT interface",
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vpcPeeringRequest, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.VpcGcpPeering;
    import com.pulumi.cloudamqp.VpcGcpPeeringArgs;
    import com.pulumi.cloudamqp.SecurityFirewall;
    import com.pulumi.cloudamqp.SecurityFirewallArgs;
    import com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            // VPC peering configuration
            var vpcPeeringRequest = new VpcGcpPeering("vpcPeeringRequest", VpcGcpPeeringArgs.builder()        
                .vpcId(cloudamqp_vpc.vpc().id())
                .peerNetworkUri(var_.peer_network_uri())
                .build());
    
            // Firewall rules
            var firewallSettings = new SecurityFirewall("firewallSettings", SecurityFirewallArgs.builder()        
                .instanceId(cloudamqp_instance.instance().id())
                .rules(            
                    SecurityFirewallRuleArgs.builder()
                        .ip(var_.peer_subnet())
                        .ports(15672)
                        .services(                    
                            "AMQP",
                            "AMQPS",
                            "STREAM",
                            "STREAM_SSL")
                        .description("VPC peering for <NETWORK>")
                        .build(),
                    SecurityFirewallRuleArgs.builder()
                        .ip("0.0.0.0/0")
                        .ports()
                        .services("HTTPS")
                        .description("MGMT interface")
                        .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(vpcPeeringRequest)
                    .build());
    
        }
    }
    
    resources:
      # VPC peering configuration
      vpcPeeringRequest:
        type: cloudamqp:VpcGcpPeering
        properties:
          vpcId: ${cloudamqp_vpc.vpc.id}
          # vpc_id prefered over instance_id
          #   # instance_id = cloudamqp_instance.instance.id
          peerNetworkUri: ${var.peer_network_uri}
      # Firewall rules
      firewallSettings:
        type: cloudamqp:SecurityFirewall
        properties:
          instanceId: ${cloudamqp_instance.instance.id}
          # Default VPC peering rule
          rules:
            - ip: ${var.peer_subnet}
              ports:
                - 15672
              services:
                - AMQP
                - AMQPS
                - STREAM
                - STREAM_SSL
              description: VPC peering for <NETWORK>
            - ip: 0.0.0.0/0
              ports: []
              services:
                - HTTPS
              description: MGMT interface
        options:
          dependson:
            - ${vpcPeeringRequest}
    

    Depedency

    Pre v1.16.0 This resource depends on CloudAMQP instance identifier, cloudamqp_instance.instance.id.

    Post v1.16.0 This resource depends on CloudAMQP managed VPC identifier, cloudamqp_vpc.vpc.id or instance identifier, cloudamqp_instance.instance.id.

    Create VPC Peering with additional firewall rules

    To create a VPC peering configuration with additional firewall rules, it’s required to chain the cloudamqp.SecurityFirewall resource to avoid parallel conflicting resource calls. This is done by adding dependency from the firewall resource to the VPC peering resource.

    Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for the VPC peering also needs to be added.

    See example below.

    Create VpcGcpPeering Resource

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

    Constructor syntax

    new VpcGcpPeering(name: string, args: VpcGcpPeeringArgs, opts?: CustomResourceOptions);
    @overload
    def VpcGcpPeering(resource_name: str,
                      args: VpcGcpPeeringArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def VpcGcpPeering(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      peer_network_uri: Optional[str] = None,
                      instance_id: Optional[int] = None,
                      sleep: Optional[int] = None,
                      timeout: Optional[int] = None,
                      vpc_id: Optional[str] = None,
                      wait_on_peering_status: Optional[bool] = None)
    func NewVpcGcpPeering(ctx *Context, name string, args VpcGcpPeeringArgs, opts ...ResourceOption) (*VpcGcpPeering, error)
    public VpcGcpPeering(string name, VpcGcpPeeringArgs args, CustomResourceOptions? opts = null)
    public VpcGcpPeering(String name, VpcGcpPeeringArgs args)
    public VpcGcpPeering(String name, VpcGcpPeeringArgs args, CustomResourceOptions options)
    
    type: cloudamqp:VpcGcpPeering
    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 VpcGcpPeeringArgs
    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 VpcGcpPeeringArgs
    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 VpcGcpPeeringArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VpcGcpPeeringArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VpcGcpPeeringArgs
    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 vpcGcpPeeringResource = new CloudAmqp.VpcGcpPeering("vpcGcpPeeringResource", new()
    {
        PeerNetworkUri = "string",
        InstanceId = 0,
        Sleep = 0,
        Timeout = 0,
        VpcId = "string",
        WaitOnPeeringStatus = false,
    });
    
    example, err := cloudamqp.NewVpcGcpPeering(ctx, "vpcGcpPeeringResource", &cloudamqp.VpcGcpPeeringArgs{
    	PeerNetworkUri:      pulumi.String("string"),
    	InstanceId:          pulumi.Int(0),
    	Sleep:               pulumi.Int(0),
    	Timeout:             pulumi.Int(0),
    	VpcId:               pulumi.String("string"),
    	WaitOnPeeringStatus: pulumi.Bool(false),
    })
    
    var vpcGcpPeeringResource = new VpcGcpPeering("vpcGcpPeeringResource", VpcGcpPeeringArgs.builder()        
        .peerNetworkUri("string")
        .instanceId(0)
        .sleep(0)
        .timeout(0)
        .vpcId("string")
        .waitOnPeeringStatus(false)
        .build());
    
    vpc_gcp_peering_resource = cloudamqp.VpcGcpPeering("vpcGcpPeeringResource",
        peer_network_uri="string",
        instance_id=0,
        sleep=0,
        timeout=0,
        vpc_id="string",
        wait_on_peering_status=False)
    
    const vpcGcpPeeringResource = new cloudamqp.VpcGcpPeering("vpcGcpPeeringResource", {
        peerNetworkUri: "string",
        instanceId: 0,
        sleep: 0,
        timeout: 0,
        vpcId: "string",
        waitOnPeeringStatus: false,
    });
    
    type: cloudamqp:VpcGcpPeering
    properties:
        instanceId: 0
        peerNetworkUri: string
        sleep: 0
        timeout: 0
        vpcId: string
        waitOnPeeringStatus: false
    

    VpcGcpPeering 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 VpcGcpPeering resource accepts the following input properties:

    PeerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    InstanceId int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    Sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    Timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    VpcId string
    The managed VPC identifier. Available from v1.16.0
    WaitOnPeeringStatus bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    PeerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    InstanceId int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    Sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    Timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    VpcId string
    The managed VPC identifier. Available from v1.16.0
    WaitOnPeeringStatus bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    peerNetworkUri String
    Network uri of the VPC network to which you will peer with.
    instanceId Integer
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    sleep Integer
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    timeout Integer
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId String
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus Boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    peerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    instanceId number
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    sleep number
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    timeout number
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId string
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    peer_network_uri str
    Network uri of the VPC network to which you will peer with.
    instance_id int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpc_id str
    The managed VPC identifier. Available from v1.16.0
    wait_on_peering_status bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    peerNetworkUri String
    Network uri of the VPC network to which you will peer with.
    instanceId Number
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    sleep Number
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    timeout Number
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId String
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus Boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0

    Outputs

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

    AutoCreateRoutes bool
    VPC peering auto created routes
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    VPC peering state
    StateDetails string
    VPC peering state details
    AutoCreateRoutes bool
    VPC peering auto created routes
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    VPC peering state
    StateDetails string
    VPC peering state details
    autoCreateRoutes Boolean
    VPC peering auto created routes
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    VPC peering state
    stateDetails String
    VPC peering state details
    autoCreateRoutes boolean
    VPC peering auto created routes
    id string
    The provider-assigned unique ID for this managed resource.
    state string
    VPC peering state
    stateDetails string
    VPC peering state details
    auto_create_routes bool
    VPC peering auto created routes
    id str
    The provider-assigned unique ID for this managed resource.
    state str
    VPC peering state
    state_details str
    VPC peering state details
    autoCreateRoutes Boolean
    VPC peering auto created routes
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    VPC peering state
    stateDetails String
    VPC peering state details

    Look up Existing VpcGcpPeering Resource

    Get an existing VpcGcpPeering 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?: VpcGcpPeeringState, opts?: CustomResourceOptions): VpcGcpPeering
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auto_create_routes: Optional[bool] = None,
            instance_id: Optional[int] = None,
            peer_network_uri: Optional[str] = None,
            sleep: Optional[int] = None,
            state: Optional[str] = None,
            state_details: Optional[str] = None,
            timeout: Optional[int] = None,
            vpc_id: Optional[str] = None,
            wait_on_peering_status: Optional[bool] = None) -> VpcGcpPeering
    func GetVpcGcpPeering(ctx *Context, name string, id IDInput, state *VpcGcpPeeringState, opts ...ResourceOption) (*VpcGcpPeering, error)
    public static VpcGcpPeering Get(string name, Input<string> id, VpcGcpPeeringState? state, CustomResourceOptions? opts = null)
    public static VpcGcpPeering get(String name, Output<String> id, VpcGcpPeeringState 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:
    AutoCreateRoutes bool
    VPC peering auto created routes
    InstanceId int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    PeerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    Sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    State string
    VPC peering state
    StateDetails string
    VPC peering state details
    Timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    VpcId string
    The managed VPC identifier. Available from v1.16.0
    WaitOnPeeringStatus bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    AutoCreateRoutes bool
    VPC peering auto created routes
    InstanceId int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    PeerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    Sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    State string
    VPC peering state
    StateDetails string
    VPC peering state details
    Timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    VpcId string
    The managed VPC identifier. Available from v1.16.0
    WaitOnPeeringStatus bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    autoCreateRoutes Boolean
    VPC peering auto created routes
    instanceId Integer
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    peerNetworkUri String
    Network uri of the VPC network to which you will peer with.
    sleep Integer
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    state String
    VPC peering state
    stateDetails String
    VPC peering state details
    timeout Integer
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId String
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus Boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    autoCreateRoutes boolean
    VPC peering auto created routes
    instanceId number
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    peerNetworkUri string
    Network uri of the VPC network to which you will peer with.
    sleep number
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    state string
    VPC peering state
    stateDetails string
    VPC peering state details
    timeout number
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId string
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    auto_create_routes bool
    VPC peering auto created routes
    instance_id int
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    peer_network_uri str
    Network uri of the VPC network to which you will peer with.
    sleep int
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    state str
    VPC peering state
    state_details str
    VPC peering state details
    timeout int
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpc_id str
    The managed VPC identifier. Available from v1.16.0
    wait_on_peering_status bool
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0
    autoCreateRoutes Boolean
    VPC peering auto created routes
    instanceId Number
    The CloudAMQP instance identifier. Deprecated from v1.16.0
    peerNetworkUri String
    Network uri of the VPC network to which you will peer with.
    sleep Number
    Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. Available from v1.29.0
    state String
    VPC peering state
    stateDetails String
    VPC peering state details
    timeout Number
    Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. Available from v1.29.0
    vpcId String
    The managed VPC identifier. Available from v1.16.0
    waitOnPeeringStatus Boolean
    Makes the resource wait until the peering is connected. Default set to false. Available from v1.28.0

    Import

    Not possible to import this resource.

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

    Package Details

    Repository
    CloudAMQP pulumi/pulumi-cloudamqp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cloudamqp Terraform Provider.
    cloudamqp logo
    CloudAMQP v3.17.5 published on Friday, Apr 5, 2024 by Pulumi