1. Packages
  2. CloudAMQP
  3. API Docs
  4. PrivatelinkAzure
CloudAMQP v3.18.0 published on Thursday, Jun 13, 2024 by Pulumi

cloudamqp.PrivatelinkAzure

Explore with Pulumi AI

cloudamqp logo
CloudAMQP v3.18.0 published on Thursday, Jun 13, 2024 by Pulumi

    Enable PrivateLink for a CloudAMQP instance hosted in Azure. If no existing VPC available when enable PrivateLink, a new VPC will be created with subnet 10.52.72.0/24.

    Note: Enabling PrivateLink will automatically add firewall rules for the peered subnet.

    Default PrivateLink firewall rule

    Example Usage

    CloudAMQP instance without existing VPC
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance 01",
        plan: "bunny-1",
        region: "azure-arm::westus",
        tags: [],
    });
    const privatelink = new cloudamqp.PrivatelinkAzure("privatelink", {
        instanceId: instance.id,
        approvedSubscriptions: ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="azure-arm::westus",
        tags=[])
    privatelink = cloudamqp.PrivatelinkAzure("privatelink",
        instance_id=instance.id,
        approved_subscriptions=["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"])
    
    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 {
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance 01"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("azure-arm::westus"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
    			InstanceId: instance.ID(),
    			ApprovedSubscriptions: pulumi.StringArray{
    				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "azure-arm::westus",
            Tags = new[] {},
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAzure("privatelink", new()
        {
            InstanceId = instance.Id,
            ApprovedSubscriptions = new[]
            {
                "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            },
        });
    
    });
    
    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.PrivatelinkAzure;
    import com.pulumi.cloudamqp.PrivatelinkAzureArgs;
    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 instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance 01")
                .plan("bunny-1")
                .region("azure-arm::westus")
                .tags()
                .build());
    
            var privatelink = new PrivatelinkAzure("privatelink", PrivatelinkAzureArgs.builder()
                .instanceId(instance.id())
                .approvedSubscriptions("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: azure-arm::westus
          tags: []
      privatelink:
        type: cloudamqp:PrivatelinkAzure
        properties:
          instanceId: ${instance.id}
          approvedSubscriptions:
            - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    
    CloudAMQP instance in an existing VPC
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const vpc = new cloudamqp.Vpc("vpc", {
        name: "Standalone VPC",
        region: "azure-arm::westus",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance 01",
        plan: "bunny-1",
        region: "azure-arm::westus",
        tags: [],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    const privatelink = new cloudamqp.PrivatelinkAzure("privatelink", {
        instanceId: instance.id,
        approvedSubscriptions: ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    vpc = cloudamqp.Vpc("vpc",
        name="Standalone VPC",
        region="azure-arm::westus",
        subnet="10.56.72.0/24",
        tags=[])
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="azure-arm::westus",
        tags=[],
        vpc_id=vpc.id,
        keep_associated_vpc=True)
    privatelink = cloudamqp.PrivatelinkAzure("privatelink",
        instance_id=instance.id,
        approved_subscriptions=["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"])
    
    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, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
    			Name:   pulumi.String("Standalone VPC"),
    			Region: pulumi.String("azure-arm::westus"),
    			Subnet: pulumi.String("10.56.72.0/24"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:              pulumi.String("Instance 01"),
    			Plan:              pulumi.String("bunny-1"),
    			Region:            pulumi.String("azure-arm::westus"),
    			Tags:              pulumi.StringArray{},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
    			InstanceId: instance.ID(),
    			ApprovedSubscriptions: pulumi.StringArray{
    				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc = new CloudAmqp.Vpc("vpc", new()
        {
            Name = "Standalone VPC",
            Region = "azure-arm::westus",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "azure-arm::westus",
            Tags = new[] {},
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAzure("privatelink", new()
        {
            InstanceId = instance.Id,
            ApprovedSubscriptions = new[]
            {
                "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Vpc;
    import com.pulumi.cloudamqp.VpcArgs;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.PrivatelinkAzure;
    import com.pulumi.cloudamqp.PrivatelinkAzureArgs;
    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 vpc = new Vpc("vpc", VpcArgs.builder()
                .name("Standalone VPC")
                .region("azure-arm::westus")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance 01")
                .plan("bunny-1")
                .region("azure-arm::westus")
                .tags()
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
            var privatelink = new PrivatelinkAzure("privatelink", PrivatelinkAzureArgs.builder()
                .instanceId(instance.id())
                .approvedSubscriptions("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")
                .build());
    
        }
    }
    
    resources:
      vpc:
        type: cloudamqp:Vpc
        properties:
          name: Standalone VPC
          region: azure-arm::westus
          subnet: 10.56.72.0/24
          tags: []
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: azure-arm::westus
          tags: []
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
      privatelink:
        type: cloudamqp:PrivatelinkAzure
        properties:
          instanceId: ${instance.id}
          approvedSubscriptions:
            - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    

    With Additional Firewall Rules

    CloudAMQP instance in an existing VPC with managed firewall rules
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const vpc = new cloudamqp.Vpc("vpc", {
        name: "Standalone VPC",
        region: "azure-arm::westus",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance 01",
        plan: "bunny-1",
        region: "azure-arm::westus",
        tags: [],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    const privatelink = new cloudamqp.PrivatelinkAzure("privatelink", {
        instanceId: instance.id,
        approvedSubscriptions: ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],
    });
    const firewallSettings = new cloudamqp.SecurityFirewall("firewall_settings", {
        instanceId: instance.id,
        rules: [
            {
                description: "Custom PrivateLink setup",
                ip: vpc.subnet,
                ports: [],
                services: [
                    "AMQP",
                    "AMQPS",
                    "HTTPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
            },
            {
                description: "MGMT interface",
                ip: "0.0.0.0/0",
                ports: [],
                services: ["HTTPS"],
            },
        ],
    }, {
        dependsOn: [privatelink],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    vpc = cloudamqp.Vpc("vpc",
        name="Standalone VPC",
        region="azure-arm::westus",
        subnet="10.56.72.0/24",
        tags=[])
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="azure-arm::westus",
        tags=[],
        vpc_id=vpc.id,
        keep_associated_vpc=True)
    privatelink = cloudamqp.PrivatelinkAzure("privatelink",
        instance_id=instance.id,
        approved_subscriptions=["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"])
    firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
        instance_id=instance.id,
        rules=[
            cloudamqp.SecurityFirewallRuleArgs(
                description="Custom PrivateLink setup",
                ip=vpc.subnet,
                ports=[],
                services=[
                    "AMQP",
                    "AMQPS",
                    "HTTPS",
                    "STREAM",
                    "STREAM_SSL",
                ],
            ),
            cloudamqp.SecurityFirewallRuleArgs(
                description="MGMT interface",
                ip="0.0.0.0/0",
                ports=[],
                services=["HTTPS"],
            ),
        ],
        opts=pulumi.ResourceOptions(depends_on=[privatelink]))
    
    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, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
    			Name:   pulumi.String("Standalone VPC"),
    			Region: pulumi.String("azure-arm::westus"),
    			Subnet: pulumi.String("10.56.72.0/24"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:              pulumi.String("Instance 01"),
    			Plan:              pulumi.String("bunny-1"),
    			Region:            pulumi.String("azure-arm::westus"),
    			Tags:              pulumi.StringArray{},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		privatelink, err := cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
    			InstanceId: instance.ID(),
    			ApprovedSubscriptions: pulumi.StringArray{
    				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewall_settings", &cloudamqp.SecurityFirewallArgs{
    			InstanceId: instance.ID(),
    			Rules: cloudamqp.SecurityFirewallRuleArray{
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Description: pulumi.String("Custom PrivateLink setup"),
    					Ip:          vpc.Subnet,
    					Ports:       pulumi.IntArray{},
    					Services: pulumi.StringArray{
    						pulumi.String("AMQP"),
    						pulumi.String("AMQPS"),
    						pulumi.String("HTTPS"),
    						pulumi.String("STREAM"),
    						pulumi.String("STREAM_SSL"),
    					},
    				},
    				&cloudamqp.SecurityFirewallRuleArgs{
    					Description: pulumi.String("MGMT interface"),
    					Ip:          pulumi.String("0.0.0.0/0"),
    					Ports:       pulumi.IntArray{},
    					Services: pulumi.StringArray{
    						pulumi.String("HTTPS"),
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			privatelink,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        var vpc = new CloudAmqp.Vpc("vpc", new()
        {
            Name = "Standalone VPC",
            Region = "azure-arm::westus",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "azure-arm::westus",
            Tags = new[] {},
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAzure("privatelink", new()
        {
            InstanceId = instance.Id,
            ApprovedSubscriptions = new[]
            {
                "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            },
        });
    
        var firewallSettings = new CloudAmqp.SecurityFirewall("firewall_settings", new()
        {
            InstanceId = instance.Id,
            Rules = new[]
            {
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Description = "Custom PrivateLink setup",
                    Ip = vpc.Subnet,
                    Ports = new() { },
                    Services = new[]
                    {
                        "AMQP",
                        "AMQPS",
                        "HTTPS",
                        "STREAM",
                        "STREAM_SSL",
                    },
                },
                new CloudAmqp.Inputs.SecurityFirewallRuleArgs
                {
                    Description = "MGMT interface",
                    Ip = "0.0.0.0/0",
                    Ports = new() { },
                    Services = new[]
                    {
                        "HTTPS",
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                privatelink,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Vpc;
    import com.pulumi.cloudamqp.VpcArgs;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.PrivatelinkAzure;
    import com.pulumi.cloudamqp.PrivatelinkAzureArgs;
    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) {
            var vpc = new Vpc("vpc", VpcArgs.builder()
                .name("Standalone VPC")
                .region("azure-arm::westus")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance 01")
                .plan("bunny-1")
                .region("azure-arm::westus")
                .tags()
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
            var privatelink = new PrivatelinkAzure("privatelink", PrivatelinkAzureArgs.builder()
                .instanceId(instance.id())
                .approvedSubscriptions("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")
                .build());
    
            var firewallSettings = new SecurityFirewall("firewallSettings", SecurityFirewallArgs.builder()
                .instanceId(instance.id())
                .rules(            
                    SecurityFirewallRuleArgs.builder()
                        .description("Custom PrivateLink setup")
                        .ip(vpc.subnet())
                        .ports()
                        .services(                    
                            "AMQP",
                            "AMQPS",
                            "HTTPS",
                            "STREAM",
                            "STREAM_SSL")
                        .build(),
                    SecurityFirewallRuleArgs.builder()
                        .description("MGMT interface")
                        .ip("0.0.0.0/0")
                        .ports()
                        .services("HTTPS")
                        .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(privatelink)
                    .build());
    
        }
    }
    
    resources:
      vpc:
        type: cloudamqp:Vpc
        properties:
          name: Standalone VPC
          region: azure-arm::westus
          subnet: 10.56.72.0/24
          tags: []
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: azure-arm::westus
          tags: []
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
      privatelink:
        type: cloudamqp:PrivatelinkAzure
        properties:
          instanceId: ${instance.id}
          approvedSubscriptions:
            - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
      firewallSettings:
        type: cloudamqp:SecurityFirewall
        name: firewall_settings
        properties:
          instanceId: ${instance.id}
          rules:
            - description: Custom PrivateLink setup
              ip: ${vpc.subnet}
              ports: []
              services:
                - AMQP
                - AMQPS
                - HTTPS
                - STREAM
                - STREAM_SSL
            - description: MGMT interface
              ip: 0.0.0.0/0
              ports: []
              services:
                - HTTPS
        options:
          dependson:
            - ${privatelink}
    

    Depedency

    This resource depends on CloudAMQP instance identifier, cloudamqp_instance.instance.id.

    To create a PrivateLink configuration with additional firewall rules, it’s required to chain the cloudamqp.SecurityFirewall resource to avoid parallel conflicting resource calls. You can do this by making the firewall resource depend on the PrivateLink resource, cloudamqp_privatelink_azure.privatelink.

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

    Create PrivatelinkAzure Resource

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

    Constructor syntax

    new PrivatelinkAzure(name: string, args: PrivatelinkAzureArgs, opts?: CustomResourceOptions);
    @overload
    def PrivatelinkAzure(resource_name: str,
                         args: PrivatelinkAzureArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def PrivatelinkAzure(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         approved_subscriptions: Optional[Sequence[str]] = None,
                         instance_id: Optional[int] = None,
                         sleep: Optional[int] = None,
                         timeout: Optional[int] = None)
    func NewPrivatelinkAzure(ctx *Context, name string, args PrivatelinkAzureArgs, opts ...ResourceOption) (*PrivatelinkAzure, error)
    public PrivatelinkAzure(string name, PrivatelinkAzureArgs args, CustomResourceOptions? opts = null)
    public PrivatelinkAzure(String name, PrivatelinkAzureArgs args)
    public PrivatelinkAzure(String name, PrivatelinkAzureArgs args, CustomResourceOptions options)
    
    type: cloudamqp:PrivatelinkAzure
    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 PrivatelinkAzureArgs
    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 PrivatelinkAzureArgs
    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 PrivatelinkAzureArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PrivatelinkAzureArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PrivatelinkAzureArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var privatelinkAzureResource = new CloudAmqp.PrivatelinkAzure("privatelinkAzureResource", new()
    {
        ApprovedSubscriptions = new[]
        {
            "string",
        },
        InstanceId = 0,
        Sleep = 0,
        Timeout = 0,
    });
    
    example, err := cloudamqp.NewPrivatelinkAzure(ctx, "privatelinkAzureResource", &cloudamqp.PrivatelinkAzureArgs{
    	ApprovedSubscriptions: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	InstanceId: pulumi.Int(0),
    	Sleep:      pulumi.Int(0),
    	Timeout:    pulumi.Int(0),
    })
    
    var privatelinkAzureResource = new PrivatelinkAzure("privatelinkAzureResource", PrivatelinkAzureArgs.builder()
        .approvedSubscriptions("string")
        .instanceId(0)
        .sleep(0)
        .timeout(0)
        .build());
    
    privatelink_azure_resource = cloudamqp.PrivatelinkAzure("privatelinkAzureResource",
        approved_subscriptions=["string"],
        instance_id=0,
        sleep=0,
        timeout=0)
    
    const privatelinkAzureResource = new cloudamqp.PrivatelinkAzure("privatelinkAzureResource", {
        approvedSubscriptions: ["string"],
        instanceId: 0,
        sleep: 0,
        timeout: 0,
    });
    
    type: cloudamqp:PrivatelinkAzure
    properties:
        approvedSubscriptions:
            - string
        instanceId: 0
        sleep: 0
        timeout: 0
    

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

    ApprovedSubscriptions List<string>
    Approved subscriptions to access the endpoint service. See format below.
    InstanceId int
    The CloudAMQP instance identifier.
    Sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    Timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    ApprovedSubscriptions []string
    Approved subscriptions to access the endpoint service. See format below.
    InstanceId int
    The CloudAMQP instance identifier.
    Sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    Timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions List<String>
    Approved subscriptions to access the endpoint service. See format below.
    instanceId Integer
    The CloudAMQP instance identifier.
    sleep Integer
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    timeout Integer

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions string[]
    Approved subscriptions to access the endpoint service. See format below.
    instanceId number
    The CloudAMQP instance identifier.
    sleep number
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    timeout number

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approved_subscriptions Sequence[str]
    Approved subscriptions to access the endpoint service. See format below.
    instance_id int
    The CloudAMQP instance identifier.
    sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions List<String>
    Approved subscriptions to access the endpoint service. See format below.
    instanceId Number
    The CloudAMQP instance identifier.
    sleep Number
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    timeout Number

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    ServerName string
    Name of the server having the PrivateLink enabled.
    ServiceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    Status string
    PrivateLink status [enable, pending, disable]
    Id string
    The provider-assigned unique ID for this managed resource.
    ServerName string
    Name of the server having the PrivateLink enabled.
    ServiceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    Status string
    PrivateLink status [enable, pending, disable]
    id String
    The provider-assigned unique ID for this managed resource.
    serverName String
    Name of the server having the PrivateLink enabled.
    serviceName String
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    status String
    PrivateLink status [enable, pending, disable]
    id string
    The provider-assigned unique ID for this managed resource.
    serverName string
    Name of the server having the PrivateLink enabled.
    serviceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    status string
    PrivateLink status [enable, pending, disable]
    id str
    The provider-assigned unique ID for this managed resource.
    server_name str
    Name of the server having the PrivateLink enabled.
    service_name str
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    status str
    PrivateLink status [enable, pending, disable]
    id String
    The provider-assigned unique ID for this managed resource.
    serverName String
    Name of the server having the PrivateLink enabled.
    serviceName String
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    status String
    PrivateLink status [enable, pending, disable]

    Look up Existing PrivatelinkAzure Resource

    Get an existing PrivatelinkAzure 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?: PrivatelinkAzureState, opts?: CustomResourceOptions): PrivatelinkAzure
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            approved_subscriptions: Optional[Sequence[str]] = None,
            instance_id: Optional[int] = None,
            server_name: Optional[str] = None,
            service_name: Optional[str] = None,
            sleep: Optional[int] = None,
            status: Optional[str] = None,
            timeout: Optional[int] = None) -> PrivatelinkAzure
    func GetPrivatelinkAzure(ctx *Context, name string, id IDInput, state *PrivatelinkAzureState, opts ...ResourceOption) (*PrivatelinkAzure, error)
    public static PrivatelinkAzure Get(string name, Input<string> id, PrivatelinkAzureState? state, CustomResourceOptions? opts = null)
    public static PrivatelinkAzure get(String name, Output<String> id, PrivatelinkAzureState 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:
    ApprovedSubscriptions List<string>
    Approved subscriptions to access the endpoint service. See format below.
    InstanceId int
    The CloudAMQP instance identifier.
    ServerName string
    Name of the server having the PrivateLink enabled.
    ServiceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    Sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    Status string
    PrivateLink status [enable, pending, disable]
    Timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    ApprovedSubscriptions []string
    Approved subscriptions to access the endpoint service. See format below.
    InstanceId int
    The CloudAMQP instance identifier.
    ServerName string
    Name of the server having the PrivateLink enabled.
    ServiceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    Sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    Status string
    PrivateLink status [enable, pending, disable]
    Timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions List<String>
    Approved subscriptions to access the endpoint service. See format below.
    instanceId Integer
    The CloudAMQP instance identifier.
    serverName String
    Name of the server having the PrivateLink enabled.
    serviceName String
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    sleep Integer
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    status String
    PrivateLink status [enable, pending, disable]
    timeout Integer

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions string[]
    Approved subscriptions to access the endpoint service. See format below.
    instanceId number
    The CloudAMQP instance identifier.
    serverName string
    Name of the server having the PrivateLink enabled.
    serviceName string
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    sleep number
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    status string
    PrivateLink status [enable, pending, disable]
    timeout number

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approved_subscriptions Sequence[str]
    Approved subscriptions to access the endpoint service. See format below.
    instance_id int
    The CloudAMQP instance identifier.
    server_name str
    Name of the server having the PrivateLink enabled.
    service_name str
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    sleep int
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    status str
    PrivateLink status [enable, pending, disable]
    timeout int

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    approvedSubscriptions List<String>
    Approved subscriptions to access the endpoint service. See format below.
    instanceId Number
    The CloudAMQP instance identifier.
    serverName String
    Name of the server having the PrivateLink enabled.
    serviceName String
    Service name (alias) of the PrivateLink, needed when creating the endpoint.
    sleep Number
    Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. Available from v1.29.0
    status String
    PrivateLink status [enable, pending, disable]
    timeout Number

    Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. Available from v1.29.0

    Approved subscriptions format (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    Import

    cloudamqp_privatelink_aws can be imported using CloudAMQP internal identifier.

    $ pulumi import cloudamqp:index/privatelinkAzure:PrivatelinkAzure privatelink <id>`
    

    The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use CloudAMQP customer API or use the data source cloudamqp_account.

    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.18.0 published on Thursday, Jun 13, 2024 by Pulumi