CrossAccountAttachment
The CrossAccountAttachment resource allows you to manage the cross-account attachments for AWS Global Accelerator. This resource is crucial for enabling resources in different AWS accounts to be associated with a single Global Accelerator, facilitating improved performance and availability for users. For more details, refer to the AWS GlobalAccelerator CrossAccountAttachments documentation.
Minimal Example
Section titled “Minimal Example”Create a basic CrossAccountAttachment with the required properties and one optional tag.
import AWS from "alchemy/aws/control";
const crossAccountAttachment = await AWS.GlobalAccelerator.CrossAccountAttachment("basicCrossAccountAttachment", { Name: "MainGlobalAcceleratorAttachment", Principals: ["arn:aws:iam::123456789012:role/MyCrossAccountRole"], Resources: [ { ResourceArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234efgh5678" } ], Tags: [ { Key: "Environment", Value: "Production" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure a CrossAccountAttachment with multiple principals and additional resources for advanced use cases.
const advancedCrossAccountAttachment = await AWS.GlobalAccelerator.CrossAccountAttachment("advancedCrossAccountAttachment", { Name: "AdvancedGlobalAcceleratorAttachment", Principals: [ "arn:aws:iam::123456789012:role/MyCrossAccountRole", "arn:aws:iam::987654321098:role/AnotherCrossAccountRole" ], Resources: [ { ResourceArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234efgh5678" }, { ResourceArn: "arn:aws:globalaccelerator::123456789012:accelerator/wxyz9876ijkl5432" } ], Tags: [ { Key: "Project", Value: "AcceleratorProject" }, { Key: "Team", Value: "DevOps" } ]});
Adoption of Existing Resources
Section titled “Adoption of Existing Resources”Use the adopt
property to manage an existing CrossAccountAttachment without causing a failure if it already exists.
const adoptExistingAttachment = await AWS.GlobalAccelerator.CrossAccountAttachment("adoptExistingCrossAccountAttachment", { Name: "ExistingGlobalAcceleratorAttachment", Principals: ["arn:aws:iam::123456789012:role/MyCrossAccountRole"], Resources: [ { ResourceArn: "arn:aws:globalaccelerator::123456789012:accelerator/abcd1234efgh5678" } ], adopt: true // Adopt an existing resource});