OrganizationArgs

data class OrganizationArgs(val awsServiceAccessPrincipals: Output<List<String>>? = null, val enabledPolicyTypes: Output<List<String>>? = null, val featureSet: Output<String>? = null) : ConvertibleToJava<OrganizationArgs>

Provides a resource to create an organization. !>WARNING: When migrating from a feature_set of CONSOLIDATED_BILLING to ALL, the Organization account owner will received an email stating the following: "You started the process to enable all features for your AWS organization. As part of that process, all member accounts that joined your organization by invitation must approve the change. You don’t need approval from member accounts that you directly created from within your AWS organization." After all member accounts have accepted the invitation, the Organization account owner must then finalize the changes via the AWS Console. Until these steps are performed, the provider will perpetually show a difference, and the DescribeOrganization API will continue to show the FeatureSet as CONSOLIDATED_BILLING. See the AWS Organizations documentation for more information. !>WARNING: Warning from the AWS Docs: "We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service."

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const org = new aws.organizations.Organization("org", {
awsServiceAccessPrincipals: [
"cloudtrail.amazonaws.com",
"config.amazonaws.com",
],
featureSet: "ALL",
});
import pulumi
import pulumi_aws as aws
org = aws.organizations.Organization("org",
aws_service_access_principals=[
"cloudtrail.amazonaws.com",
"config.amazonaws.com",
],
feature_set="ALL")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var org = new Aws.Organizations.Organization("org", new()
{
AwsServiceAccessPrincipals = new[]
{
"cloudtrail.amazonaws.com",
"config.amazonaws.com",
},
FeatureSet = "ALL",
});
});
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.NewOrganization(ctx, "org", &organizations.OrganizationArgs{
AwsServiceAccessPrincipals: pulumi.StringArray{
pulumi.String("cloudtrail.amazonaws.com"),
pulumi.String("config.amazonaws.com"),
},
FeatureSet: pulumi.String("ALL"),
})
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.Organization;
import com.pulumi.aws.organizations.OrganizationArgs;
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 org = new Organization("org", OrganizationArgs.builder()
.awsServiceAccessPrincipals(
"cloudtrail.amazonaws.com",
"config.amazonaws.com")
.featureSet("ALL")
.build());
}
}
resources:
org:
type: aws:organizations:Organization
properties:
awsServiceAccessPrincipals:
- cloudtrail.amazonaws.com
- config.amazonaws.com
featureSet: ALL

Import

Using pulumi import, import the AWS organization using the id. For example:

$ pulumi import aws:organizations/organization:Organization my_org o-1234567

Constructors

Link copied to clipboard
constructor(awsServiceAccessPrincipals: Output<List<String>>? = null, enabledPolicyTypes: Output<List<String>>? = null, featureSet: Output<String>? = null)

Properties

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

List of AWS service principal names for which you want to enable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com. Organization must have feature_set set to ALL. Some services do not support enablement via this endpoint, see warning in aws docs.

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

List of Organizations policy types to enable in the Organization Root. Organization must have feature_set set to ALL. For additional information about valid policy types (e.g., AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, RESOURCE_CONTROL_POLICY, SERVICE_CONTROL_POLICY, and TAG_POLICY), see the AWS Organizations API Reference.

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

Specify "ALL" (default) or "CONSOLIDATED_BILLING".

Functions

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