organizations

package
v4.15.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	pulumi.CustomResourceState

	// The ARN for this account.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.
	Email pulumi.StringOutput `pulumi:"email"`
	// If set to `ALLOW`, the new account enables IAM users to access account billing information if they have the required permissions. If set to `DENY`, then only the root user of the new account can access account billing information.
	IamUserAccessToBilling pulumi.StringPtrOutput `pulumi:"iamUserAccessToBilling"`
	JoinedMethod           pulumi.StringOutput    `pulumi:"joinedMethod"`
	JoinedTimestamp        pulumi.StringOutput    `pulumi:"joinedTimestamp"`
	// A friendly name for the member account.
	Name pulumi.StringOutput `pulumi:"name"`
	// Parent Organizational Unit ID or Root ID for the account. Defaults to the Organization default Root ID. A configuration must be present for this argument to perform drift detection.
	ParentId pulumi.StringOutput `pulumi:"parentId"`
	// The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account. The Organizations API provides no method for reading this information after account creation, so this provider cannot perform drift detection on its value and will always show a difference for a configured value after import unless [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) is used.
	RoleName pulumi.StringPtrOutput `pulumi:"roleName"`
	Status   pulumi.StringOutput    `pulumi:"status"`
	// Key-value mapping of resource tags.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to create a member account in the current organization.

> **Note:** Account management must be done from the organization's master account.

