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

cloudamqp.PrivatelinkAws

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 AWS. 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: "amazon-web-services::us-west-1",
        tags: [],
    });
    const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
        instanceId: instance.id,
        allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=[])
    privatelink = cloudamqp.PrivatelinkAws("privatelink",
        instance_id=instance.id,
        allowed_principals=["arn:aws:iam::aws-account-id:user/user-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 {
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance 01"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
    			InstanceId: instance.ID(),
    			AllowedPrincipals: pulumi.StringArray{
    				pulumi.String("arn:aws:iam::aws-account-id:user/user-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(() => 
    {
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[] {},
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAws("privatelink", new()
        {
            InstanceId = instance.Id,
            AllowedPrincipals = new[]
            {
                "arn:aws:iam::aws-account-id:user/user-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.PrivatelinkAws;
    import com.pulumi.cloudamqp.PrivatelinkAwsArgs;
    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("amazon-web-services::us-west-1")
                .tags()
                .build());
    
            var privatelink = new PrivatelinkAws("privatelink", PrivatelinkAwsArgs.builder()
                .instanceId(instance.id())
                .allowedPrincipals("arn:aws:iam::aws-account-id:user/user-name")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags: []
      privatelink:
        type: cloudamqp:PrivatelinkAws
        properties:
          instanceId: ${instance.id}
          allowedPrincipals:
            - arn:aws:iam::aws-account-id:user/user-name
    
    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: "amazon-web-services::us-west-1",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance 01",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: [],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
        instanceId: instance.id,
        allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    vpc = cloudamqp.Vpc("vpc",
        name="Standalone VPC",
        region="amazon-web-services::us-west-1",
        subnet="10.56.72.0/24",
        tags=[])
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=[],
        vpc_id=vpc.id,
        keep_associated_vpc=True)
    privatelink = cloudamqp.PrivatelinkAws("privatelink",
        instance_id=instance.id,
        allowed_principals=["arn:aws:iam::aws-account-id:user/user-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 {
    		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
    			Name:   pulumi.String("Standalone VPC"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			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("amazon-web-services::us-west-1"),
    			Tags:              pulumi.StringArray{},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
    			InstanceId: instance.ID(),
    			AllowedPrincipals: pulumi.StringArray{
    				pulumi.String("arn:aws:iam::aws-account-id:user/user-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(() => 
    {
        var vpc = new CloudAmqp.Vpc("vpc", new()
        {
            Name = "Standalone VPC",
            Region = "amazon-web-services::us-west-1",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[] {},
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAws("privatelink", new()
        {
            InstanceId = instance.Id,
            AllowedPrincipals = new[]
            {
                "arn:aws:iam::aws-account-id:user/user-name",
            },
        });
    
    });
    
    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.PrivatelinkAws;
    import com.pulumi.cloudamqp.PrivatelinkAwsArgs;
    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("amazon-web-services::us-west-1")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance 01")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags()
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
            var privatelink = new PrivatelinkAws("privatelink", PrivatelinkAwsArgs.builder()
                .instanceId(instance.id())
                .allowedPrincipals("arn:aws:iam::aws-account-id:user/user-name")
                .build());
    
        }
    }
    
    resources:
      vpc:
        type: cloudamqp:Vpc
        properties:
          name: Standalone VPC
          region: amazon-web-services::us-west-1
          subnet: 10.56.72.0/24
          tags: []
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags: []
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
      privatelink:
        type: cloudamqp:PrivatelinkAws
        properties:
          instanceId: ${instance.id}
          allowedPrincipals:
            - arn:aws:iam::aws-account-id:user/user-name
    

    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: "amazon-web-services::us-west-1",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance 01",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: [],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
        instanceId: instance.id,
        allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
    });
    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="amazon-web-services::us-west-1",
        subnet="10.56.72.0/24",
        tags=[])
    instance = cloudamqp.Instance("instance",
        name="Instance 01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=[],
        vpc_id=vpc.id,
        keep_associated_vpc=True)
    privatelink = cloudamqp.PrivatelinkAws("privatelink",
        instance_id=instance.id,
        allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
    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("amazon-web-services::us-west-1"),
    			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("amazon-web-services::us-west-1"),
    			Tags:              pulumi.StringArray{},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		privatelink, err := cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
    			InstanceId: instance.ID(),
    			AllowedPrincipals: pulumi.StringArray{
    				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
    			},
    		})
    		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 = "amazon-web-services::us-west-1",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance 01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[] {},
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
        var privatelink = new CloudAmqp.PrivatelinkAws("privatelink", new()
        {
            InstanceId = instance.Id,
            AllowedPrincipals = new[]
            {
                "arn:aws:iam::aws-account-id:user/user-name",
            },
        });
    
        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.PrivatelinkAws;
    import com.pulumi.cloudamqp.PrivatelinkAwsArgs;
    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("amazon-web-services::us-west-1")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance 01")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags()
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
            var privatelink = new PrivatelinkAws("privatelink", PrivatelinkAwsArgs.builder()
                .instanceId(instance.id())
                .allowedPrincipals("arn:aws:iam::aws-account-id:user/user-name")
                .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: amazon-web-services::us-west-1
          subnet: 10.56.72.0/24
          tags: []
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance 01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags: []
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
      privatelink:
        type: cloudamqp:PrivatelinkAws
        properties:
          instanceId: ${instance.id}
          allowedPrincipals:
            - arn:aws:iam::aws-account-id:user/user-name
      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_aws.privatelink.

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

    Create PrivatelinkAws Resource

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

    Constructor syntax

    new PrivatelinkAws(name: string, args: PrivatelinkAwsArgs, opts?: CustomResourceOptions);
    @overload
    def PrivatelinkAws(resource_name: str,
                       args: PrivatelinkAwsArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def PrivatelinkAws(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       allowed_principals: Optional[Sequence[str]] = None,
                       instance_id: Optional[int] = None,
                       sleep: Optional[int] = None,
                       timeout: Optional[int] = None)
    func NewPrivatelinkAws(ctx *Context, name string, args PrivatelinkAwsArgs, opts ...ResourceOption) (*PrivatelinkAws, error)
    public PrivatelinkAws(string name, PrivatelinkAwsArgs args, CustomResourceOptions? opts = null)
    public PrivatelinkAws(String name, PrivatelinkAwsArgs args)
    public PrivatelinkAws(String name, PrivatelinkAwsArgs args, CustomResourceOptions options)
    
    type: cloudamqp:PrivatelinkAws
    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 PrivatelinkAwsArgs
    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 PrivatelinkAwsArgs
    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 PrivatelinkAwsArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PrivatelinkAwsArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PrivatelinkAwsArgs
    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 privatelinkAwsResource = new CloudAmqp.PrivatelinkAws("privatelinkAwsResource", new()
    {
        AllowedPrincipals = new[]
        {
            "string",
        },
        InstanceId = 0,
        Sleep = 0,
        Timeout = 0,
    });
    
    example, err := cloudamqp.NewPrivatelinkAws(ctx, "privatelinkAwsResource", &cloudamqp.PrivatelinkAwsArgs{
    	AllowedPrincipals: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	InstanceId: pulumi.Int(0),
    	Sleep:      pulumi.Int(0),
    	Timeout:    pulumi.Int(0),
    })
    
    var privatelinkAwsResource = new PrivatelinkAws("privatelinkAwsResource", PrivatelinkAwsArgs.builder()
        .allowedPrincipals("string")
        .instanceId(0)
        .sleep(0)
        .timeout(0)
        .build());
    
    privatelink_aws_resource = cloudamqp.PrivatelinkAws("privatelinkAwsResource",
        allowed_principals=["string"],
        instance_id=0,
        sleep=0,
        timeout=0)
    
    const privatelinkAwsResource = new cloudamqp.PrivatelinkAws("privatelinkAwsResource", {
        allowedPrincipals: ["string"],
        instanceId: 0,
        sleep: 0,
        timeout: 0,
    });
    
    type: cloudamqp:PrivatelinkAws
    properties:
        allowedPrincipals:
            - string
        instanceId: 0
        sleep: 0
        timeout: 0
    

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

    AllowedPrincipals List<string>
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    AllowedPrincipals []string
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    allowedPrincipals List<String>
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    allowedPrincipals string[]
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    allowed_principals Sequence[str]
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    allowedPrincipals List<String>
    Allowed principals to access the endpoint service.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    Outputs

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

    ActiveZones List<string>
    Covering availability zones used when creating an Endpoint from other VPC.
    Id string
    The provider-assigned unique ID for this managed resource.
    ServiceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    Status string
    PrivateLink status [enable, pending, disable]
    ActiveZones []string
    Covering availability zones used when creating an Endpoint from other VPC.
    Id string
    The provider-assigned unique ID for this managed resource.
    ServiceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    Status string
    PrivateLink status [enable, pending, disable]
    activeZones List<String>
    Covering availability zones used when creating an Endpoint from other VPC.
    id String
    The provider-assigned unique ID for this managed resource.
    serviceName String
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    status String
    PrivateLink status [enable, pending, disable]
    activeZones string[]
    Covering availability zones used when creating an Endpoint from other VPC.
    id string
    The provider-assigned unique ID for this managed resource.
    serviceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    status string
    PrivateLink status [enable, pending, disable]
    active_zones Sequence[str]
    Covering availability zones used when creating an Endpoint from other VPC.
    id str
    The provider-assigned unique ID for this managed resource.
    service_name str
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    status str
    PrivateLink status [enable, pending, disable]
    activeZones List<String>
    Covering availability zones used when creating an Endpoint from other VPC.
    id String
    The provider-assigned unique ID for this managed resource.
    serviceName String
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    status String
    PrivateLink status [enable, pending, disable]

    Look up Existing PrivatelinkAws Resource

    Get an existing PrivatelinkAws 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?: PrivatelinkAwsState, opts?: CustomResourceOptions): PrivatelinkAws
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_zones: Optional[Sequence[str]] = None,
            allowed_principals: Optional[Sequence[str]] = None,
            instance_id: Optional[int] = None,
            service_name: Optional[str] = None,
            sleep: Optional[int] = None,
            status: Optional[str] = None,
            timeout: Optional[int] = None) -> PrivatelinkAws
    func GetPrivatelinkAws(ctx *Context, name string, id IDInput, state *PrivatelinkAwsState, opts ...ResourceOption) (*PrivatelinkAws, error)
    public static PrivatelinkAws Get(string name, Input<string> id, PrivatelinkAwsState? state, CustomResourceOptions? opts = null)
    public static PrivatelinkAws get(String name, Output<String> id, PrivatelinkAwsState 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:
    ActiveZones List<string>
    Covering availability zones used when creating an Endpoint from other VPC.
    AllowedPrincipals List<string>
    Allowed principals to access the endpoint service.
    InstanceId int
    The CloudAMQP instance identifier.
    ServiceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    ActiveZones []string
    Covering availability zones used when creating an Endpoint from other VPC.
    AllowedPrincipals []string
    Allowed principals to access the endpoint service.
    InstanceId int
    The CloudAMQP instance identifier.
    ServiceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    activeZones List<String>
    Covering availability zones used when creating an Endpoint from other VPC.
    allowedPrincipals List<String>
    Allowed principals to access the endpoint service.
    instanceId Integer
    The CloudAMQP instance identifier.
    serviceName String
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    activeZones string[]
    Covering availability zones used when creating an Endpoint from other VPC.
    allowedPrincipals string[]
    Allowed principals to access the endpoint service.
    instanceId number
    The CloudAMQP instance identifier.
    serviceName string
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    active_zones Sequence[str]
    Covering availability zones used when creating an Endpoint from other VPC.
    allowed_principals Sequence[str]
    Allowed principals to access the endpoint service.
    instance_id int
    The CloudAMQP instance identifier.
    service_name str
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    activeZones List<String>
    Covering availability zones used when creating an Endpoint from other VPC.
    allowedPrincipals List<String>
    Allowed principals to access the endpoint service.
    instanceId Number
    The CloudAMQP instance identifier.
    serviceName String
    Service name of the PrivateLink used when creating the endpoint from other VPC.
    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

    Allowed principals format: arn:aws:iam::aws-account-id:root arn:aws:iam::aws-account-id:user/user-name arn:aws:iam::aws-account-id:role/role-name

    Import

    cloudamqp_privatelink_aws can be imported using CloudAMQP internal identifier.

    $ pulumi import cloudamqp:index/privatelinkAws:PrivatelinkAws 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