CrossAccountAttachment

class CrossAccountAttachment : KotlinCustomResource

Resource for managing an AWS Global Accelerator Cross Account Attachment.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.globalaccelerator.CrossAccountAttachment("example", {name: "example-cross-account-attachment"});
import pulumi
import pulumi_aws as aws
example = aws.globalaccelerator.CrossAccountAttachment("example", name="example-cross-account-attachment")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.GlobalAccelerator.CrossAccountAttachment("example", new()
{
Name = "example-cross-account-attachment",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := globalaccelerator.NewCrossAccountAttachment(ctx, "example", &globalaccelerator.CrossAccountAttachmentArgs{
Name: pulumi.String("example-cross-account-attachment"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.globalaccelerator.CrossAccountAttachment;
import com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;
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 example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder()
.name("example-cross-account-attachment")
.build());
}
}
resources:
example:
type: aws:globalaccelerator:CrossAccountAttachment
properties:
name: example-cross-account-attachment

Usage with Optional Arguments

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.globalaccelerator.CrossAccountAttachment("example", {
name: "example-cross-account-attachment",
principals: ["123456789012"],
resources: [{
endpointId: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
region: "us-west-2",
}],
});
import pulumi
import pulumi_aws as aws
example = aws.globalaccelerator.CrossAccountAttachment("example",
name="example-cross-account-attachment",
principals=["123456789012"],
resources=[{
"endpoint_id": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
"region": "us-west-2",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.GlobalAccelerator.CrossAccountAttachment("example", new()
{
Name = "example-cross-account-attachment",
Principals = new[]
{
"123456789012",
},
Resources = new[]
{
new Aws.GlobalAccelerator.Inputs.CrossAccountAttachmentResourceArgs
{
EndpointId = "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
Region = "us-west-2",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := globalaccelerator.NewCrossAccountAttachment(ctx, "example", &globalaccelerator.CrossAccountAttachmentArgs{
Name: pulumi.String("example-cross-account-attachment"),
Principals: pulumi.StringArray{
pulumi.String("123456789012"),
},
Resources: globalaccelerator.CrossAccountAttachmentResourceArray{
&globalaccelerator.CrossAccountAttachmentResourceArgs{
EndpointId: pulumi.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"),
Region: pulumi.String("us-west-2"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.globalaccelerator.CrossAccountAttachment;
import com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;
import com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs;
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 example = new CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder()
.name("example-cross-account-attachment")
.principals("123456789012")
.resources(CrossAccountAttachmentResourceArgs.builder()
.endpointId("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188")
.region("us-west-2")
.build())
.build());
}
}
resources:
example:
type: aws:globalaccelerator:CrossAccountAttachment
properties:
name: example-cross-account-attachment
principals:
- '123456789012'
resources:
- endpointId: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188
region: us-west-2

Import

Using pulumi import, import Global Accelerator Cross Account Attachment using the example_id_arg. For example:

$ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012

Properties

Link copied to clipboard
val arn: Output<String>

ARN of the Cross Account Attachment.

Link copied to clipboard
val createdTime: Output<String>

Creation Time when the Cross Account Attachment.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Last modified time of the Cross Account Attachment.

Link copied to clipboard
val name: Output<String>

Name of the Cross Account Attachment. The following arguments are optional:

Link copied to clipboard
val principals: Output<List<String>>?

List of AWS account IDs that are allowed to associate resources with the accelerator.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

List of resources to be associated with the accelerator.

Link copied to clipboard
val tags: Output<Map<String, String>>?

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val tagsAll: Output<Map<String, String>>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val urn: Output<String>