1. Packages
  2. Cloudamqp Provider
  3. API Docs
  4. PrivatelinkAws
CloudAMQP v3.20.4 published on Tuesday, Mar 4, 2025 by Pulumi

cloudamqp.PrivatelinkAws

Explore with Pulumi AI

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"],
});
Copy
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"])
Copy
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
	})
}
Copy
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",
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy
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"],
});
Copy
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"])
Copy
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
	})
}
Copy
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",
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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],
});
Copy
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=[
        {
            "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"],
        },
    ],
    opts = pulumi.ResourceOptions(depends_on=[privatelink]))
Copy
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
	})
}
Copy
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,
        },
    });

});
Copy
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());

    }
}
Copy
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}
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. PrivatelinkAwsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. PrivatelinkAwsArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PrivatelinkAwsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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,
});
Copy
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),
})
Copy
var privatelinkAwsResource = new PrivatelinkAws("privatelinkAwsResource", PrivatelinkAwsArgs.builder()
    .allowedPrincipals("string")
    .instanceId(0)
    .sleep(0)
    .timeout(0)
    .build());
Copy
privatelink_aws_resource = cloudamqp.PrivatelinkAws("privatelinkAwsResource",
    allowed_principals=["string"],
    instance_id=0,
    sleep=0,
    timeout=0)
Copy
const privatelinkAwsResource = new cloudamqp.PrivatelinkAws("privatelinkAwsResource", {
    allowedPrincipals: ["string"],
    instanceId: 0,
    sleep: 0,
    timeout: 0,
});
Copy
type: cloudamqp:PrivatelinkAws
properties:
    allowedPrincipals:
        - string
    instanceId: 0
    sleep: 0
    timeout: 0
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The PrivatelinkAws resource accepts the following input properties:

AllowedPrincipals This property is required. List<string>
Allowed principals to access the endpoint service.
InstanceId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. []string
Allowed principals to access the endpoint service.
InstanceId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. List<String>
Allowed principals to access the endpoint service.
instanceId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string[]
Allowed principals to access the endpoint service.
instanceId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. Sequence[str]
Allowed principals to access the endpoint service.
instance_id
This property is required.
Changes to this property will trigger replacement.
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 This property is required. List<String>
Allowed principals to access the endpoint service.
instanceId
This property is required.
Changes to this property will trigger replacement.
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)
resources:  _:    type: cloudamqp:PrivatelinkAws    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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>`
Copy

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.