PolicyAttachmentArgs

data class PolicyAttachmentArgs(val policyId: Output<String>? = null, val skipDestroy: Output<Boolean>? = null, val targetId: Output<String>? = null) : ConvertibleToJava<PolicyAttachmentArgs>

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",
});
import pulumi
import pulumi_aws as aws
account = aws.organizations.PolicyAttachment("account",
policy_id=example["id"],
target_id="123456789012")
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",
});
});
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
})
}
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());
}
}
resources:
account:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: '123456789012'

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,
});
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"])
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,
});
});
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
})
}
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());
}
}
resources:
root:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: ${exampleAwsOrganizationsOrganization.roots[0].id}

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,
});
import pulumi
import pulumi_aws as aws
unit = aws.organizations.PolicyAttachment("unit",
policy_id=example["id"],
target_id=example_aws_organizations_organizational_unit["id"])
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,
});
});
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
})
}
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());
}
}
resources:
unit:
type: aws:organizations:PolicyAttachment
properties:
policyId: ${example.id}
targetId: ${exampleAwsOrganizationsOrganizationalUnit.id}

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

Constructors

Link copied to clipboard
constructor(policyId: Output<String>? = null, skipDestroy: Output<Boolean>? = null, targetId: Output<String>? = null)

Properties

Link copied to clipboard
val policyId: Output<String>? = null

The unique identifier (ID) of the policy that you want to attach to the target.

Link copied to clipboard
val skipDestroy: Output<Boolean>? = null

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.

Link copied to clipboard
val targetId: Output<String>? = null

The unique identifier (ID) of the root, organizational unit, or account number that you want to attach the policy to.

Functions

Link copied to clipboard
open override fun toJava(): PolicyAttachmentArgs