Policy Attachment
Provides a resource to attach an AWS Organizations policy to an organization account, root, or unit.
Example Usage
Organization Account
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const account = new aws.organizations.PolicyAttachment("account", {
policyId: example.id,
targetId: "123456789012",
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
account = aws.organizations.PolicyAttachment("account",
policy_id=example["id"],
target_id="123456789012")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var account = new Aws.Organizations.PolicyAttachment("account", new()
{
PolicyId = example.Id,
TargetId = "123456789012",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := organizations.NewPolicyAttachment(ctx, "account", &organizations.PolicyAttachmentArgs{
PolicyId: pulumi.Any(example.Id),
TargetId: pulumi.String("123456789012"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.organizations.PolicyAttachment;
import com.pulumi.aws.organizations.PolicyAttachmentArgs;
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 account = new PolicyAttachment("account", PolicyAttachmentArgs.builder()
.policyId(example.id())
.targetId("123456789012")
.build());
}
}
Content copied to clipboard
resources:
account:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: '123456789012'
Content copied to clipboard
Organization Root
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const root = new aws.organizations.PolicyAttachment("root", {
policyId: example.id,
targetId: exampleAwsOrganizationsOrganization.roots[0].id,
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
root = aws.organizations.PolicyAttachment("root",
policy_id=example["id"],
target_id=example_aws_organizations_organization["roots"][0]["id"])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var root = new Aws.Organizations.PolicyAttachment("root", new()
{
PolicyId = example.Id,
TargetId = exampleAwsOrganizationsOrganization.Roots[0].Id,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := organizations.NewPolicyAttachment(ctx, "root", &organizations.PolicyAttachmentArgs{
PolicyId: pulumi.Any(example.Id),
TargetId: pulumi.Any(exampleAwsOrganizationsOrganization.Roots[0].Id),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.organizations.PolicyAttachment;
import com.pulumi.aws.organizations.PolicyAttachmentArgs;
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 root = new PolicyAttachment("root", PolicyAttachmentArgs.builder()
.policyId(example.id())
.targetId(exampleAwsOrganizationsOrganization.roots()[0].id())
.build());
}
}
Content copied to clipboard
resources:
root:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: ${exampleAwsOrganizationsOrganization.roots[0].id}
Content copied to clipboard
Organization Unit
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const unit = new aws.organizations.PolicyAttachment("unit", {
policyId: example.id,
targetId: exampleAwsOrganizationsOrganizationalUnit.id,
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
unit = aws.organizations.PolicyAttachment("unit",
policy_id=example["id"],
target_id=example_aws_organizations_organizational_unit["id"])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var unit = new Aws.Organizations.PolicyAttachment("unit", new()
{
PolicyId = example.Id,
TargetId = exampleAwsOrganizationsOrganizationalUnit.Id,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := organizations.NewPolicyAttachment(ctx, "unit", &organizations.PolicyAttachmentArgs{
PolicyId: pulumi.Any(example.Id),
TargetId: pulumi.Any(exampleAwsOrganizationsOrganizationalUnit.Id),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.organizations.PolicyAttachment;
import com.pulumi.aws.organizations.PolicyAttachmentArgs;
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 unit = new PolicyAttachment("unit", PolicyAttachmentArgs.builder()
.policyId(example.id())
.targetId(exampleAwsOrganizationsOrganizationalUnit.id())
.build());
}
}
Content copied to clipboard
resources:
unit:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: ${exampleAwsOrganizationsOrganizationalUnit.id}
Content copied to clipboard
Import
Using pulumi import
, import aws_organizations_policy_attachment
using the target ID and policy ID. For example: With an account target:
$ pulumi import aws:organizations/policyAttachment:PolicyAttachment account 123456789012:p-12345678
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
If set to true
, destroy will not detach the policy and instead just remove the resource from state. This can be useful in situations where the attachment must be preserved to meet the AWS minimum requirement of 1 attached policy.