!> **WARNING:** Deleting this resource will only remove an AWS account from an organization. This provider will not close the account. The member account must be prepared to be a standalone account beforehand. See the [AWS Organizations documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html) for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewAccount(ctx, "account", &organizations.AccountArgs{
			Email: pulumi.String("john@doe.org"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The AWS member account can be imported by using the `account_id`, e.g.

```sh

$ pulumi import aws:organizations/account:Account my_org 111111111111

```

Certain resource arguments, like `role_name`, do not have an Organizations API method for reading the information after account creation. If the argument is set in the this provider configuration on an imported resource, this provider will always show a difference. To workaround this behavior, either omit the argument from the this provider configuration or use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to hide the difference, e.g. terraform resource "aws_organizations_account" "account" {

name

= "my_new_account"

email

= "john@doe.org"

role_name = "myOrganizationRole"

There is no AWS Organizations API for reading role_name

lifecycle {

ignore_changes = [role_name]

} }

func GetAccount

func GetAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountState, opts ...pulumi.ResourceOption) (*Account, error)

GetAccount gets an existing Account resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccount

func NewAccount(ctx *pulumi.Context,
	name string, args *AccountArgs, opts ...pulumi.ResourceOption) (*Account, error)

NewAccount registers a new resource with the given unique name, arguments, and options.

func (*Account) ElementType

func (*Account) ElementType() reflect.Type

func (*Account) ToAccountOutput

func (i *Account) ToAccountOutput() AccountOutput

func (*Account) ToAccountOutputWithContext

func (i *Account) ToAccountOutputWithContext(ctx context.Context) AccountOutput

func (*Account) ToAccountPtrOutput

func (i *Account) ToAccountPtrOutput() AccountPtrOutput

func (*Account) ToAccountPtrOutputWithContext

func (i *Account) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountArgs

type AccountArgs struct {
	// The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.
	Email pulumi.StringInput
	// If set to `ALLOW`, the new account enables IAM users to access account billing information if they have the required permissions. If set to `DENY`, then only the root user of the new account can access account billing information.
	IamUserAccessToBilling pulumi.StringPtrInput
	// A friendly name for the member account.
	Name pulumi.StringPtrInput
	// Parent Organizational Unit ID or Root ID for the account. Defaults to the Organization default Root ID. A configuration must be present for this argument to perform drift detection.
	ParentId pulumi.StringPtrInput
	// The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account. The Organizations API provides no method for reading this information after account creation, so this provider cannot perform drift detection on its value and will always show a difference for a configured value after import unless [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) is used.
	RoleName pulumi.StringPtrInput
	// Key-value mapping of resource tags.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider.
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType

func (AccountArgs) ElementType() reflect.Type

type AccountArray

type AccountArray []AccountInput

func (AccountArray) ElementType

func (AccountArray) ElementType() reflect.Type

func (AccountArray) ToAccountArrayOutput

func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput

func (AccountArray) ToAccountArrayOutputWithContext

func (i AccountArray) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountArrayInput

type AccountArrayInput interface {
	pulumi.Input

	ToAccountArrayOutput() AccountArrayOutput
	ToAccountArrayOutputWithContext(context.Context) AccountArrayOutput
}

AccountArrayInput is an input type that accepts AccountArray and AccountArrayOutput values. You can construct a concrete instance of `AccountArrayInput` via:

AccountArray{ AccountArgs{...} }

type AccountArrayOutput

type AccountArrayOutput struct{ *pulumi.OutputState }

func (AccountArrayOutput) ElementType

func (AccountArrayOutput) ElementType() reflect.Type

func (AccountArrayOutput) Index

func (AccountArrayOutput) ToAccountArrayOutput

func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput

func (AccountArrayOutput) ToAccountArrayOutputWithContext

func (o AccountArrayOutput) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountInput

type AccountInput interface {
	pulumi.Input

	ToAccountOutput() AccountOutput
	ToAccountOutputWithContext(ctx context.Context) AccountOutput
}

type AccountMap

type AccountMap map[string]AccountInput

func (AccountMap) ElementType

func (AccountMap) ElementType() reflect.Type

func (AccountMap) ToAccountMapOutput

func (i AccountMap) ToAccountMapOutput() AccountMapOutput

func (AccountMap) ToAccountMapOutputWithContext

func (i AccountMap) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountMapInput

type AccountMapInput interface {
	pulumi.Input

	ToAccountMapOutput() AccountMapOutput
	ToAccountMapOutputWithContext(context.Context) AccountMapOutput
}

AccountMapInput is an input type that accepts AccountMap and AccountMapOutput values. You can construct a concrete instance of `AccountMapInput` via:

AccountMap{ "key": AccountArgs{...} }

type AccountMapOutput

type AccountMapOutput struct{ *pulumi.OutputState }

func (AccountMapOutput) ElementType

func (AccountMapOutput) ElementType() reflect.Type

func (AccountMapOutput) MapIndex

func (AccountMapOutput) ToAccountMapOutput

func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput

func (AccountMapOutput) ToAccountMapOutputWithContext

func (o AccountMapOutput) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountOutput

type AccountOutput struct{ *pulumi.OutputState }

func (AccountOutput) ElementType

func (AccountOutput) ElementType() reflect.Type

func (AccountOutput) ToAccountOutput

func (o AccountOutput) ToAccountOutput() AccountOutput

func (AccountOutput) ToAccountOutputWithContext

func (o AccountOutput) ToAccountOutputWithContext(ctx context.Context) AccountOutput

func (AccountOutput) ToAccountPtrOutput

func (o AccountOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountOutput) ToAccountPtrOutputWithContext

func (o AccountOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountPtrInput

type AccountPtrInput interface {
	pulumi.Input

	ToAccountPtrOutput() AccountPtrOutput
	ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput
}

type AccountPtrOutput

type AccountPtrOutput struct{ *pulumi.OutputState }

func (AccountPtrOutput) Elem added in v4.15.0

func (AccountPtrOutput) ElementType

func (AccountPtrOutput) ElementType() reflect.Type

func (AccountPtrOutput) ToAccountPtrOutput

func (o AccountPtrOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountPtrOutput) ToAccountPtrOutputWithContext

func (o AccountPtrOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountState

type AccountState struct {
	// The ARN for this account.
	Arn pulumi.StringPtrInput
	// The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.
	Email pulumi.StringPtrInput
	// If set to `ALLOW`, the new account enables IAM users to access account billing information if they have the required permissions. If set to `DENY`, then only the root user of the new account can access account billing information.
	IamUserAccessToBilling pulumi.StringPtrInput
	JoinedMethod           pulumi.StringPtrInput
	JoinedTimestamp        pulumi.StringPtrInput
	// A friendly name for the member account.
	Name pulumi.StringPtrInput
	// Parent Organizational Unit ID or Root ID for the account. Defaults to the Organization default Root ID. A configuration must be present for this argument to perform drift detection.
	ParentId pulumi.StringPtrInput
	// The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account. The Organizations API provides no method for reading this information after account creation, so this provider cannot perform drift detection on its value and will always show a difference for a configured value after import unless [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) is used.
	RoleName pulumi.StringPtrInput
	Status   pulumi.StringPtrInput
	// Key-value mapping of resource tags.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider.
	TagsAll pulumi.StringMapInput
}

func (AccountState) ElementType

func (AccountState) ElementType() reflect.Type

type DelegatedAdministrator added in v4.5.0

type DelegatedAdministrator struct {
	pulumi.CustomResourceState

	// The account ID number of the member account in the organization to register as a delegated administrator.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The date when the account was made a delegated administrator.
	DelegationEnabledDate pulumi.StringOutput `pulumi:"delegationEnabledDate"`
	// The email address that is associated with the delegated administrator's AWS account.
	Email pulumi.StringOutput `pulumi:"email"`
	// The method by which the delegated administrator's account joined the organization.
	JoinedMethod pulumi.StringOutput `pulumi:"joinedMethod"`
	// The date when the delegated administrator's account became a part of the organization.
	JoinedTimestamp pulumi.StringOutput `pulumi:"joinedTimestamp"`
	// The friendly name of the delegated administrator's account.
	Name pulumi.StringOutput `pulumi:"name"`
	// The service principal of the AWS service for which you want to make the member account a delegated administrator.
	ServicePrincipal pulumi.StringOutput `pulumi:"servicePrincipal"`
	// The status of the delegated administrator's account in the organization.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a resource to manage an [AWS Organizations Delegated Administrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewDelegatedAdministrator(ctx, "example", &organizations.DelegatedAdministratorArgs{
			AccountId:        pulumi.String("AWS ACCOUNT ID"),
			ServicePrincipal: pulumi.String("Service principal"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_organizations_delegated_administrator` can be imported by using the account ID and its service principal, e.g.

```sh

$ pulumi import aws:organizations/delegatedAdministrator:DelegatedAdministrator example 123456789012/config.amazonaws.com

```

func GetDelegatedAdministrator added in v4.5.0

func GetDelegatedAdministrator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DelegatedAdministratorState, opts ...pulumi.ResourceOption) (*DelegatedAdministrator, error)

GetDelegatedAdministrator gets an existing DelegatedAdministrator resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDelegatedAdministrator added in v4.5.0

func NewDelegatedAdministrator(ctx *pulumi.Context,
	name string, args *DelegatedAdministratorArgs, opts ...pulumi.ResourceOption) (*DelegatedAdministrator, error)

NewDelegatedAdministrator registers a new resource with the given unique name, arguments, and options.

func (*DelegatedAdministrator) ElementType added in v4.5.0

func (*DelegatedAdministrator) ElementType() reflect.Type

func (*DelegatedAdministrator) ToDelegatedAdministratorOutput added in v4.5.0

func (i *DelegatedAdministrator) ToDelegatedAdministratorOutput() DelegatedAdministratorOutput

func (*DelegatedAdministrator) ToDelegatedAdministratorOutputWithContext added in v4.5.0

func (i *DelegatedAdministrator) ToDelegatedAdministratorOutputWithContext(ctx context.Context) DelegatedAdministratorOutput

func (*DelegatedAdministrator) ToDelegatedAdministratorPtrOutput added in v4.5.0

func (i *DelegatedAdministrator) ToDelegatedAdministratorPtrOutput() DelegatedAdministratorPtrOutput

func (*DelegatedAdministrator) ToDelegatedAdministratorPtrOutputWithContext added in v4.5.0

func (i *DelegatedAdministrator) ToDelegatedAdministratorPtrOutputWithContext(ctx context.Context) DelegatedAdministratorPtrOutput

type DelegatedAdministratorArgs added in v4.5.0

type DelegatedAdministratorArgs struct {
	// The account ID number of the member account in the organization to register as a delegated administrator.
	AccountId pulumi.StringInput
	// The service principal of the AWS service for which you want to make the member account a delegated administrator.
	ServicePrincipal pulumi.StringInput
}

The set of arguments for constructing a DelegatedAdministrator resource.

func (DelegatedAdministratorArgs) ElementType added in v4.5.0

func (DelegatedAdministratorArgs) ElementType() reflect.Type

type DelegatedAdministratorArray added in v4.5.0

type DelegatedAdministratorArray []DelegatedAdministratorInput

func (DelegatedAdministratorArray) ElementType added in v4.5.0

func (DelegatedAdministratorArray) ToDelegatedAdministratorArrayOutput added in v4.5.0

func (i DelegatedAdministratorArray) ToDelegatedAdministratorArrayOutput() DelegatedAdministratorArrayOutput

func (DelegatedAdministratorArray) ToDelegatedAdministratorArrayOutputWithContext added in v4.5.0

func (i DelegatedAdministratorArray) ToDelegatedAdministratorArrayOutputWithContext(ctx context.Context) DelegatedAdministratorArrayOutput

type DelegatedAdministratorArrayInput added in v4.5.0

type DelegatedAdministratorArrayInput interface {
	pulumi.Input

	ToDelegatedAdministratorArrayOutput() DelegatedAdministratorArrayOutput
	ToDelegatedAdministratorArrayOutputWithContext(context.Context) DelegatedAdministratorArrayOutput
}

DelegatedAdministratorArrayInput is an input type that accepts DelegatedAdministratorArray and DelegatedAdministratorArrayOutput values. You can construct a concrete instance of `DelegatedAdministratorArrayInput` via:

DelegatedAdministratorArray{ DelegatedAdministratorArgs{...} }

type DelegatedAdministratorArrayOutput added in v4.5.0

type DelegatedAdministratorArrayOutput struct{ *pulumi.OutputState }

func (DelegatedAdministratorArrayOutput) ElementType added in v4.5.0

func (DelegatedAdministratorArrayOutput) Index added in v4.5.0

func (DelegatedAdministratorArrayOutput) ToDelegatedAdministratorArrayOutput added in v4.5.0

func (o DelegatedAdministratorArrayOutput) ToDelegatedAdministratorArrayOutput() DelegatedAdministratorArrayOutput

func (DelegatedAdministratorArrayOutput) ToDelegatedAdministratorArrayOutputWithContext added in v4.5.0

func (o DelegatedAdministratorArrayOutput) ToDelegatedAdministratorArrayOutputWithContext(ctx context.Context) DelegatedAdministratorArrayOutput

type DelegatedAdministratorInput added in v4.5.0

type DelegatedAdministratorInput interface {
	pulumi.Input

	ToDelegatedAdministratorOutput() DelegatedAdministratorOutput
	ToDelegatedAdministratorOutputWithContext(ctx context.Context) DelegatedAdministratorOutput
}

type DelegatedAdministratorMap added in v4.5.0

type DelegatedAdministratorMap map[string]DelegatedAdministratorInput

func (DelegatedAdministratorMap) ElementType added in v4.5.0

func (DelegatedAdministratorMap) ElementType() reflect.Type

func (DelegatedAdministratorMap) ToDelegatedAdministratorMapOutput added in v4.5.0

func (i DelegatedAdministratorMap) ToDelegatedAdministratorMapOutput() DelegatedAdministratorMapOutput

func (DelegatedAdministratorMap) ToDelegatedAdministratorMapOutputWithContext added in v4.5.0

func (i DelegatedAdministratorMap) ToDelegatedAdministratorMapOutputWithContext(ctx context.Context) DelegatedAdministratorMapOutput

type DelegatedAdministratorMapInput added in v4.5.0

type DelegatedAdministratorMapInput interface {
	pulumi.Input

	ToDelegatedAdministratorMapOutput() DelegatedAdministratorMapOutput
	ToDelegatedAdministratorMapOutputWithContext(context.Context) DelegatedAdministratorMapOutput
}

DelegatedAdministratorMapInput is an input type that accepts DelegatedAdministratorMap and DelegatedAdministratorMapOutput values. You can construct a concrete instance of `DelegatedAdministratorMapInput` via:

DelegatedAdministratorMap{ "key": DelegatedAdministratorArgs{...} }

type DelegatedAdministratorMapOutput added in v4.5.0

type DelegatedAdministratorMapOutput struct{ *pulumi.OutputState }

func (DelegatedAdministratorMapOutput) ElementType added in v4.5.0

func (DelegatedAdministratorMapOutput) MapIndex added in v4.5.0

func (DelegatedAdministratorMapOutput) ToDelegatedAdministratorMapOutput added in v4.5.0

func (o DelegatedAdministratorMapOutput) ToDelegatedAdministratorMapOutput() DelegatedAdministratorMapOutput

func (DelegatedAdministratorMapOutput) ToDelegatedAdministratorMapOutputWithContext added in v4.5.0

func (o DelegatedAdministratorMapOutput) ToDelegatedAdministratorMapOutputWithContext(ctx context.Context) DelegatedAdministratorMapOutput

type DelegatedAdministratorOutput added in v4.5.0

type DelegatedAdministratorOutput struct{ *pulumi.OutputState }

func (DelegatedAdministratorOutput) ElementType added in v4.5.0

func (DelegatedAdministratorOutput) ToDelegatedAdministratorOutput added in v4.5.0

func (o DelegatedAdministratorOutput) ToDelegatedAdministratorOutput() DelegatedAdministratorOutput

func (DelegatedAdministratorOutput) ToDelegatedAdministratorOutputWithContext added in v4.5.0

func (o DelegatedAdministratorOutput) ToDelegatedAdministratorOutputWithContext(ctx context.Context) DelegatedAdministratorOutput

func (DelegatedAdministratorOutput) ToDelegatedAdministratorPtrOutput added in v4.5.0

func (o DelegatedAdministratorOutput) ToDelegatedAdministratorPtrOutput() DelegatedAdministratorPtrOutput

func (DelegatedAdministratorOutput) ToDelegatedAdministratorPtrOutputWithContext added in v4.5.0

func (o DelegatedAdministratorOutput) ToDelegatedAdministratorPtrOutputWithContext(ctx context.Context) DelegatedAdministratorPtrOutput

type DelegatedAdministratorPtrInput added in v4.5.0

type DelegatedAdministratorPtrInput interface {
	pulumi.Input

	ToDelegatedAdministratorPtrOutput() DelegatedAdministratorPtrOutput
	ToDelegatedAdministratorPtrOutputWithContext(ctx context.Context) DelegatedAdministratorPtrOutput
}

type DelegatedAdministratorPtrOutput added in v4.5.0

type DelegatedAdministratorPtrOutput struct{ *pulumi.OutputState }

func (DelegatedAdministratorPtrOutput) Elem added in v4.15.0

func (DelegatedAdministratorPtrOutput) ElementType added in v4.5.0

func (DelegatedAdministratorPtrOutput) ToDelegatedAdministratorPtrOutput added in v4.5.0

func (o DelegatedAdministratorPtrOutput) ToDelegatedAdministratorPtrOutput() DelegatedAdministratorPtrOutput

func (DelegatedAdministratorPtrOutput) ToDelegatedAdministratorPtrOutputWithContext added in v4.5.0

func (o DelegatedAdministratorPtrOutput) ToDelegatedAdministratorPtrOutputWithContext(ctx context.Context) DelegatedAdministratorPtrOutput

type DelegatedAdministratorState added in v4.5.0

type DelegatedAdministratorState struct {
	// The account ID number of the member account in the organization to register as a delegated administrator.
	AccountId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn pulumi.StringPtrInput
	// The date when the account was made a delegated administrator.
	DelegationEnabledDate pulumi.StringPtrInput
	// The email address that is associated with the delegated administrator's AWS account.
	Email pulumi.StringPtrInput
	// The method by which the delegated administrator's account joined the organization.
	JoinedMethod pulumi.StringPtrInput
	// The date when the delegated administrator's account became a part of the organization.
	JoinedTimestamp pulumi.StringPtrInput
	// The friendly name of the delegated administrator's account.
	Name pulumi.StringPtrInput
	// The service principal of the AWS service for which you want to make the member account a delegated administrator.
	ServicePrincipal pulumi.StringPtrInput
	// The status of the delegated administrator's account in the organization.
	Status pulumi.StringPtrInput
}

func (DelegatedAdministratorState) ElementType added in v4.5.0

type GetDelegatedAdministratorsArgs added in v4.5.0

type GetDelegatedAdministratorsArgs struct {
	// Specifies a service principal name. If specified, then the operation lists the delegated administrators only for the specified service. If you don't specify a service principal, the operation lists all delegated administrators for all services in your organization.
	ServicePrincipal *string `pulumi:"servicePrincipal"`
}

A collection of arguments for invoking getDelegatedAdministrators.

type GetDelegatedAdministratorsDelegatedAdministrator added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministrator struct {
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn string `pulumi:"arn"`
	// The date when the account was made a delegated administrator.
	DelegationEnabledDate string `pulumi:"delegationEnabledDate"`
	// The email address that is associated with the delegated administrator's AWS account.
	Email string `pulumi:"email"`
	// The unique identifier (ID) of the delegated administrator's account.
	Id string `pulumi:"id"`
	// The method by which the delegated administrator's account joined the organization.
	JoinedMethod string `pulumi:"joinedMethod"`
	// The date when the delegated administrator's account became a part of the organization.
	JoinedTimestamp string `pulumi:"joinedTimestamp"`
	// The friendly name of the delegated administrator's account.
	Name string `pulumi:"name"`
	// The status of the delegated administrator's account in the organization.
	Status string `pulumi:"status"`
}

type GetDelegatedAdministratorsDelegatedAdministratorArgs added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorArgs struct {
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn pulumi.StringInput `pulumi:"arn"`
	// The date when the account was made a delegated administrator.
	DelegationEnabledDate pulumi.StringInput `pulumi:"delegationEnabledDate"`
	// The email address that is associated with the delegated administrator's AWS account.
	Email pulumi.StringInput `pulumi:"email"`
	// The unique identifier (ID) of the delegated administrator's account.
	Id pulumi.StringInput `pulumi:"id"`
	// The method by which the delegated administrator's account joined the organization.
	JoinedMethod pulumi.StringInput `pulumi:"joinedMethod"`
	// The date when the delegated administrator's account became a part of the organization.
	JoinedTimestamp pulumi.StringInput `pulumi:"joinedTimestamp"`
	// The friendly name of the delegated administrator's account.
	Name pulumi.StringInput `pulumi:"name"`
	// The status of the delegated administrator's account in the organization.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetDelegatedAdministratorsDelegatedAdministratorArgs) ElementType added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorArgs) ToGetDelegatedAdministratorsDelegatedAdministratorOutput added in v4.5.0

func (i GetDelegatedAdministratorsDelegatedAdministratorArgs) ToGetDelegatedAdministratorsDelegatedAdministratorOutput() GetDelegatedAdministratorsDelegatedAdministratorOutput

func (GetDelegatedAdministratorsDelegatedAdministratorArgs) ToGetDelegatedAdministratorsDelegatedAdministratorOutputWithContext added in v4.5.0

func (i GetDelegatedAdministratorsDelegatedAdministratorArgs) ToGetDelegatedAdministratorsDelegatedAdministratorOutputWithContext(ctx context.Context) GetDelegatedAdministratorsDelegatedAdministratorOutput

type GetDelegatedAdministratorsDelegatedAdministratorArray added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorArray []GetDelegatedAdministratorsDelegatedAdministratorInput

func (GetDelegatedAdministratorsDelegatedAdministratorArray) ElementType added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorArray) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutput added in v4.5.0

func (i GetDelegatedAdministratorsDelegatedAdministratorArray) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutput() GetDelegatedAdministratorsDelegatedAdministratorArrayOutput

func (GetDelegatedAdministratorsDelegatedAdministratorArray) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutputWithContext added in v4.5.0

func (i GetDelegatedAdministratorsDelegatedAdministratorArray) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutputWithContext(ctx context.Context) GetDelegatedAdministratorsDelegatedAdministratorArrayOutput

type GetDelegatedAdministratorsDelegatedAdministratorArrayInput added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorArrayInput interface {
	pulumi.Input

	ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutput() GetDelegatedAdministratorsDelegatedAdministratorArrayOutput
	ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutputWithContext(context.Context) GetDelegatedAdministratorsDelegatedAdministratorArrayOutput
}

GetDelegatedAdministratorsDelegatedAdministratorArrayInput is an input type that accepts GetDelegatedAdministratorsDelegatedAdministratorArray and GetDelegatedAdministratorsDelegatedAdministratorArrayOutput values. You can construct a concrete instance of `GetDelegatedAdministratorsDelegatedAdministratorArrayInput` via:

GetDelegatedAdministratorsDelegatedAdministratorArray{ GetDelegatedAdministratorsDelegatedAdministratorArgs{...} }

type GetDelegatedAdministratorsDelegatedAdministratorArrayOutput added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorArrayOutput struct{ *pulumi.OutputState }

func (GetDelegatedAdministratorsDelegatedAdministratorArrayOutput) ElementType added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorArrayOutput) Index added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorArrayOutput) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutput added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorArrayOutput) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutputWithContext added in v4.5.0

func (o GetDelegatedAdministratorsDelegatedAdministratorArrayOutput) ToGetDelegatedAdministratorsDelegatedAdministratorArrayOutputWithContext(ctx context.Context) GetDelegatedAdministratorsDelegatedAdministratorArrayOutput

type GetDelegatedAdministratorsDelegatedAdministratorInput added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorInput interface {
	pulumi.Input

	ToGetDelegatedAdministratorsDelegatedAdministratorOutput() GetDelegatedAdministratorsDelegatedAdministratorOutput
	ToGetDelegatedAdministratorsDelegatedAdministratorOutputWithContext(context.Context) GetDelegatedAdministratorsDelegatedAdministratorOutput
}

GetDelegatedAdministratorsDelegatedAdministratorInput is an input type that accepts GetDelegatedAdministratorsDelegatedAdministratorArgs and GetDelegatedAdministratorsDelegatedAdministratorOutput values. You can construct a concrete instance of `GetDelegatedAdministratorsDelegatedAdministratorInput` via:

GetDelegatedAdministratorsDelegatedAdministratorArgs{...}

type GetDelegatedAdministratorsDelegatedAdministratorOutput added in v4.5.0

type GetDelegatedAdministratorsDelegatedAdministratorOutput struct{ *pulumi.OutputState }

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) Arn added in v4.5.0

The Amazon Resource Name (ARN) of the delegated administrator's account.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) DelegationEnabledDate added in v4.5.0

The date when the account was made a delegated administrator.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) ElementType added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) Email added in v4.5.0

The email address that is associated with the delegated administrator's AWS account.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) Id added in v4.5.0

The unique identifier (ID) of the delegated administrator's account.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) JoinedMethod added in v4.5.0

The method by which the delegated administrator's account joined the organization.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) JoinedTimestamp added in v4.5.0

The date when the delegated administrator's account became a part of the organization.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) Name added in v4.5.0

The friendly name of the delegated administrator's account.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) Status added in v4.5.0

The status of the delegated administrator's account in the organization.

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) ToGetDelegatedAdministratorsDelegatedAdministratorOutput added in v4.5.0

func (GetDelegatedAdministratorsDelegatedAdministratorOutput) ToGetDelegatedAdministratorsDelegatedAdministratorOutputWithContext added in v4.5.0

func (o GetDelegatedAdministratorsDelegatedAdministratorOutput) ToGetDelegatedAdministratorsDelegatedAdministratorOutputWithContext(ctx context.Context) GetDelegatedAdministratorsDelegatedAdministratorOutput

type GetDelegatedAdministratorsResult added in v4.5.0

type GetDelegatedAdministratorsResult struct {
	// The list of delegated administrators in your organization, which have the following attributes:
	DelegatedAdministrators []GetDelegatedAdministratorsDelegatedAdministrator `pulumi:"delegatedAdministrators"`
	// The provider-assigned unique ID for this managed resource.
	Id               string  `pulumi:"id"`
	ServicePrincipal *string `pulumi:"servicePrincipal"`
}

A collection of values returned by getDelegatedAdministrators.

func GetDelegatedAdministrators added in v4.5.0

func GetDelegatedAdministrators(ctx *pulumi.Context, args *GetDelegatedAdministratorsArgs, opts ...pulumi.InvokeOption) (*GetDelegatedAdministratorsResult, error)

Get a list the AWS accounts that are designated as delegated administrators in this organization

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "SERVICE PRINCIPAL"
		_, err := organizations.GetDelegatedAdministrators(ctx, &organizations.GetDelegatedAdministratorsArgs{
			ServicePrincipal: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDelegatedServicesArgs added in v4.5.0

type GetDelegatedServicesArgs struct {
	// The account ID number of a delegated administrator account in the organization.
	AccountId string `pulumi:"accountId"`
}

A collection of arguments for invoking getDelegatedServices.

type GetDelegatedServicesDelegatedService added in v4.5.0

type GetDelegatedServicesDelegatedService struct {
	// The date that the account became a delegated administrator for this service.
	DelegationEnabledDate string `pulumi:"delegationEnabledDate"`
	// The name of an AWS service that can request an operation for the specified service.
	ServicePrincipal string `pulumi:"servicePrincipal"`
}

type GetDelegatedServicesDelegatedServiceArgs added in v4.5.0

type GetDelegatedServicesDelegatedServiceArgs struct {
	// The date that the account became a delegated administrator for this service.
	DelegationEnabledDate pulumi.StringInput `pulumi:"delegationEnabledDate"`
	// The name of an AWS service that can request an operation for the specified service.
	ServicePrincipal pulumi.StringInput `pulumi:"servicePrincipal"`
}

func (GetDelegatedServicesDelegatedServiceArgs) ElementType added in v4.5.0

func (GetDelegatedServicesDelegatedServiceArgs) ToGetDelegatedServicesDelegatedServiceOutput added in v4.5.0

func (i GetDelegatedServicesDelegatedServiceArgs) ToGetDelegatedServicesDelegatedServiceOutput() GetDelegatedServicesDelegatedServiceOutput

func (GetDelegatedServicesDelegatedServiceArgs) ToGetDelegatedServicesDelegatedServiceOutputWithContext added in v4.5.0

func (i GetDelegatedServicesDelegatedServiceArgs) ToGetDelegatedServicesDelegatedServiceOutputWithContext(ctx context.Context) GetDelegatedServicesDelegatedServiceOutput

type GetDelegatedServicesDelegatedServiceArray added in v4.5.0

type GetDelegatedServicesDelegatedServiceArray []GetDelegatedServicesDelegatedServiceInput

func (GetDelegatedServicesDelegatedServiceArray) ElementType added in v4.5.0

func (GetDelegatedServicesDelegatedServiceArray) ToGetDelegatedServicesDelegatedServiceArrayOutput added in v4.5.0

func (i GetDelegatedServicesDelegatedServiceArray) ToGetDelegatedServicesDelegatedServiceArrayOutput() GetDelegatedServicesDelegatedServiceArrayOutput

func (GetDelegatedServicesDelegatedServiceArray) ToGetDelegatedServicesDelegatedServiceArrayOutputWithContext added in v4.5.0

func (i GetDelegatedServicesDelegatedServiceArray) ToGetDelegatedServicesDelegatedServiceArrayOutputWithContext(ctx context.Context) GetDelegatedServicesDelegatedServiceArrayOutput

type GetDelegatedServicesDelegatedServiceArrayInput added in v4.5.0

type GetDelegatedServicesDelegatedServiceArrayInput interface {
	pulumi.Input

	ToGetDelegatedServicesDelegatedServiceArrayOutput() GetDelegatedServicesDelegatedServiceArrayOutput
	ToGetDelegatedServicesDelegatedServiceArrayOutputWithContext(context.Context) GetDelegatedServicesDelegatedServiceArrayOutput
}

GetDelegatedServicesDelegatedServiceArrayInput is an input type that accepts GetDelegatedServicesDelegatedServiceArray and GetDelegatedServicesDelegatedServiceArrayOutput values. You can construct a concrete instance of `GetDelegatedServicesDelegatedServiceArrayInput` via:

GetDelegatedServicesDelegatedServiceArray{ GetDelegatedServicesDelegatedServiceArgs{...} }

type GetDelegatedServicesDelegatedServiceArrayOutput added in v4.5.0

type GetDelegatedServicesDelegatedServiceArrayOutput struct{ *pulumi.OutputState }

func (GetDelegatedServicesDelegatedServiceArrayOutput) ElementType added in v4.5.0

func (GetDelegatedServicesDelegatedServiceArrayOutput) Index added in v4.5.0

func (GetDelegatedServicesDelegatedServiceArrayOutput) ToGetDelegatedServicesDelegatedServiceArrayOutput added in v4.5.0

func (o GetDelegatedServicesDelegatedServiceArrayOutput) ToGetDelegatedServicesDelegatedServiceArrayOutput() GetDelegatedServicesDelegatedServiceArrayOutput

func (GetDelegatedServicesDelegatedServiceArrayOutput) ToGetDelegatedServicesDelegatedServiceArrayOutputWithContext added in v4.5.0

func (o GetDelegatedServicesDelegatedServiceArrayOutput) ToGetDelegatedServicesDelegatedServiceArrayOutputWithContext(ctx context.Context) GetDelegatedServicesDelegatedServiceArrayOutput

type GetDelegatedServicesDelegatedServiceInput added in v4.5.0

type GetDelegatedServicesDelegatedServiceInput interface {
	pulumi.Input

	ToGetDelegatedServicesDelegatedServiceOutput() GetDelegatedServicesDelegatedServiceOutput
	ToGetDelegatedServicesDelegatedServiceOutputWithContext(context.Context) GetDelegatedServicesDelegatedServiceOutput
}

GetDelegatedServicesDelegatedServiceInput is an input type that accepts GetDelegatedServicesDelegatedServiceArgs and GetDelegatedServicesDelegatedServiceOutput values. You can construct a concrete instance of `GetDelegatedServicesDelegatedServiceInput` via:

GetDelegatedServicesDelegatedServiceArgs{...}

type GetDelegatedServicesDelegatedServiceOutput added in v4.5.0

type GetDelegatedServicesDelegatedServiceOutput struct{ *pulumi.OutputState }

func (GetDelegatedServicesDelegatedServiceOutput) DelegationEnabledDate added in v4.5.0

The date that the account became a delegated administrator for this service.

func (GetDelegatedServicesDelegatedServiceOutput) ElementType added in v4.5.0

func (GetDelegatedServicesDelegatedServiceOutput) ServicePrincipal added in v4.5.0

The name of an AWS service that can request an operation for the specified service.

func (GetDelegatedServicesDelegatedServiceOutput) ToGetDelegatedServicesDelegatedServiceOutput added in v4.5.0

func (o GetDelegatedServicesDelegatedServiceOutput) ToGetDelegatedServicesDelegatedServiceOutput() GetDelegatedServicesDelegatedServiceOutput

func (GetDelegatedServicesDelegatedServiceOutput) ToGetDelegatedServicesDelegatedServiceOutputWithContext added in v4.5.0

func (o GetDelegatedServicesDelegatedServiceOutput) ToGetDelegatedServicesDelegatedServiceOutputWithContext(ctx context.Context) GetDelegatedServicesDelegatedServiceOutput

type GetDelegatedServicesResult added in v4.5.0

type GetDelegatedServicesResult struct {
	AccountId string `pulumi:"accountId"`
	// The services for which the account is a delegated administrator, which have the following attributes:
	DelegatedServices []GetDelegatedServicesDelegatedService `pulumi:"delegatedServices"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getDelegatedServices.

func GetDelegatedServices added in v4.5.0

func GetDelegatedServices(ctx *pulumi.Context, args *GetDelegatedServicesArgs, opts ...pulumi.InvokeOption) (*GetDelegatedServicesResult, error)

Get a list the AWS services for which the specified account is a delegated administrator

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.GetDelegatedServices(ctx, &organizations.GetDelegatedServicesArgs{
			AccountId: "AWS ACCOUNT ID",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetOrganizationAccount

type GetOrganizationAccount struct {
	// ARN of the root
	Arn string `pulumi:"arn"`
	// Email of the account
	Email string `pulumi:"email"`
	// Identifier of the root
	Id string `pulumi:"id"`
	// The name of the policy type
	Name string `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status string `pulumi:"status"`
}

type GetOrganizationAccountArgs

type GetOrganizationAccountArgs struct {
	// ARN of the root
	Arn pulumi.StringInput `pulumi:"arn"`
	// Email of the account
	Email pulumi.StringInput `pulumi:"email"`
	// Identifier of the root
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringInput `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetOrganizationAccountArgs) ElementType

func (GetOrganizationAccountArgs) ElementType() reflect.Type

func (GetOrganizationAccountArgs) ToGetOrganizationAccountOutput

func (i GetOrganizationAccountArgs) ToGetOrganizationAccountOutput() GetOrganizationAccountOutput

func (GetOrganizationAccountArgs) ToGetOrganizationAccountOutputWithContext

func (i GetOrganizationAccountArgs) ToGetOrganizationAccountOutputWithContext(ctx context.Context) GetOrganizationAccountOutput

type GetOrganizationAccountArray

type GetOrganizationAccountArray []GetOrganizationAccountInput

func (GetOrganizationAccountArray) ElementType

func (GetOrganizationAccountArray) ToGetOrganizationAccountArrayOutput

func (i GetOrganizationAccountArray) ToGetOrganizationAccountArrayOutput() GetOrganizationAccountArrayOutput

func (GetOrganizationAccountArray) ToGetOrganizationAccountArrayOutputWithContext

func (i GetOrganizationAccountArray) ToGetOrganizationAccountArrayOutputWithContext(ctx context.Context) GetOrganizationAccountArrayOutput

type GetOrganizationAccountArrayInput

type GetOrganizationAccountArrayInput interface {
	pulumi.Input

	ToGetOrganizationAccountArrayOutput() GetOrganizationAccountArrayOutput
	ToGetOrganizationAccountArrayOutputWithContext(context.Context) GetOrganizationAccountArrayOutput
}

GetOrganizationAccountArrayInput is an input type that accepts GetOrganizationAccountArray and GetOrganizationAccountArrayOutput values. You can construct a concrete instance of `GetOrganizationAccountArrayInput` via:

GetOrganizationAccountArray{ GetOrganizationAccountArgs{...} }

type GetOrganizationAccountArrayOutput

type GetOrganizationAccountArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationAccountArrayOutput) ElementType

func (GetOrganizationAccountArrayOutput) Index

func (GetOrganizationAccountArrayOutput) ToGetOrganizationAccountArrayOutput

func (o GetOrganizationAccountArrayOutput) ToGetOrganizationAccountArrayOutput() GetOrganizationAccountArrayOutput

func (GetOrganizationAccountArrayOutput) ToGetOrganizationAccountArrayOutputWithContext

func (o GetOrganizationAccountArrayOutput) ToGetOrganizationAccountArrayOutputWithContext(ctx context.Context) GetOrganizationAccountArrayOutput

type GetOrganizationAccountInput

type GetOrganizationAccountInput interface {
	pulumi.Input

	ToGetOrganizationAccountOutput() GetOrganizationAccountOutput
	ToGetOrganizationAccountOutputWithContext(context.Context) GetOrganizationAccountOutput
}

GetOrganizationAccountInput is an input type that accepts GetOrganizationAccountArgs and GetOrganizationAccountOutput values. You can construct a concrete instance of `GetOrganizationAccountInput` via:

GetOrganizationAccountArgs{...}

type GetOrganizationAccountOutput

type GetOrganizationAccountOutput struct{ *pulumi.OutputState }

func (GetOrganizationAccountOutput) Arn

ARN of the root

func (GetOrganizationAccountOutput) ElementType

func (GetOrganizationAccountOutput) Email

Email of the account

func (GetOrganizationAccountOutput) Id

Identifier of the root

func (GetOrganizationAccountOutput) Name

The name of the policy type

func (GetOrganizationAccountOutput) Status

The status of the policy type as it relates to the associated root

func (GetOrganizationAccountOutput) ToGetOrganizationAccountOutput

func (o GetOrganizationAccountOutput) ToGetOrganizationAccountOutput() GetOrganizationAccountOutput

func (GetOrganizationAccountOutput) ToGetOrganizationAccountOutputWithContext

func (o GetOrganizationAccountOutput) ToGetOrganizationAccountOutputWithContext(ctx context.Context) GetOrganizationAccountOutput

type GetOrganizationNonMasterAccount

type GetOrganizationNonMasterAccount struct {
	// ARN of the root
	Arn string `pulumi:"arn"`
	// Email of the account
	Email string `pulumi:"email"`
	// Identifier of the root
	Id string `pulumi:"id"`
	// The name of the policy type
	Name string `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status string `pulumi:"status"`
}

type GetOrganizationNonMasterAccountArgs

type GetOrganizationNonMasterAccountArgs struct {
	// ARN of the root
	Arn pulumi.StringInput `pulumi:"arn"`
	// Email of the account
	Email pulumi.StringInput `pulumi:"email"`
	// Identifier of the root
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringInput `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetOrganizationNonMasterAccountArgs) ElementType

func (GetOrganizationNonMasterAccountArgs) ToGetOrganizationNonMasterAccountOutput

func (i GetOrganizationNonMasterAccountArgs) ToGetOrganizationNonMasterAccountOutput() GetOrganizationNonMasterAccountOutput

func (GetOrganizationNonMasterAccountArgs) ToGetOrganizationNonMasterAccountOutputWithContext

func (i GetOrganizationNonMasterAccountArgs) ToGetOrganizationNonMasterAccountOutputWithContext(ctx context.Context) GetOrganizationNonMasterAccountOutput

type GetOrganizationNonMasterAccountArray

type GetOrganizationNonMasterAccountArray []GetOrganizationNonMasterAccountInput

func (GetOrganizationNonMasterAccountArray) ElementType

func (GetOrganizationNonMasterAccountArray) ToGetOrganizationNonMasterAccountArrayOutput

func (i GetOrganizationNonMasterAccountArray) ToGetOrganizationNonMasterAccountArrayOutput() GetOrganizationNonMasterAccountArrayOutput

func (GetOrganizationNonMasterAccountArray) ToGetOrganizationNonMasterAccountArrayOutputWithContext

func (i GetOrganizationNonMasterAccountArray) ToGetOrganizationNonMasterAccountArrayOutputWithContext(ctx context.Context) GetOrganizationNonMasterAccountArrayOutput

type GetOrganizationNonMasterAccountArrayInput

type GetOrganizationNonMasterAccountArrayInput interface {
	pulumi.Input

	ToGetOrganizationNonMasterAccountArrayOutput() GetOrganizationNonMasterAccountArrayOutput
	ToGetOrganizationNonMasterAccountArrayOutputWithContext(context.Context) GetOrganizationNonMasterAccountArrayOutput
}

GetOrganizationNonMasterAccountArrayInput is an input type that accepts GetOrganizationNonMasterAccountArray and GetOrganizationNonMasterAccountArrayOutput values. You can construct a concrete instance of `GetOrganizationNonMasterAccountArrayInput` via:

GetOrganizationNonMasterAccountArray{ GetOrganizationNonMasterAccountArgs{...} }

type GetOrganizationNonMasterAccountArrayOutput

type GetOrganizationNonMasterAccountArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationNonMasterAccountArrayOutput) ElementType

func (GetOrganizationNonMasterAccountArrayOutput) Index

func (GetOrganizationNonMasterAccountArrayOutput) ToGetOrganizationNonMasterAccountArrayOutput

func (o GetOrganizationNonMasterAccountArrayOutput) ToGetOrganizationNonMasterAccountArrayOutput() GetOrganizationNonMasterAccountArrayOutput

func (GetOrganizationNonMasterAccountArrayOutput) ToGetOrganizationNonMasterAccountArrayOutputWithContext

func (o GetOrganizationNonMasterAccountArrayOutput) ToGetOrganizationNonMasterAccountArrayOutputWithContext(ctx context.Context) GetOrganizationNonMasterAccountArrayOutput

type GetOrganizationNonMasterAccountInput

type GetOrganizationNonMasterAccountInput interface {
	pulumi.Input

	ToGetOrganizationNonMasterAccountOutput() GetOrganizationNonMasterAccountOutput
	ToGetOrganizationNonMasterAccountOutputWithContext(context.Context) GetOrganizationNonMasterAccountOutput
}

GetOrganizationNonMasterAccountInput is an input type that accepts GetOrganizationNonMasterAccountArgs and GetOrganizationNonMasterAccountOutput values. You can construct a concrete instance of `GetOrganizationNonMasterAccountInput` via:

GetOrganizationNonMasterAccountArgs{...}

type GetOrganizationNonMasterAccountOutput

type GetOrganizationNonMasterAccountOutput struct{ *pulumi.OutputState }

func (GetOrganizationNonMasterAccountOutput) Arn

ARN of the root

func (GetOrganizationNonMasterAccountOutput) ElementType

func (GetOrganizationNonMasterAccountOutput) Email

Email of the account

func (GetOrganizationNonMasterAccountOutput) Id

Identifier of the root

func (GetOrganizationNonMasterAccountOutput) Name

The name of the policy type

func (GetOrganizationNonMasterAccountOutput) Status

The status of the policy type as it relates to the associated root

func (GetOrganizationNonMasterAccountOutput) ToGetOrganizationNonMasterAccountOutput

func (o GetOrganizationNonMasterAccountOutput) ToGetOrganizationNonMasterAccountOutput() GetOrganizationNonMasterAccountOutput

func (GetOrganizationNonMasterAccountOutput) ToGetOrganizationNonMasterAccountOutputWithContext

func (o GetOrganizationNonMasterAccountOutput) ToGetOrganizationNonMasterAccountOutputWithContext(ctx context.Context) GetOrganizationNonMasterAccountOutput

type GetOrganizationRoot

type GetOrganizationRoot struct {
	// ARN of the root
	Arn string `pulumi:"arn"`
	// Identifier of the root
	Id string `pulumi:"id"`
	// The name of the policy type
	Name string `pulumi:"name"`
	// List of policy types enabled for this root. All elements have these attributes:
	PolicyTypes []GetOrganizationRootPolicyType `pulumi:"policyTypes"`
}

type GetOrganizationRootArgs

type GetOrganizationRootArgs struct {
	// ARN of the root
	Arn pulumi.StringInput `pulumi:"arn"`
	// Identifier of the root
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringInput `pulumi:"name"`
	// List of policy types enabled for this root. All elements have these attributes:
	PolicyTypes GetOrganizationRootPolicyTypeArrayInput `pulumi:"policyTypes"`
}

func (GetOrganizationRootArgs) ElementType

func (GetOrganizationRootArgs) ElementType() reflect.Type

func (GetOrganizationRootArgs) ToGetOrganizationRootOutput

func (i GetOrganizationRootArgs) ToGetOrganizationRootOutput() GetOrganizationRootOutput

func (GetOrganizationRootArgs) ToGetOrganizationRootOutputWithContext

func (i GetOrganizationRootArgs) ToGetOrganizationRootOutputWithContext(ctx context.Context) GetOrganizationRootOutput

type GetOrganizationRootArray

type GetOrganizationRootArray []GetOrganizationRootInput

func (GetOrganizationRootArray) ElementType

func (GetOrganizationRootArray) ElementType() reflect.Type

func (GetOrganizationRootArray) ToGetOrganizationRootArrayOutput

func (i GetOrganizationRootArray) ToGetOrganizationRootArrayOutput() GetOrganizationRootArrayOutput

func (GetOrganizationRootArray) ToGetOrganizationRootArrayOutputWithContext

func (i GetOrganizationRootArray) ToGetOrganizationRootArrayOutputWithContext(ctx context.Context) GetOrganizationRootArrayOutput

type GetOrganizationRootArrayInput

type GetOrganizationRootArrayInput interface {
	pulumi.Input

	ToGetOrganizationRootArrayOutput() GetOrganizationRootArrayOutput
	ToGetOrganizationRootArrayOutputWithContext(context.Context) GetOrganizationRootArrayOutput
}

GetOrganizationRootArrayInput is an input type that accepts GetOrganizationRootArray and GetOrganizationRootArrayOutput values. You can construct a concrete instance of `GetOrganizationRootArrayInput` via:

GetOrganizationRootArray{ GetOrganizationRootArgs{...} }

type GetOrganizationRootArrayOutput

type GetOrganizationRootArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationRootArrayOutput) ElementType

func (GetOrganizationRootArrayOutput) Index

func (GetOrganizationRootArrayOutput) ToGetOrganizationRootArrayOutput

func (o GetOrganizationRootArrayOutput) ToGetOrganizationRootArrayOutput() GetOrganizationRootArrayOutput

func (GetOrganizationRootArrayOutput) ToGetOrganizationRootArrayOutputWithContext

func (o GetOrganizationRootArrayOutput) ToGetOrganizationRootArrayOutputWithContext(ctx context.Context) GetOrganizationRootArrayOutput

type GetOrganizationRootInput

type GetOrganizationRootInput interface {
	pulumi.Input

	ToGetOrganizationRootOutput() GetOrganizationRootOutput
	ToGetOrganizationRootOutputWithContext(context.Context) GetOrganizationRootOutput
}

GetOrganizationRootInput is an input type that accepts GetOrganizationRootArgs and GetOrganizationRootOutput values. You can construct a concrete instance of `GetOrganizationRootInput` via:

GetOrganizationRootArgs{...}

type GetOrganizationRootOutput

type GetOrganizationRootOutput struct{ *pulumi.OutputState }

func (GetOrganizationRootOutput) Arn

ARN of the root

func (GetOrganizationRootOutput) ElementType

func (GetOrganizationRootOutput) ElementType() reflect.Type

func (GetOrganizationRootOutput) Id

Identifier of the root

func (GetOrganizationRootOutput) Name

The name of the policy type

func (GetOrganizationRootOutput) PolicyTypes

List of policy types enabled for this root. All elements have these attributes:

func (GetOrganizationRootOutput) ToGetOrganizationRootOutput

func (o GetOrganizationRootOutput) ToGetOrganizationRootOutput() GetOrganizationRootOutput

func (GetOrganizationRootOutput) ToGetOrganizationRootOutputWithContext

func (o GetOrganizationRootOutput) ToGetOrganizationRootOutputWithContext(ctx context.Context) GetOrganizationRootOutput

type GetOrganizationRootPolicyType

type GetOrganizationRootPolicyType struct {
	// The status of the policy type as it relates to the associated root
	Status string `pulumi:"status"`
	Type   string `pulumi:"type"`
}

type GetOrganizationRootPolicyTypeArgs

type GetOrganizationRootPolicyTypeArgs struct {
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringInput `pulumi:"status"`
	Type   pulumi.StringInput `pulumi:"type"`
}

func (GetOrganizationRootPolicyTypeArgs) ElementType

func (GetOrganizationRootPolicyTypeArgs) ToGetOrganizationRootPolicyTypeOutput

func (i GetOrganizationRootPolicyTypeArgs) ToGetOrganizationRootPolicyTypeOutput() GetOrganizationRootPolicyTypeOutput

func (GetOrganizationRootPolicyTypeArgs) ToGetOrganizationRootPolicyTypeOutputWithContext

func (i GetOrganizationRootPolicyTypeArgs) ToGetOrganizationRootPolicyTypeOutputWithContext(ctx context.Context) GetOrganizationRootPolicyTypeOutput

type GetOrganizationRootPolicyTypeArray

type GetOrganizationRootPolicyTypeArray []GetOrganizationRootPolicyTypeInput

func (GetOrganizationRootPolicyTypeArray) ElementType

func (GetOrganizationRootPolicyTypeArray) ToGetOrganizationRootPolicyTypeArrayOutput

func (i GetOrganizationRootPolicyTypeArray) ToGetOrganizationRootPolicyTypeArrayOutput() GetOrganizationRootPolicyTypeArrayOutput

func (GetOrganizationRootPolicyTypeArray) ToGetOrganizationRootPolicyTypeArrayOutputWithContext

func (i GetOrganizationRootPolicyTypeArray) ToGetOrganizationRootPolicyTypeArrayOutputWithContext(ctx context.Context) GetOrganizationRootPolicyTypeArrayOutput

type GetOrganizationRootPolicyTypeArrayInput

type GetOrganizationRootPolicyTypeArrayInput interface {
	pulumi.Input

	ToGetOrganizationRootPolicyTypeArrayOutput() GetOrganizationRootPolicyTypeArrayOutput
	ToGetOrganizationRootPolicyTypeArrayOutputWithContext(context.Context) GetOrganizationRootPolicyTypeArrayOutput
}

GetOrganizationRootPolicyTypeArrayInput is an input type that accepts GetOrganizationRootPolicyTypeArray and GetOrganizationRootPolicyTypeArrayOutput values. You can construct a concrete instance of `GetOrganizationRootPolicyTypeArrayInput` via:

GetOrganizationRootPolicyTypeArray{ GetOrganizationRootPolicyTypeArgs{...} }

type GetOrganizationRootPolicyTypeArrayOutput

type GetOrganizationRootPolicyTypeArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationRootPolicyTypeArrayOutput) ElementType

func (GetOrganizationRootPolicyTypeArrayOutput) Index

func (GetOrganizationRootPolicyTypeArrayOutput) ToGetOrganizationRootPolicyTypeArrayOutput

func (o GetOrganizationRootPolicyTypeArrayOutput) ToGetOrganizationRootPolicyTypeArrayOutput() GetOrganizationRootPolicyTypeArrayOutput

func (GetOrganizationRootPolicyTypeArrayOutput) ToGetOrganizationRootPolicyTypeArrayOutputWithContext

func (o GetOrganizationRootPolicyTypeArrayOutput) ToGetOrganizationRootPolicyTypeArrayOutputWithContext(ctx context.Context) GetOrganizationRootPolicyTypeArrayOutput

type GetOrganizationRootPolicyTypeInput

type GetOrganizationRootPolicyTypeInput interface {
	pulumi.Input

	ToGetOrganizationRootPolicyTypeOutput() GetOrganizationRootPolicyTypeOutput
	ToGetOrganizationRootPolicyTypeOutputWithContext(context.Context) GetOrganizationRootPolicyTypeOutput
}

GetOrganizationRootPolicyTypeInput is an input type that accepts GetOrganizationRootPolicyTypeArgs and GetOrganizationRootPolicyTypeOutput values. You can construct a concrete instance of `GetOrganizationRootPolicyTypeInput` via:

GetOrganizationRootPolicyTypeArgs{...}

type GetOrganizationRootPolicyTypeOutput

type GetOrganizationRootPolicyTypeOutput struct{ *pulumi.OutputState }

func (GetOrganizationRootPolicyTypeOutput) ElementType

func (GetOrganizationRootPolicyTypeOutput) Status

The status of the policy type as it relates to the associated root

func (GetOrganizationRootPolicyTypeOutput) ToGetOrganizationRootPolicyTypeOutput

func (o GetOrganizationRootPolicyTypeOutput) ToGetOrganizationRootPolicyTypeOutput() GetOrganizationRootPolicyTypeOutput

func (GetOrganizationRootPolicyTypeOutput) ToGetOrganizationRootPolicyTypeOutputWithContext

func (o GetOrganizationRootPolicyTypeOutput) ToGetOrganizationRootPolicyTypeOutputWithContext(ctx context.Context) GetOrganizationRootPolicyTypeOutput

func (GetOrganizationRootPolicyTypeOutput) Type

type GetOrganizationalUnitsArgs

type GetOrganizationalUnitsArgs struct {
	// The parent ID of the organizational unit.
	ParentId string `pulumi:"parentId"`
}

A collection of arguments for invoking getOrganizationalUnits.

type GetOrganizationalUnitsChildren

type GetOrganizationalUnitsChildren struct {
	// ARN of the organizational unit
	Arn string `pulumi:"arn"`
	// Parent identifier of the organizational units.
	Id string `pulumi:"id"`
	// Name of the organizational unit
	Name string `pulumi:"name"`
}

type GetOrganizationalUnitsChildrenArgs

type GetOrganizationalUnitsChildrenArgs struct {
	// ARN of the organizational unit
	Arn pulumi.StringInput `pulumi:"arn"`
	// Parent identifier of the organizational units.
	Id pulumi.StringInput `pulumi:"id"`
	// Name of the organizational unit
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetOrganizationalUnitsChildrenArgs) ElementType

func (GetOrganizationalUnitsChildrenArgs) ToGetOrganizationalUnitsChildrenOutput

func (i GetOrganizationalUnitsChildrenArgs) ToGetOrganizationalUnitsChildrenOutput() GetOrganizationalUnitsChildrenOutput

func (GetOrganizationalUnitsChildrenArgs) ToGetOrganizationalUnitsChildrenOutputWithContext

func (i GetOrganizationalUnitsChildrenArgs) ToGetOrganizationalUnitsChildrenOutputWithContext(ctx context.Context) GetOrganizationalUnitsChildrenOutput

type GetOrganizationalUnitsChildrenArray

type GetOrganizationalUnitsChildrenArray []GetOrganizationalUnitsChildrenInput

func (GetOrganizationalUnitsChildrenArray) ElementType

func (GetOrganizationalUnitsChildrenArray) ToGetOrganizationalUnitsChildrenArrayOutput

func (i GetOrganizationalUnitsChildrenArray) ToGetOrganizationalUnitsChildrenArrayOutput() GetOrganizationalUnitsChildrenArrayOutput

func (GetOrganizationalUnitsChildrenArray) ToGetOrganizationalUnitsChildrenArrayOutputWithContext

func (i GetOrganizationalUnitsChildrenArray) ToGetOrganizationalUnitsChildrenArrayOutputWithContext(ctx context.Context) GetOrganizationalUnitsChildrenArrayOutput

type GetOrganizationalUnitsChildrenArrayInput

type GetOrganizationalUnitsChildrenArrayInput interface {
	pulumi.Input

	ToGetOrganizationalUnitsChildrenArrayOutput() GetOrganizationalUnitsChildrenArrayOutput
	ToGetOrganizationalUnitsChildrenArrayOutputWithContext(context.Context) GetOrganizationalUnitsChildrenArrayOutput
}

GetOrganizationalUnitsChildrenArrayInput is an input type that accepts GetOrganizationalUnitsChildrenArray and GetOrganizationalUnitsChildrenArrayOutput values. You can construct a concrete instance of `GetOrganizationalUnitsChildrenArrayInput` via:

GetOrganizationalUnitsChildrenArray{ GetOrganizationalUnitsChildrenArgs{...} }

type GetOrganizationalUnitsChildrenArrayOutput

type GetOrganizationalUnitsChildrenArrayOutput struct{ *pulumi.OutputState }

func (GetOrganizationalUnitsChildrenArrayOutput) ElementType

func (GetOrganizationalUnitsChildrenArrayOutput) Index

func (GetOrganizationalUnitsChildrenArrayOutput) ToGetOrganizationalUnitsChildrenArrayOutput

func (o GetOrganizationalUnitsChildrenArrayOutput) ToGetOrganizationalUnitsChildrenArrayOutput() GetOrganizationalUnitsChildrenArrayOutput

func (GetOrganizationalUnitsChildrenArrayOutput) ToGetOrganizationalUnitsChildrenArrayOutputWithContext

func (o GetOrganizationalUnitsChildrenArrayOutput) ToGetOrganizationalUnitsChildrenArrayOutputWithContext(ctx context.Context) GetOrganizationalUnitsChildrenArrayOutput

type GetOrganizationalUnitsChildrenInput

type GetOrganizationalUnitsChildrenInput interface {
	pulumi.Input

	ToGetOrganizationalUnitsChildrenOutput() GetOrganizationalUnitsChildrenOutput
	ToGetOrganizationalUnitsChildrenOutputWithContext(context.Context) GetOrganizationalUnitsChildrenOutput
}

GetOrganizationalUnitsChildrenInput is an input type that accepts GetOrganizationalUnitsChildrenArgs and GetOrganizationalUnitsChildrenOutput values. You can construct a concrete instance of `GetOrganizationalUnitsChildrenInput` via:

GetOrganizationalUnitsChildrenArgs{...}

type GetOrganizationalUnitsChildrenOutput

type GetOrganizationalUnitsChildrenOutput struct{ *pulumi.OutputState }

func (GetOrganizationalUnitsChildrenOutput) Arn

ARN of the organizational unit

func (GetOrganizationalUnitsChildrenOutput) ElementType

func (GetOrganizationalUnitsChildrenOutput) Id

Parent identifier of the organizational units.

func (GetOrganizationalUnitsChildrenOutput) Name

Name of the organizational unit

func (GetOrganizationalUnitsChildrenOutput) ToGetOrganizationalUnitsChildrenOutput

func (o GetOrganizationalUnitsChildrenOutput) ToGetOrganizationalUnitsChildrenOutput() GetOrganizationalUnitsChildrenOutput

func (GetOrganizationalUnitsChildrenOutput) ToGetOrganizationalUnitsChildrenOutputWithContext

func (o GetOrganizationalUnitsChildrenOutput) ToGetOrganizationalUnitsChildrenOutputWithContext(ctx context.Context) GetOrganizationalUnitsChildrenOutput

type GetOrganizationalUnitsResult

type GetOrganizationalUnitsResult struct {
	// List of child organizational units, which have the following attributes:
	Childrens []GetOrganizationalUnitsChildren `pulumi:"childrens"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	ParentId string `pulumi:"parentId"`
}

A collection of values returned by getOrganizationalUnits.

func GetOrganizationalUnits

func GetOrganizationalUnits(ctx *pulumi.Context, args *GetOrganizationalUnitsArgs, opts ...pulumi.InvokeOption) (*GetOrganizationalUnitsResult, error)

Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		org, err := organizations.LookupOrganization(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = organizations.GetOrganizationalUnits(ctx, &organizations.GetOrganizationalUnitsArgs{
			ParentId: org.Roots[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupOrganizationResult

type LookupOrganizationResult struct {
	// List of organization accounts including the master account. For a list excluding the master account, see the `nonMasterAccounts` attribute. All elements have these attributes:
	Accounts []GetOrganizationAccount `pulumi:"accounts"`
	// ARN of the root
	Arn string `pulumi:"arn"`
	// A list of AWS service principal names that have integration enabled with your organization. Organization must have `featureSet` set to `ALL`. For additional information, see the [AWS Organizations User Guide](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html).
	AwsServiceAccessPrincipals []string `pulumi:"awsServiceAccessPrincipals"`
	// A list of Organizations policy types that are enabled in the Organization Root. Organization must have `featureSet` set to `ALL`. For additional information about valid policy types (e.g. `SERVICE_CONTROL_POLICY`), see the [AWS Organizations API Reference](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnablePolicyType.html).
	EnabledPolicyTypes []string `pulumi:"enabledPolicyTypes"`
	// The FeatureSet of the organization.
	FeatureSet string `pulumi:"featureSet"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Amazon Resource Name (ARN) of the account that is designated as the master account for the organization.
	MasterAccountArn string `pulumi:"masterAccountArn"`
	// The email address that is associated with the AWS account that is designated as the master account for the organization.
	MasterAccountEmail string `pulumi:"masterAccountEmail"`
	// The unique identifier (ID) of the master account of an organization.
	MasterAccountId string `pulumi:"masterAccountId"`
	// List of organization accounts excluding the master account. For a list including the master account, see the `accounts` attribute. All elements have these attributes:
	NonMasterAccounts []GetOrganizationNonMasterAccount `pulumi:"nonMasterAccounts"`
	// List of organization roots. All elements have these attributes:
	Roots []GetOrganizationRoot `pulumi:"roots"`
}

A collection of values returned by getOrganization.

func LookupOrganization

func LookupOrganization(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupOrganizationResult, error)

Get information about the organization that the user's account belongs to

## Example Usage ### SNS topic that can be interacted by the organization only

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := organizations.LookupOrganization(ctx, nil, nil)
		if err != nil {
			return err
		}
		snsTopic, err := sns.NewTopic(ctx, "snsTopic", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewTopicPolicy(ctx, "snsTopicPolicyTopicPolicy", &sns.TopicPolicyArgs{
			Arn:    snsTopic.Arn,
			Policy: pulumi.String(snsTopicPolicyPolicyDocument.Json),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Organization

type Organization struct {
	pulumi.CustomResourceState

	// List of organization accounts including the master account. For a list excluding the master account, see the `nonMasterAccounts` attribute. All elements have these attributes:
	Accounts OrganizationAccountArrayOutput `pulumi:"accounts"`
	// ARN of the root
	Arn pulumi.StringOutput `pulumi:"arn"`
	// 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 `featureSet` set to `ALL`. For additional information, see the [AWS Organizations User Guide](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html).
	AwsServiceAccessPrincipals pulumi.StringArrayOutput `pulumi:"awsServiceAccessPrincipals"`
	// List of Organizations policy types to enable in the Organization Root. Organization must have `featureSet` set to `ALL`. For additional information about valid policy types (e.g. `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY`, and `TAG_POLICY`), see the [AWS Organizations API Reference](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnablePolicyType.html).
	EnabledPolicyTypes pulumi.StringArrayOutput `pulumi:"enabledPolicyTypes"`
	// Specify "ALL" (default) or "CONSOLIDATED_BILLING".
	FeatureSet pulumi.StringPtrOutput `pulumi:"featureSet"`
	// ARN of the master account
	MasterAccountArn pulumi.StringOutput `pulumi:"masterAccountArn"`
	// Email address of the master account
	MasterAccountEmail pulumi.StringOutput `pulumi:"masterAccountEmail"`
	// Identifier of the master account
	MasterAccountId pulumi.StringOutput `pulumi:"masterAccountId"`
	// List of organization accounts excluding the master account. For a list including the master account, see the `accounts` attribute. All elements have these attributes:
	NonMasterAccounts OrganizationNonMasterAccountArrayOutput `pulumi:"nonMasterAccounts"`
	// List of organization roots. All elements have these attributes:
	Roots OrganizationRootArrayOutput `pulumi:"roots"`
}

Provides a resource to create an organization.

!> **WARNING:** When migrating from a `featureSet` 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](https://console.aws.amazon.com/organizations/home#/organization/settings/migration-progress). 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](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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
	})
}

```

## Import

The AWS organization can be imported by using the `id`, e.g.

```sh

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

```

func GetOrganization

func GetOrganization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationState, opts ...pulumi.ResourceOption) (*Organization, error)

GetOrganization gets an existing Organization resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganization

func NewOrganization(ctx *pulumi.Context,
	name string, args *OrganizationArgs, opts ...pulumi.ResourceOption) (*Organization, error)

NewOrganization registers a new resource with the given unique name, arguments, and options.

func (*Organization) ElementType

func (*Organization) ElementType() reflect.Type

func (*Organization) ToOrganizationOutput

func (i *Organization) ToOrganizationOutput() OrganizationOutput

func (*Organization) ToOrganizationOutputWithContext

func (i *Organization) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

func (*Organization) ToOrganizationPtrOutput

func (i *Organization) ToOrganizationPtrOutput() OrganizationPtrOutput

func (*Organization) ToOrganizationPtrOutputWithContext

func (i *Organization) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationAccount

type OrganizationAccount struct {
	// ARN of the root
	Arn *string `pulumi:"arn"`
	// Email of the account
	Email *string `pulumi:"email"`
	// Identifier of the root
	Id *string `pulumi:"id"`
	// The name of the policy type
	Name *string `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status *string `pulumi:"status"`
}

type OrganizationAccountArgs

type OrganizationAccountArgs struct {
	// ARN of the root
	Arn pulumi.StringPtrInput `pulumi:"arn"`
	// Email of the account
	Email pulumi.StringPtrInput `pulumi:"email"`
	// Identifier of the root
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (OrganizationAccountArgs) ElementType

func (OrganizationAccountArgs) ElementType() reflect.Type

func (OrganizationAccountArgs) ToOrganizationAccountOutput

func (i OrganizationAccountArgs) ToOrganizationAccountOutput() OrganizationAccountOutput

func (OrganizationAccountArgs) ToOrganizationAccountOutputWithContext

func (i OrganizationAccountArgs) ToOrganizationAccountOutputWithContext(ctx context.Context) OrganizationAccountOutput

type OrganizationAccountArray

type OrganizationAccountArray []OrganizationAccountInput

func (OrganizationAccountArray) ElementType

func (OrganizationAccountArray) ElementType() reflect.Type

func (OrganizationAccountArray) ToOrganizationAccountArrayOutput

func (i OrganizationAccountArray) ToOrganizationAccountArrayOutput() OrganizationAccountArrayOutput

func (OrganizationAccountArray) ToOrganizationAccountArrayOutputWithContext

func (i OrganizationAccountArray) ToOrganizationAccountArrayOutputWithContext(ctx context.Context) OrganizationAccountArrayOutput

type OrganizationAccountArrayInput

type OrganizationAccountArrayInput interface {
	pulumi.Input

	ToOrganizationAccountArrayOutput() OrganizationAccountArrayOutput
	ToOrganizationAccountArrayOutputWithContext(context.Context) OrganizationAccountArrayOutput
}

OrganizationAccountArrayInput is an input type that accepts OrganizationAccountArray and OrganizationAccountArrayOutput values. You can construct a concrete instance of `OrganizationAccountArrayInput` via:

OrganizationAccountArray{ OrganizationAccountArgs{...} }

type OrganizationAccountArrayOutput

type OrganizationAccountArrayOutput struct{ *pulumi.OutputState }

func (OrganizationAccountArrayOutput) ElementType

func (OrganizationAccountArrayOutput) Index

func (OrganizationAccountArrayOutput) ToOrganizationAccountArrayOutput

func (o OrganizationAccountArrayOutput) ToOrganizationAccountArrayOutput() OrganizationAccountArrayOutput

func (OrganizationAccountArrayOutput) ToOrganizationAccountArrayOutputWithContext

func (o OrganizationAccountArrayOutput) ToOrganizationAccountArrayOutputWithContext(ctx context.Context) OrganizationAccountArrayOutput

type OrganizationAccountInput

type OrganizationAccountInput interface {
	pulumi.Input

	ToOrganizationAccountOutput() OrganizationAccountOutput
	ToOrganizationAccountOutputWithContext(context.Context) OrganizationAccountOutput
}

OrganizationAccountInput is an input type that accepts OrganizationAccountArgs and OrganizationAccountOutput values. You can construct a concrete instance of `OrganizationAccountInput` via:

OrganizationAccountArgs{...}

type OrganizationAccountOutput

type OrganizationAccountOutput struct{ *pulumi.OutputState }

func (OrganizationAccountOutput) Arn

ARN of the root

func (OrganizationAccountOutput) ElementType

func (OrganizationAccountOutput) ElementType() reflect.Type

func (OrganizationAccountOutput) Email

Email of the account

func (OrganizationAccountOutput) Id

Identifier of the root

func (OrganizationAccountOutput) Name

The name of the policy type

func (OrganizationAccountOutput) Status

The status of the policy type as it relates to the associated root

func (OrganizationAccountOutput) ToOrganizationAccountOutput

func (o OrganizationAccountOutput) ToOrganizationAccountOutput() OrganizationAccountOutput

func (OrganizationAccountOutput) ToOrganizationAccountOutputWithContext

func (o OrganizationAccountOutput) ToOrganizationAccountOutputWithContext(ctx context.Context) OrganizationAccountOutput

type OrganizationArgs

type OrganizationArgs struct {
	// 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 `featureSet` set to `ALL`. For additional information, see the [AWS Organizations User Guide](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html).
	AwsServiceAccessPrincipals pulumi.StringArrayInput
	// List of Organizations policy types to enable in the Organization Root. Organization must have `featureSet` set to `ALL`. For additional information about valid policy types (e.g. `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY`, and `TAG_POLICY`), see the [AWS Organizations API Reference](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnablePolicyType.html).
	EnabledPolicyTypes pulumi.StringArrayInput
	// Specify "ALL" (default) or "CONSOLIDATED_BILLING".
	FeatureSet pulumi.StringPtrInput
}

The set of arguments for constructing a Organization resource.

func (OrganizationArgs) ElementType

func (OrganizationArgs) ElementType() reflect.Type

type OrganizationArray

type OrganizationArray []OrganizationInput

func (OrganizationArray) ElementType

func (OrganizationArray) ElementType() reflect.Type

func (OrganizationArray) ToOrganizationArrayOutput

func (i OrganizationArray) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArray) ToOrganizationArrayOutputWithContext

func (i OrganizationArray) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationArrayInput

type OrganizationArrayInput interface {
	pulumi.Input

	ToOrganizationArrayOutput() OrganizationArrayOutput
	ToOrganizationArrayOutputWithContext(context.Context) OrganizationArrayOutput
}

OrganizationArrayInput is an input type that accepts OrganizationArray and OrganizationArrayOutput values. You can construct a concrete instance of `OrganizationArrayInput` via:

OrganizationArray{ OrganizationArgs{...} }

type OrganizationArrayOutput

type OrganizationArrayOutput struct{ *pulumi.OutputState }

func (OrganizationArrayOutput) ElementType

func (OrganizationArrayOutput) ElementType() reflect.Type

func (OrganizationArrayOutput) Index

func (OrganizationArrayOutput) ToOrganizationArrayOutput

func (o OrganizationArrayOutput) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArrayOutput) ToOrganizationArrayOutputWithContext

func (o OrganizationArrayOutput) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationInput

type OrganizationInput interface {
	pulumi.Input

	ToOrganizationOutput() OrganizationOutput
	ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput
}

type OrganizationMap

type OrganizationMap map[string]OrganizationInput

func (OrganizationMap) ElementType

func (OrganizationMap) ElementType() reflect.Type

func (OrganizationMap) ToOrganizationMapOutput

func (i OrganizationMap) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMap) ToOrganizationMapOutputWithContext

func (i OrganizationMap) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationMapInput

type OrganizationMapInput interface {
	pulumi.Input

	ToOrganizationMapOutput() OrganizationMapOutput
	ToOrganizationMapOutputWithContext(context.Context) OrganizationMapOutput
}

OrganizationMapInput is an input type that accepts OrganizationMap and OrganizationMapOutput values. You can construct a concrete instance of `OrganizationMapInput` via:

OrganizationMap{ "key": OrganizationArgs{...} }

type OrganizationMapOutput

type OrganizationMapOutput struct{ *pulumi.OutputState }

func (OrganizationMapOutput) ElementType

func (OrganizationMapOutput) ElementType() reflect.Type

func (OrganizationMapOutput) MapIndex

func (OrganizationMapOutput) ToOrganizationMapOutput

func (o OrganizationMapOutput) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMapOutput) ToOrganizationMapOutputWithContext

func (o OrganizationMapOutput) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationNonMasterAccount

type OrganizationNonMasterAccount struct {
	// ARN of the root
	Arn *string `pulumi:"arn"`
	// Email of the account
	Email *string `pulumi:"email"`
	// Identifier of the root
	Id *string `pulumi:"id"`
	// The name of the policy type
	Name *string `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status *string `pulumi:"status"`
}

type OrganizationNonMasterAccountArgs

type OrganizationNonMasterAccountArgs struct {
	// ARN of the root
	Arn pulumi.StringPtrInput `pulumi:"arn"`
	// Email of the account
	Email pulumi.StringPtrInput `pulumi:"email"`
	// Identifier of the root
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (OrganizationNonMasterAccountArgs) ElementType

func (OrganizationNonMasterAccountArgs) ToOrganizationNonMasterAccountOutput

func (i OrganizationNonMasterAccountArgs) ToOrganizationNonMasterAccountOutput() OrganizationNonMasterAccountOutput

func (OrganizationNonMasterAccountArgs) ToOrganizationNonMasterAccountOutputWithContext

func (i OrganizationNonMasterAccountArgs) ToOrganizationNonMasterAccountOutputWithContext(ctx context.Context) OrganizationNonMasterAccountOutput

type OrganizationNonMasterAccountArray

type OrganizationNonMasterAccountArray []OrganizationNonMasterAccountInput

func (OrganizationNonMasterAccountArray) ElementType

func (OrganizationNonMasterAccountArray) ToOrganizationNonMasterAccountArrayOutput

func (i OrganizationNonMasterAccountArray) ToOrganizationNonMasterAccountArrayOutput() OrganizationNonMasterAccountArrayOutput

func (OrganizationNonMasterAccountArray) ToOrganizationNonMasterAccountArrayOutputWithContext

func (i OrganizationNonMasterAccountArray) ToOrganizationNonMasterAccountArrayOutputWithContext(ctx context.Context) OrganizationNonMasterAccountArrayOutput

type OrganizationNonMasterAccountArrayInput

type OrganizationNonMasterAccountArrayInput interface {
	pulumi.Input

	ToOrganizationNonMasterAccountArrayOutput() OrganizationNonMasterAccountArrayOutput
	ToOrganizationNonMasterAccountArrayOutputWithContext(context.Context) OrganizationNonMasterAccountArrayOutput
}

OrganizationNonMasterAccountArrayInput is an input type that accepts OrganizationNonMasterAccountArray and OrganizationNonMasterAccountArrayOutput values. You can construct a concrete instance of `OrganizationNonMasterAccountArrayInput` via:

OrganizationNonMasterAccountArray{ OrganizationNonMasterAccountArgs{...} }

type OrganizationNonMasterAccountArrayOutput

type OrganizationNonMasterAccountArrayOutput struct{ *pulumi.OutputState }

func (OrganizationNonMasterAccountArrayOutput) ElementType

func (OrganizationNonMasterAccountArrayOutput) Index

func (OrganizationNonMasterAccountArrayOutput) ToOrganizationNonMasterAccountArrayOutput

func (o OrganizationNonMasterAccountArrayOutput) ToOrganizationNonMasterAccountArrayOutput() OrganizationNonMasterAccountArrayOutput

func (OrganizationNonMasterAccountArrayOutput) ToOrganizationNonMasterAccountArrayOutputWithContext

func (o OrganizationNonMasterAccountArrayOutput) ToOrganizationNonMasterAccountArrayOutputWithContext(ctx context.Context) OrganizationNonMasterAccountArrayOutput

type OrganizationNonMasterAccountInput

type OrganizationNonMasterAccountInput interface {
	pulumi.Input

	ToOrganizationNonMasterAccountOutput() OrganizationNonMasterAccountOutput
	ToOrganizationNonMasterAccountOutputWithContext(context.Context) OrganizationNonMasterAccountOutput
}

OrganizationNonMasterAccountInput is an input type that accepts OrganizationNonMasterAccountArgs and OrganizationNonMasterAccountOutput values. You can construct a concrete instance of `OrganizationNonMasterAccountInput` via:

OrganizationNonMasterAccountArgs{...}

type OrganizationNonMasterAccountOutput

type OrganizationNonMasterAccountOutput struct{ *pulumi.OutputState }

func (OrganizationNonMasterAccountOutput) Arn

ARN of the root

func (OrganizationNonMasterAccountOutput) ElementType

func (OrganizationNonMasterAccountOutput) Email

Email of the account

func (OrganizationNonMasterAccountOutput) Id

Identifier of the root

func (OrganizationNonMasterAccountOutput) Name

The name of the policy type

func (OrganizationNonMasterAccountOutput) Status

The status of the policy type as it relates to the associated root

func (OrganizationNonMasterAccountOutput) ToOrganizationNonMasterAccountOutput

func (o OrganizationNonMasterAccountOutput) ToOrganizationNonMasterAccountOutput() OrganizationNonMasterAccountOutput

func (OrganizationNonMasterAccountOutput) ToOrganizationNonMasterAccountOutputWithContext

func (o OrganizationNonMasterAccountOutput) ToOrganizationNonMasterAccountOutputWithContext(ctx context.Context) OrganizationNonMasterAccountOutput

type OrganizationOutput

type OrganizationOutput struct{ *pulumi.OutputState }

func (OrganizationOutput) ElementType

func (OrganizationOutput) ElementType() reflect.Type

func (OrganizationOutput) ToOrganizationOutput

func (o OrganizationOutput) ToOrganizationOutput() OrganizationOutput

func (OrganizationOutput) ToOrganizationOutputWithContext

func (o OrganizationOutput) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

func (OrganizationOutput) ToOrganizationPtrOutput

func (o OrganizationOutput) ToOrganizationPtrOutput() OrganizationPtrOutput

func (OrganizationOutput) ToOrganizationPtrOutputWithContext

func (o OrganizationOutput) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationPtrInput

type OrganizationPtrInput interface {
	pulumi.Input

	ToOrganizationPtrOutput() OrganizationPtrOutput
	ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput
}

type OrganizationPtrOutput

type OrganizationPtrOutput struct{ *pulumi.OutputState }

func (OrganizationPtrOutput) Elem added in v4.15.0

func (OrganizationPtrOutput) ElementType

func (OrganizationPtrOutput) ElementType() reflect.Type

func (OrganizationPtrOutput) ToOrganizationPtrOutput

func (o OrganizationPtrOutput) ToOrganizationPtrOutput() OrganizationPtrOutput

func (OrganizationPtrOutput) ToOrganizationPtrOutputWithContext

func (o OrganizationPtrOutput) ToOrganizationPtrOutputWithContext(ctx context.Context) OrganizationPtrOutput

type OrganizationRoot

type OrganizationRoot struct {
	// ARN of the root
	Arn *string `pulumi:"arn"`
	// Identifier of the root
	Id *string `pulumi:"id"`
	// The name of the policy type
	Name *string `pulumi:"name"`
	// List of policy types enabled for this root. All elements have these attributes:
	PolicyTypes []OrganizationRootPolicyType `pulumi:"policyTypes"`
}

type OrganizationRootArgs

type OrganizationRootArgs struct {
	// ARN of the root
	Arn pulumi.StringPtrInput `pulumi:"arn"`
	// Identifier of the root
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the policy type
	Name pulumi.StringPtrInput `pulumi:"name"`
	// List of policy types enabled for this root. All elements have these attributes:
	PolicyTypes OrganizationRootPolicyTypeArrayInput `pulumi:"policyTypes"`
}

func (OrganizationRootArgs) ElementType

func (OrganizationRootArgs) ElementType() reflect.Type

func (OrganizationRootArgs) ToOrganizationRootOutput

func (i OrganizationRootArgs) ToOrganizationRootOutput() OrganizationRootOutput

func (OrganizationRootArgs) ToOrganizationRootOutputWithContext

func (i OrganizationRootArgs) ToOrganizationRootOutputWithContext(ctx context.Context) OrganizationRootOutput

type OrganizationRootArray

type OrganizationRootArray []OrganizationRootInput

func (OrganizationRootArray) ElementType

func (OrganizationRootArray) ElementType() reflect.Type

func (OrganizationRootArray) ToOrganizationRootArrayOutput

func (i OrganizationRootArray) ToOrganizationRootArrayOutput() OrganizationRootArrayOutput

func (OrganizationRootArray) ToOrganizationRootArrayOutputWithContext

func (i OrganizationRootArray) ToOrganizationRootArrayOutputWithContext(ctx context.Context) OrganizationRootArrayOutput

type OrganizationRootArrayInput

type OrganizationRootArrayInput interface {
	pulumi.Input

	ToOrganizationRootArrayOutput() OrganizationRootArrayOutput
	ToOrganizationRootArrayOutputWithContext(context.Context) OrganizationRootArrayOutput
}

OrganizationRootArrayInput is an input type that accepts OrganizationRootArray and OrganizationRootArrayOutput values. You can construct a concrete instance of `OrganizationRootArrayInput` via:

OrganizationRootArray{ OrganizationRootArgs{...} }

type OrganizationRootArrayOutput

type OrganizationRootArrayOutput struct{ *pulumi.OutputState }

func (OrganizationRootArrayOutput) ElementType

func (OrganizationRootArrayOutput) Index

func (OrganizationRootArrayOutput) ToOrganizationRootArrayOutput

func (o OrganizationRootArrayOutput) ToOrganizationRootArrayOutput() OrganizationRootArrayOutput

func (OrganizationRootArrayOutput) ToOrganizationRootArrayOutputWithContext

func (o OrganizationRootArrayOutput) ToOrganizationRootArrayOutputWithContext(ctx context.Context) OrganizationRootArrayOutput

type OrganizationRootInput

type OrganizationRootInput interface {
	pulumi.Input

	ToOrganizationRootOutput() OrganizationRootOutput
	ToOrganizationRootOutputWithContext(context.Context) OrganizationRootOutput
}

OrganizationRootInput is an input type that accepts OrganizationRootArgs and OrganizationRootOutput values. You can construct a concrete instance of `OrganizationRootInput` via:

OrganizationRootArgs{...}

type OrganizationRootOutput

type OrganizationRootOutput struct{ *pulumi.OutputState }

func (OrganizationRootOutput) Arn

ARN of the root

func (OrganizationRootOutput) ElementType

func (OrganizationRootOutput) ElementType() reflect.Type

func (OrganizationRootOutput) Id

Identifier of the root

func (OrganizationRootOutput) Name

The name of the policy type

func (OrganizationRootOutput) PolicyTypes

List of policy types enabled for this root. All elements have these attributes:

func (OrganizationRootOutput) ToOrganizationRootOutput

func (o OrganizationRootOutput) ToOrganizationRootOutput() OrganizationRootOutput

func (OrganizationRootOutput) ToOrganizationRootOutputWithContext

func (o OrganizationRootOutput) ToOrganizationRootOutputWithContext(ctx context.Context) OrganizationRootOutput

type OrganizationRootPolicyType

type OrganizationRootPolicyType struct {
	// The status of the policy type as it relates to the associated root
	Status *string `pulumi:"status"`
	Type   *string `pulumi:"type"`
}

type OrganizationRootPolicyTypeArgs

type OrganizationRootPolicyTypeArgs struct {
	// The status of the policy type as it relates to the associated root
	Status pulumi.StringPtrInput `pulumi:"status"`
	Type   pulumi.StringPtrInput `pulumi:"type"`
}

func (OrganizationRootPolicyTypeArgs) ElementType

func (OrganizationRootPolicyTypeArgs) ToOrganizationRootPolicyTypeOutput

func (i OrganizationRootPolicyTypeArgs) ToOrganizationRootPolicyTypeOutput() OrganizationRootPolicyTypeOutput

func (OrganizationRootPolicyTypeArgs) ToOrganizationRootPolicyTypeOutputWithContext

func (i OrganizationRootPolicyTypeArgs) ToOrganizationRootPolicyTypeOutputWithContext(ctx context.Context) OrganizationRootPolicyTypeOutput

type OrganizationRootPolicyTypeArray

type OrganizationRootPolicyTypeArray []OrganizationRootPolicyTypeInput

func (OrganizationRootPolicyTypeArray) ElementType

func (OrganizationRootPolicyTypeArray) ToOrganizationRootPolicyTypeArrayOutput

func (i OrganizationRootPolicyTypeArray) ToOrganizationRootPolicyTypeArrayOutput() OrganizationRootPolicyTypeArrayOutput

func (OrganizationRootPolicyTypeArray) ToOrganizationRootPolicyTypeArrayOutputWithContext

func (i OrganizationRootPolicyTypeArray) ToOrganizationRootPolicyTypeArrayOutputWithContext(ctx context.Context) OrganizationRootPolicyTypeArrayOutput

type OrganizationRootPolicyTypeArrayInput

type OrganizationRootPolicyTypeArrayInput interface {
	pulumi.Input

	ToOrganizationRootPolicyTypeArrayOutput() OrganizationRootPolicyTypeArrayOutput
	ToOrganizationRootPolicyTypeArrayOutputWithContext(context.Context) OrganizationRootPolicyTypeArrayOutput
}

OrganizationRootPolicyTypeArrayInput is an input type that accepts OrganizationRootPolicyTypeArray and OrganizationRootPolicyTypeArrayOutput values. You can construct a concrete instance of `OrganizationRootPolicyTypeArrayInput` via:

OrganizationRootPolicyTypeArray{ OrganizationRootPolicyTypeArgs{...} }

type OrganizationRootPolicyTypeArrayOutput

type OrganizationRootPolicyTypeArrayOutput struct{ *pulumi.OutputState }

func (OrganizationRootPolicyTypeArrayOutput) ElementType

func (OrganizationRootPolicyTypeArrayOutput) Index

func (OrganizationRootPolicyTypeArrayOutput) ToOrganizationRootPolicyTypeArrayOutput

func (o OrganizationRootPolicyTypeArrayOutput) ToOrganizationRootPolicyTypeArrayOutput() OrganizationRootPolicyTypeArrayOutput

func (OrganizationRootPolicyTypeArrayOutput) ToOrganizationRootPolicyTypeArrayOutputWithContext

func (o OrganizationRootPolicyTypeArrayOutput) ToOrganizationRootPolicyTypeArrayOutputWithContext(ctx context.Context) OrganizationRootPolicyTypeArrayOutput

type OrganizationRootPolicyTypeInput

type OrganizationRootPolicyTypeInput interface {
	pulumi.Input

	ToOrganizationRootPolicyTypeOutput() OrganizationRootPolicyTypeOutput
	ToOrganizationRootPolicyTypeOutputWithContext(context.Context) OrganizationRootPolicyTypeOutput
}

OrganizationRootPolicyTypeInput is an input type that accepts OrganizationRootPolicyTypeArgs and OrganizationRootPolicyTypeOutput values. You can construct a concrete instance of `OrganizationRootPolicyTypeInput` via:

OrganizationRootPolicyTypeArgs{...}

type OrganizationRootPolicyTypeOutput

type OrganizationRootPolicyTypeOutput struct{ *pulumi.OutputState }

func (OrganizationRootPolicyTypeOutput) ElementType

func (OrganizationRootPolicyTypeOutput) Status

The status of the policy type as it relates to the associated root

func (OrganizationRootPolicyTypeOutput) ToOrganizationRootPolicyTypeOutput

func (o OrganizationRootPolicyTypeOutput) ToOrganizationRootPolicyTypeOutput() OrganizationRootPolicyTypeOutput

func (OrganizationRootPolicyTypeOutput) ToOrganizationRootPolicyTypeOutputWithContext

func (o OrganizationRootPolicyTypeOutput) ToOrganizationRootPolicyTypeOutputWithContext(ctx context.Context) OrganizationRootPolicyTypeOutput

func (OrganizationRootPolicyTypeOutput) Type

type OrganizationState

type OrganizationState struct {
	// List of organization accounts including the master account. For a list excluding the master account, see the `nonMasterAccounts` attribute. All elements have these attributes:
	Accounts OrganizationAccountArrayInput
	// ARN of the root
	Arn pulumi.StringPtrInput
	// 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 `featureSet` set to `ALL`. For additional information, see the [AWS Organizations User Guide](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html).
	AwsServiceAccessPrincipals pulumi.StringArrayInput
	// List of Organizations policy types to enable in the Organization Root. Organization must have `featureSet` set to `ALL`. For additional information about valid policy types (e.g. `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY`, and `TAG_POLICY`), see the [AWS Organizations API Reference](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnablePolicyType.html).
	EnabledPolicyTypes pulumi.StringArrayInput
	// Specify "ALL" (default) or "CONSOLIDATED_BILLING".
	FeatureSet pulumi.StringPtrInput
	// ARN of the master account
	MasterAccountArn pulumi.StringPtrInput
	// Email address of the master account
	MasterAccountEmail pulumi.StringPtrInput
	// Identifier of the master account
	MasterAccountId pulumi.StringPtrInput
	// List of organization accounts excluding the master account. For a list including the master account, see the `accounts` attribute. All elements have these attributes:
	NonMasterAccounts OrganizationNonMasterAccountArrayInput
	// List of organization roots. All elements have these attributes:
	Roots OrganizationRootArrayInput
}

func (OrganizationState) ElementType

func (OrganizationState) ElementType() reflect.Type

type OrganizationalUnit

type OrganizationalUnit struct {
	pulumi.CustomResourceState

	// List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes:
	Accounts OrganizationalUnitAccountArrayOutput `pulumi:"accounts"`
	// ARN of the organizational unit
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name for the organizational unit
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of the parent organizational unit, which may be the root
	ParentId pulumi.StringOutput `pulumi:"parentId"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to create an organizational unit.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewOrganizationalUnit(ctx, "example", &organizations.OrganizationalUnitArgs{
			ParentId: pulumi.Any(aws_organizations_organization.Example.Roots[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AWS Organizations Organizational Units can be imported by using the `id`, e.g.

```sh

$ pulumi import aws:organizations/organizationalUnit:OrganizationalUnit example ou-1234567

```

func GetOrganizationalUnit

func GetOrganizationalUnit(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationalUnitState, opts ...pulumi.ResourceOption) (*OrganizationalUnit, error)

GetOrganizationalUnit gets an existing OrganizationalUnit resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganizationalUnit

func NewOrganizationalUnit(ctx *pulumi.Context,
	name string, args *OrganizationalUnitArgs, opts ...pulumi.ResourceOption) (*OrganizationalUnit, error)

NewOrganizationalUnit registers a new resource with the given unique name, arguments, and options.

func (*OrganizationalUnit) ElementType

func (*OrganizationalUnit) ElementType() reflect.Type

func (*OrganizationalUnit) ToOrganizationalUnitOutput

func (i *OrganizationalUnit) ToOrganizationalUnitOutput() OrganizationalUnitOutput

func (*OrganizationalUnit) ToOrganizationalUnitOutputWithContext

func (i *OrganizationalUnit) ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput

func (*OrganizationalUnit) ToOrganizationalUnitPtrOutput

func (i *OrganizationalUnit) ToOrganizationalUnitPtrOutput() OrganizationalUnitPtrOutput

func (*OrganizationalUnit) ToOrganizationalUnitPtrOutputWithContext

func (i *OrganizationalUnit) ToOrganizationalUnitPtrOutputWithContext(ctx context.Context) OrganizationalUnitPtrOutput

type OrganizationalUnitAccount

type OrganizationalUnitAccount struct {
	// ARN of the organizational unit
	Arn *string `pulumi:"arn"`
	// Email of the account
	Email *string `pulumi:"email"`
	// Identifier of the organization unit
	Id *string `pulumi:"id"`
	// The name for the organizational unit
	Name *string `pulumi:"name"`
}

type OrganizationalUnitAccountArgs

type OrganizationalUnitAccountArgs struct {
	// ARN of the organizational unit
	Arn pulumi.StringPtrInput `pulumi:"arn"`
	// Email of the account
	Email pulumi.StringPtrInput `pulumi:"email"`
	// Identifier of the organization unit
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name for the organizational unit
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (OrganizationalUnitAccountArgs) ElementType

func (OrganizationalUnitAccountArgs) ToOrganizationalUnitAccountOutput

func (i OrganizationalUnitAccountArgs) ToOrganizationalUnitAccountOutput() OrganizationalUnitAccountOutput

func (OrganizationalUnitAccountArgs) ToOrganizationalUnitAccountOutputWithContext

func (i OrganizationalUnitAccountArgs) ToOrganizationalUnitAccountOutputWithContext(ctx context.Context) OrganizationalUnitAccountOutput

type OrganizationalUnitAccountArray

type OrganizationalUnitAccountArray []OrganizationalUnitAccountInput

func (OrganizationalUnitAccountArray) ElementType

func (OrganizationalUnitAccountArray) ToOrganizationalUnitAccountArrayOutput

func (i OrganizationalUnitAccountArray) ToOrganizationalUnitAccountArrayOutput() OrganizationalUnitAccountArrayOutput

func (OrganizationalUnitAccountArray) ToOrganizationalUnitAccountArrayOutputWithContext

func (i OrganizationalUnitAccountArray) ToOrganizationalUnitAccountArrayOutputWithContext(ctx context.Context) OrganizationalUnitAccountArrayOutput

type OrganizationalUnitAccountArrayInput

type OrganizationalUnitAccountArrayInput interface {
	pulumi.Input

	ToOrganizationalUnitAccountArrayOutput() OrganizationalUnitAccountArrayOutput
	ToOrganizationalUnitAccountArrayOutputWithContext(context.Context) OrganizationalUnitAccountArrayOutput
}

OrganizationalUnitAccountArrayInput is an input type that accepts OrganizationalUnitAccountArray and OrganizationalUnitAccountArrayOutput values. You can construct a concrete instance of `OrganizationalUnitAccountArrayInput` via:

OrganizationalUnitAccountArray{ OrganizationalUnitAccountArgs{...} }

type OrganizationalUnitAccountArrayOutput

type OrganizationalUnitAccountArrayOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitAccountArrayOutput) ElementType

func (OrganizationalUnitAccountArrayOutput) Index

func (OrganizationalUnitAccountArrayOutput) ToOrganizationalUnitAccountArrayOutput

func (o OrganizationalUnitAccountArrayOutput) ToOrganizationalUnitAccountArrayOutput() OrganizationalUnitAccountArrayOutput

func (OrganizationalUnitAccountArrayOutput) ToOrganizationalUnitAccountArrayOutputWithContext

func (o OrganizationalUnitAccountArrayOutput) ToOrganizationalUnitAccountArrayOutputWithContext(ctx context.Context) OrganizationalUnitAccountArrayOutput

type OrganizationalUnitAccountInput

type OrganizationalUnitAccountInput interface {
	pulumi.Input

	ToOrganizationalUnitAccountOutput() OrganizationalUnitAccountOutput
	ToOrganizationalUnitAccountOutputWithContext(context.Context) OrganizationalUnitAccountOutput
}

OrganizationalUnitAccountInput is an input type that accepts OrganizationalUnitAccountArgs and OrganizationalUnitAccountOutput values. You can construct a concrete instance of `OrganizationalUnitAccountInput` via:

OrganizationalUnitAccountArgs{...}

type OrganizationalUnitAccountOutput

type OrganizationalUnitAccountOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitAccountOutput) Arn

ARN of the organizational unit

func (OrganizationalUnitAccountOutput) ElementType

func (OrganizationalUnitAccountOutput) Email

Email of the account

func (OrganizationalUnitAccountOutput) Id

Identifier of the organization unit

func (OrganizationalUnitAccountOutput) Name

The name for the organizational unit

func (OrganizationalUnitAccountOutput) ToOrganizationalUnitAccountOutput

func (o OrganizationalUnitAccountOutput) ToOrganizationalUnitAccountOutput() OrganizationalUnitAccountOutput

func (OrganizationalUnitAccountOutput) ToOrganizationalUnitAccountOutputWithContext

func (o OrganizationalUnitAccountOutput) ToOrganizationalUnitAccountOutputWithContext(ctx context.Context) OrganizationalUnitAccountOutput

type OrganizationalUnitArgs

type OrganizationalUnitArgs struct {
	// The name for the organizational unit
	Name pulumi.StringPtrInput
	// ID of the parent organizational unit, which may be the root
	ParentId pulumi.StringInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a OrganizationalUnit resource.

func (OrganizationalUnitArgs) ElementType

func (OrganizationalUnitArgs) ElementType() reflect.Type

type OrganizationalUnitArray

type OrganizationalUnitArray []OrganizationalUnitInput

func (OrganizationalUnitArray) ElementType

func (OrganizationalUnitArray) ElementType() reflect.Type

func (OrganizationalUnitArray) ToOrganizationalUnitArrayOutput

func (i OrganizationalUnitArray) ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput

func (OrganizationalUnitArray) ToOrganizationalUnitArrayOutputWithContext

func (i OrganizationalUnitArray) ToOrganizationalUnitArrayOutputWithContext(ctx context.Context) OrganizationalUnitArrayOutput

type OrganizationalUnitArrayInput

type OrganizationalUnitArrayInput interface {
	pulumi.Input

	ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput
	ToOrganizationalUnitArrayOutputWithContext(context.Context) OrganizationalUnitArrayOutput
}

OrganizationalUnitArrayInput is an input type that accepts OrganizationalUnitArray and OrganizationalUnitArrayOutput values. You can construct a concrete instance of `OrganizationalUnitArrayInput` via:

OrganizationalUnitArray{ OrganizationalUnitArgs{...} }

type OrganizationalUnitArrayOutput

type OrganizationalUnitArrayOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitArrayOutput) ElementType

func (OrganizationalUnitArrayOutput) Index

func (OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutput

func (o OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutput() OrganizationalUnitArrayOutput

func (OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutputWithContext

func (o OrganizationalUnitArrayOutput) ToOrganizationalUnitArrayOutputWithContext(ctx context.Context) OrganizationalUnitArrayOutput

type OrganizationalUnitInput

type OrganizationalUnitInput interface {
	pulumi.Input

	ToOrganizationalUnitOutput() OrganizationalUnitOutput
	ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput
}

type OrganizationalUnitMap

type OrganizationalUnitMap map[string]OrganizationalUnitInput

func (OrganizationalUnitMap) ElementType

func (OrganizationalUnitMap) ElementType() reflect.Type

func (OrganizationalUnitMap) ToOrganizationalUnitMapOutput

func (i OrganizationalUnitMap) ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput

func (OrganizationalUnitMap) ToOrganizationalUnitMapOutputWithContext

func (i OrganizationalUnitMap) ToOrganizationalUnitMapOutputWithContext(ctx context.Context) OrganizationalUnitMapOutput

type OrganizationalUnitMapInput

type OrganizationalUnitMapInput interface {
	pulumi.Input

	ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput
	ToOrganizationalUnitMapOutputWithContext(context.Context) OrganizationalUnitMapOutput
}

OrganizationalUnitMapInput is an input type that accepts OrganizationalUnitMap and OrganizationalUnitMapOutput values. You can construct a concrete instance of `OrganizationalUnitMapInput` via:

OrganizationalUnitMap{ "key": OrganizationalUnitArgs{...} }

type OrganizationalUnitMapOutput

type OrganizationalUnitMapOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitMapOutput) ElementType

func (OrganizationalUnitMapOutput) MapIndex

func (OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutput

func (o OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutput() OrganizationalUnitMapOutput

func (OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutputWithContext

func (o OrganizationalUnitMapOutput) ToOrganizationalUnitMapOutputWithContext(ctx context.Context) OrganizationalUnitMapOutput

type OrganizationalUnitOutput

type OrganizationalUnitOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitOutput) ElementType

func (OrganizationalUnitOutput) ElementType() reflect.Type

func (OrganizationalUnitOutput) ToOrganizationalUnitOutput

func (o OrganizationalUnitOutput) ToOrganizationalUnitOutput() OrganizationalUnitOutput

func (OrganizationalUnitOutput) ToOrganizationalUnitOutputWithContext

func (o OrganizationalUnitOutput) ToOrganizationalUnitOutputWithContext(ctx context.Context) OrganizationalUnitOutput

func (OrganizationalUnitOutput) ToOrganizationalUnitPtrOutput

func (o OrganizationalUnitOutput) ToOrganizationalUnitPtrOutput() OrganizationalUnitPtrOutput

func (OrganizationalUnitOutput) ToOrganizationalUnitPtrOutputWithContext

func (o OrganizationalUnitOutput) ToOrganizationalUnitPtrOutputWithContext(ctx context.Context) OrganizationalUnitPtrOutput

type OrganizationalUnitPtrInput

type OrganizationalUnitPtrInput interface {
	pulumi.Input

	ToOrganizationalUnitPtrOutput() OrganizationalUnitPtrOutput
	ToOrganizationalUnitPtrOutputWithContext(ctx context.Context) OrganizationalUnitPtrOutput
}

type OrganizationalUnitPtrOutput

type OrganizationalUnitPtrOutput struct{ *pulumi.OutputState }

func (OrganizationalUnitPtrOutput) Elem added in v4.15.0

func (OrganizationalUnitPtrOutput) ElementType

func (OrganizationalUnitPtrOutput) ToOrganizationalUnitPtrOutput

func (o OrganizationalUnitPtrOutput) ToOrganizationalUnitPtrOutput() OrganizationalUnitPtrOutput

func (OrganizationalUnitPtrOutput) ToOrganizationalUnitPtrOutputWithContext

func (o OrganizationalUnitPtrOutput) ToOrganizationalUnitPtrOutputWithContext(ctx context.Context) OrganizationalUnitPtrOutput

type OrganizationalUnitState

type OrganizationalUnitState struct {
	// List of child accounts for this Organizational Unit. Does not return account information for child Organizational Units. All elements have these attributes:
	Accounts OrganizationalUnitAccountArrayInput
	// ARN of the organizational unit
	Arn pulumi.StringPtrInput
	// The name for the organizational unit
	Name pulumi.StringPtrInput
	// ID of the parent organizational unit, which may be the root
	ParentId pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (OrganizationalUnitState) ElementType

func (OrganizationalUnitState) ElementType() reflect.Type

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the policy.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The policy content to add to the new policy. For example, if you create a [service control policy (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see the [Service Control Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) and for more information on the Tag Policy syntax, see the [Tag Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_example-tag-policies.html).
	Content pulumi.StringOutput `pulumi:"content"`
	// A description to assign to the policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The friendly name to assign to the policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The type of policy to create. Valid values are `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY` (SCP), and `TAG_POLICY`. Defaults to `SERVICE_CONTROL_POLICY`.
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

Provides a resource to manage an [AWS Organizations policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewPolicy(ctx, "example", &organizations.PolicyArgs{
			Content: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": {\n", "    \"Effect\": \"Allow\",\n", "    \"Action\": \"*\",\n", "    \"Resource\": \"*\"\n", "  }\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_organizations_policy` can be imported by using the policy ID, e.g.

```sh

$ pulumi import aws:organizations/policy:Policy example p-12345678

```

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

NewPolicy registers a new resource with the given unique name, arguments, and options.

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

func (*Policy) ToPolicyPtrOutput

func (i *Policy) ToPolicyPtrOutput() PolicyPtrOutput

func (*Policy) ToPolicyPtrOutputWithContext

func (i *Policy) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyArgs

type PolicyArgs struct {
	// The policy content to add to the new policy. For example, if you create a [service control policy (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see the [Service Control Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) and for more information on the Tag Policy syntax, see the [Tag Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_example-tag-policies.html).
	Content pulumi.StringInput
	// A description to assign to the policy.
	Description pulumi.StringPtrInput
	// The friendly name to assign to the policy.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The type of policy to create. Valid values are `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY` (SCP), and `TAG_POLICY`. Defaults to `SERVICE_CONTROL_POLICY`.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray

type PolicyArray []PolicyInput

func (PolicyArray) ElementType

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index

func (PolicyArrayOutput) ToPolicyArrayOutput

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyAttachment

type PolicyAttachment struct {
	pulumi.CustomResourceState

	// The unique identifier (ID) of the policy that you want to attach to the target.
	PolicyId pulumi.StringOutput `pulumi:"policyId"`
	// The unique identifier (ID) of the root, organizational unit, or account number that you want to attach the policy to.
	TargetId pulumi.StringOutput `pulumi:"targetId"`
}

Provides a resource to attach an AWS Organizations policy to an organization account, root, or unit.

## Example Usage ### Organization Account

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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(aws_organizations_policy.Example.Id),
			TargetId: pulumi.String("123456789012"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Organization Root

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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(aws_organizations_policy.Example.Id),
			TargetId: pulumi.Any(aws_organizations_organization.Example.Roots[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Organization Unit

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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(aws_organizations_policy.Example.Id),
			TargetId: pulumi.Any(aws_organizations_organizational_unit.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_organizations_policy_attachment` can be imported by using the target ID and policy ID, e.g. with an account target

```sh

$ pulumi import aws:organizations/policyAttachment:PolicyAttachment account 123456789012:p-12345678

```

func GetPolicyAttachment

func GetPolicyAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyAttachmentState, opts ...pulumi.ResourceOption) (*PolicyAttachment, error)

GetPolicyAttachment gets an existing PolicyAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPolicyAttachment

func NewPolicyAttachment(ctx *pulumi.Context,
	name string, args *PolicyAttachmentArgs, opts ...pulumi.ResourceOption) (*PolicyAttachment, error)

NewPolicyAttachment registers a new resource with the given unique name, arguments, and options.

func (*PolicyAttachment) ElementType

func (*PolicyAttachment) ElementType() reflect.Type

func (*PolicyAttachment) ToPolicyAttachmentOutput

func (i *PolicyAttachment) ToPolicyAttachmentOutput() PolicyAttachmentOutput

func (*PolicyAttachment) ToPolicyAttachmentOutputWithContext

func (i *PolicyAttachment) ToPolicyAttachmentOutputWithContext(ctx context.Context) PolicyAttachmentOutput

func (*PolicyAttachment) ToPolicyAttachmentPtrOutput

func (i *PolicyAttachment) ToPolicyAttachmentPtrOutput() PolicyAttachmentPtrOutput

func (*PolicyAttachment) ToPolicyAttachmentPtrOutputWithContext

func (i *PolicyAttachment) ToPolicyAttachmentPtrOutputWithContext(ctx context.Context) PolicyAttachmentPtrOutput

type PolicyAttachmentArgs

type PolicyAttachmentArgs struct {
	// The unique identifier (ID) of the policy that you want to attach to the target.
	PolicyId pulumi.StringInput
	// The unique identifier (ID) of the root, organizational unit, or account number that you want to attach the policy to.
	TargetId pulumi.StringInput
}

The set of arguments for constructing a PolicyAttachment resource.

func (PolicyAttachmentArgs) ElementType

func (PolicyAttachmentArgs) ElementType() reflect.Type

type PolicyAttachmentArray

type PolicyAttachmentArray []PolicyAttachmentInput

func (PolicyAttachmentArray) ElementType

func (PolicyAttachmentArray) ElementType() reflect.Type

func (PolicyAttachmentArray) ToPolicyAttachmentArrayOutput

func (i PolicyAttachmentArray) ToPolicyAttachmentArrayOutput() PolicyAttachmentArrayOutput

func (PolicyAttachmentArray) ToPolicyAttachmentArrayOutputWithContext

func (i PolicyAttachmentArray) ToPolicyAttachmentArrayOutputWithContext(ctx context.Context) PolicyAttachmentArrayOutput

type PolicyAttachmentArrayInput

type PolicyAttachmentArrayInput interface {
	pulumi.Input

	ToPolicyAttachmentArrayOutput() PolicyAttachmentArrayOutput
	ToPolicyAttachmentArrayOutputWithContext(context.Context) PolicyAttachmentArrayOutput
}

PolicyAttachmentArrayInput is an input type that accepts PolicyAttachmentArray and PolicyAttachmentArrayOutput values. You can construct a concrete instance of `PolicyAttachmentArrayInput` via:

PolicyAttachmentArray{ PolicyAttachmentArgs{...} }

type PolicyAttachmentArrayOutput

type PolicyAttachmentArrayOutput struct{ *pulumi.OutputState }

func (PolicyAttachmentArrayOutput) ElementType

func (PolicyAttachmentArrayOutput) Index

func (PolicyAttachmentArrayOutput) ToPolicyAttachmentArrayOutput

func (o PolicyAttachmentArrayOutput) ToPolicyAttachmentArrayOutput() PolicyAttachmentArrayOutput

func (PolicyAttachmentArrayOutput) ToPolicyAttachmentArrayOutputWithContext

func (o PolicyAttachmentArrayOutput) ToPolicyAttachmentArrayOutputWithContext(ctx context.Context) PolicyAttachmentArrayOutput

type PolicyAttachmentInput

type PolicyAttachmentInput interface {
	pulumi.Input

	ToPolicyAttachmentOutput() PolicyAttachmentOutput
	ToPolicyAttachmentOutputWithContext(ctx context.Context) PolicyAttachmentOutput
}

type PolicyAttachmentMap

type PolicyAttachmentMap map[string]PolicyAttachmentInput

func (PolicyAttachmentMap) ElementType

func (PolicyAttachmentMap) ElementType() reflect.Type

func (PolicyAttachmentMap) ToPolicyAttachmentMapOutput

func (i PolicyAttachmentMap) ToPolicyAttachmentMapOutput() PolicyAttachmentMapOutput

func (PolicyAttachmentMap) ToPolicyAttachmentMapOutputWithContext

func (i PolicyAttachmentMap) ToPolicyAttachmentMapOutputWithContext(ctx context.Context) PolicyAttachmentMapOutput

type PolicyAttachmentMapInput

type PolicyAttachmentMapInput interface {
	pulumi.Input

	ToPolicyAttachmentMapOutput() PolicyAttachmentMapOutput
	ToPolicyAttachmentMapOutputWithContext(context.Context) PolicyAttachmentMapOutput
}

PolicyAttachmentMapInput is an input type that accepts PolicyAttachmentMap and PolicyAttachmentMapOutput values. You can construct a concrete instance of `PolicyAttachmentMapInput` via:

PolicyAttachmentMap{ "key": PolicyAttachmentArgs{...} }

type PolicyAttachmentMapOutput

type PolicyAttachmentMapOutput struct{ *pulumi.OutputState }

func (PolicyAttachmentMapOutput) ElementType

func (PolicyAttachmentMapOutput) ElementType() reflect.Type

func (PolicyAttachmentMapOutput) MapIndex

func (PolicyAttachmentMapOutput) ToPolicyAttachmentMapOutput

func (o PolicyAttachmentMapOutput) ToPolicyAttachmentMapOutput() PolicyAttachmentMapOutput

func (PolicyAttachmentMapOutput) ToPolicyAttachmentMapOutputWithContext

func (o PolicyAttachmentMapOutput) ToPolicyAttachmentMapOutputWithContext(ctx context.Context) PolicyAttachmentMapOutput

type PolicyAttachmentOutput

type PolicyAttachmentOutput struct{ *pulumi.OutputState }

func (PolicyAttachmentOutput) ElementType

func (PolicyAttachmentOutput) ElementType() reflect.Type

func (PolicyAttachmentOutput) ToPolicyAttachmentOutput

func (o PolicyAttachmentOutput) ToPolicyAttachmentOutput() PolicyAttachmentOutput

func (PolicyAttachmentOutput) ToPolicyAttachmentOutputWithContext

func (o PolicyAttachmentOutput) ToPolicyAttachmentOutputWithContext(ctx context.Context) PolicyAttachmentOutput

func (PolicyAttachmentOutput) ToPolicyAttachmentPtrOutput

func (o PolicyAttachmentOutput) ToPolicyAttachmentPtrOutput() PolicyAttachmentPtrOutput

func (PolicyAttachmentOutput) ToPolicyAttachmentPtrOutputWithContext

func (o PolicyAttachmentOutput) ToPolicyAttachmentPtrOutputWithContext(ctx context.Context) PolicyAttachmentPtrOutput

type PolicyAttachmentPtrInput

type PolicyAttachmentPtrInput interface {
	pulumi.Input

	ToPolicyAttachmentPtrOutput() PolicyAttachmentPtrOutput
	ToPolicyAttachmentPtrOutputWithContext(ctx context.Context) PolicyAttachmentPtrOutput
}

type PolicyAttachmentPtrOutput

type PolicyAttachmentPtrOutput struct{ *pulumi.OutputState }

func (PolicyAttachmentPtrOutput) Elem added in v4.15.0

func (PolicyAttachmentPtrOutput) ElementType

func (PolicyAttachmentPtrOutput) ElementType() reflect.Type

func (PolicyAttachmentPtrOutput) ToPolicyAttachmentPtrOutput

func (o PolicyAttachmentPtrOutput) ToPolicyAttachmentPtrOutput() PolicyAttachmentPtrOutput

func (PolicyAttachmentPtrOutput) ToPolicyAttachmentPtrOutputWithContext

func (o PolicyAttachmentPtrOutput) ToPolicyAttachmentPtrOutputWithContext(ctx context.Context) PolicyAttachmentPtrOutput

type PolicyAttachmentState

type PolicyAttachmentState struct {
	// The unique identifier (ID) of the policy that you want to attach to the target.
	PolicyId pulumi.StringPtrInput
	// The unique identifier (ID) of the root, organizational unit, or account number that you want to attach the policy to.
	TargetId pulumi.StringPtrInput
}

func (PolicyAttachmentState) ElementType

func (PolicyAttachmentState) ElementType() reflect.Type

type PolicyInput

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyMap

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex

func (PolicyMapOutput) ToPolicyMapOutput

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

func (PolicyOutput) ToPolicyPtrOutput

func (o PolicyOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyOutput) ToPolicyPtrOutputWithContext

func (o PolicyOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyPtrInput

type PolicyPtrInput interface {
	pulumi.Input

	ToPolicyPtrOutput() PolicyPtrOutput
	ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput
}

type PolicyPtrOutput

type PolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyPtrOutput) Elem added in v4.15.0

func (o PolicyPtrOutput) Elem() PolicyOutput

func (PolicyPtrOutput) ElementType

func (PolicyPtrOutput) ElementType() reflect.Type

func (PolicyPtrOutput) ToPolicyPtrOutput

func (o PolicyPtrOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyPtrOutput) ToPolicyPtrOutputWithContext

func (o PolicyPtrOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyState

type PolicyState struct {
	// Amazon Resource Name (ARN) of the policy.
	Arn pulumi.StringPtrInput
	// The policy content to add to the new policy. For example, if you create a [service control policy (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see the [Service Control Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) and for more information on the Tag Policy syntax, see the [Tag Policy Syntax documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_example-tag-policies.html).
	Content pulumi.StringPtrInput
	// A description to assign to the policy.
	Description pulumi.StringPtrInput
	// The friendly name to assign to the policy.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The type of policy to create. Valid values are `AISERVICES_OPT_OUT_POLICY`, `BACKUP_POLICY`, `SERVICE_CONTROL_POLICY` (SCP), and `TAG_POLICY`. Defaults to `SERVICE_CONTROL_POLICY`.
	Type pulumi.StringPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL