import { IPAMAdministratorProvider } from '@renovosolutions/cdk-library-aws-organization'
new IPAMAdministratorProvider(scope: Construct, id: string, props: IPAMAdministratorProviderProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.IPAMAdministratorProviderProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
provider* |
aws-cdk-lib.custom_resources.Provider |
No description. |
public readonly provider: Provider;The construct to create or update the delegated IPAM administrator for an organization.
This relies on the custom resource provider IPAMAdministratorProvider.
import { IPAMdministrator } from '@renovosolutions/cdk-library-aws-organization'
new IPAMdministrator(scope: Construct, id: string, props: IPAMAdministratorProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.IPAMAdministratorProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
resource* |
aws-cdk-lib.CustomResource |
No description. |
public readonly resource: CustomResource;The construct to create or update an Organization account.
This relies on the custom resource provider OrganizationAccountProvider.
import { OrganizationAccount } from '@renovosolutions/cdk-library-aws-organization'
new OrganizationAccount(scope: Construct, id: string, props: AccountResourceProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.AccountResourceProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
resource* |
aws-cdk-lib.CustomResource |
No description. |
public readonly resource: CustomResource;The provider for account custom resources.
This creates a lambda function that handles custom resource requests for creating/updating accounts.
import { OrganizationAccountProvider } from '@renovosolutions/cdk-library-aws-organization'
new OrganizationAccountProvider(scope: Construct, id: string, props: OrganizationOUProviderProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.OrganizationOUProviderProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
provider* |
aws-cdk-lib.custom_resources.Provider |
No description. |
public readonly provider: Provider;The construct to create or update an Organization OU.
This relies on the custom resource provider OrganizationOUProvider.
import { OrganizationOU } from '@renovosolutions/cdk-library-aws-organization'
new OrganizationOU(scope: Construct, id: string, props: OUResourceProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.OUResourceProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
resource* |
aws-cdk-lib.CustomResource |
No description. |
public readonly resource: CustomResource;The provider for OU custom resources.
This creates a lambda function that handles custom resource requests for creating/updating/deleting OUs.
import { OrganizationOUProvider } from '@renovosolutions/cdk-library-aws-organization'
new OrganizationOUProvider(scope: Construct, id: string, props: OrganizationOUProviderProps)| Name | Type | Description |
|---|---|---|
scope* |
constructs.Construct |
No description. |
id* |
string |
No description. |
props* |
@renovosolutions/cdk-library-aws-organization.OrganizationOUProviderProps |
No description. |
- Type:
constructs.Construct
- Type:
string
| Name | Type | Description |
|---|---|---|
provider* |
aws-cdk-lib.custom_resources.Provider |
No description. |
public readonly provider: Provider;The properties of an Account.
import { AccountProps } from '@renovosolutions/cdk-library-aws-organization'
const accountProps: AccountProps = { ... }| Name | Type | Description |
|---|---|---|
email* |
string |
The email address of the account. |
name* |
string |
The name of the account. |
allowMove |
boolean |
Whether or not to allow this account to be moved between OUs. |
disableDelete |
boolean |
Whether or not attempting to delete an account should raise an error. |
importOnDuplicate |
boolean |
Whether or not to import an existing account if the new account is a duplicate. |
public readonly email: string;- Type:
string
The email address of the account.
Most be unique.
public readonly name: string;- Type:
string
The name of the account.
public readonly allowMove: boolean;- Type:
boolean - Default: false
Whether or not to allow this account to be moved between OUs.
If importing is enabled this will also allow imported accounts to be moved.
public readonly disableDelete: boolean;- Type:
boolean - Default: false
Whether or not attempting to delete an account should raise an error.
Accounts cannot be deleted programmatically, but they can be removed as a managed resource. This property will allow you to control whether or not an error is thrown when the stack wants to delete an account (orphan it) or if it should continue silently.
https://aws.amazon.com/premiumsupport/knowledge-center/close-aws-account/
public readonly importOnDuplicate: boolean;- Type:
boolean - Default: false
Whether or not to import an existing account if the new account is a duplicate.
If this is false and the account already exists an error will be thrown.
The properties of an OrganizationAccount custom resource.
import { AccountResourceProps } from '@renovosolutions/cdk-library-aws-organization'
const accountResourceProps: AccountResourceProps = { ... }| Name | Type | Description |
|---|---|---|
email* |
string |
The email address of the account. |
name* |
string |
The name of the account. |
allowMove |
boolean |
Whether or not to allow this account to be moved between OUs. |
disableDelete |
boolean |
Whether or not attempting to delete an account should raise an error. |
importOnDuplicate |
boolean |
Whether or not to import an existing account if the new account is a duplicate. |
parent* |
string | @renovosolutions/cdk-library-aws-organization.OrganizationOU |
The parent OU id. |
provider* |
aws-cdk-lib.custom_resources.Provider |
The provider to use for the custom resource that will create the OU. |
public readonly email: string;- Type:
string
The email address of the account.
Most be unique.
public readonly name: string;- Type:
string
The name of the account.
public readonly allowMove: boolean;- Type:
boolean - Default: false
Whether or not to allow this account to be moved between OUs.
If importing is enabled this will also allow imported accounts to be moved.
public readonly disableDelete: boolean;- Type:
boolean - Default: false
Whether or not attempting to delete an account should raise an error.
Accounts cannot be deleted programmatically, but they can be removed as a managed resource. This property will allow you to control whether or not an error is thrown when the stack wants to delete an account (orphan it) or if it should continue silently.
https://aws.amazon.com/premiumsupport/knowledge-center/close-aws-account/
public readonly importOnDuplicate: boolean;- Type:
boolean - Default: false
Whether or not to import an existing account if the new account is a duplicate.
If this is false and the account already exists an error will be thrown.
public readonly parent: string | OrganizationOU;- Type:
string|@renovosolutions/cdk-library-aws-organization.OrganizationOU
The parent OU id.
public readonly provider: Provider;The provider to use for the custom resource that will create the OU.
You can create a provider with the OrganizationOuProvider class
The properties for the account custom resource provider.
import { OrganizationAccountProviderProps } from '@renovosolutions/cdk-library-aws-organization'
const organizationAccountProviderProps: OrganizationAccountProviderProps = { ... }| Name | Type | Description |
|---|---|---|
role |
aws-cdk-lib.aws_iam.IRole |
The role the custom resource should use for taking actions on OUs if one is not provided one will be created automatically. |
public readonly role: IRole;The role the custom resource should use for taking actions on OUs if one is not provided one will be created automatically.
The properties for the OU custom resource provider.
import { OrganizationOUProviderProps } from '@renovosolutions/cdk-library-aws-organization'
const organizationOUProviderProps: OrganizationOUProviderProps = { ... }| Name | Type | Description |
|---|---|---|
role |
aws-cdk-lib.aws_iam.IRole |
The role the custom resource should use for taking actions on OUs if one is not provided one will be created automatically. |
public readonly role: IRole;The role the custom resource should use for taking actions on OUs if one is not provided one will be created automatically.
The structure of an OrgObject.
import { OUObject } from '@renovosolutions/cdk-library-aws-organization'
const oUObject: OUObject = { ... }| Name | Type | Description |
|---|---|---|
children* |
@renovosolutions/cdk-library-aws-organization.OUObject[] |
OUs that are children of this OU. |
properties* |
@renovosolutions/cdk-library-aws-organization.OUProps |
The OU object properties. |
accounts |
@renovosolutions/cdk-library-aws-organization.AccountProps[] |
Accounts that belong to this OU. |
id |
string |
The unique id of the OUObject. |
public readonly children: OUObject[];OUs that are children of this OU.
public readonly properties: OUProps;The OU object properties.
public readonly accounts: AccountProps[];Accounts that belong to this OU.
public readonly id: string;- Type:
string
The unique id of the OUObject.
This is used as the unique identifier when instantiating a construct object. This is important for the CDK to be able to maintain a reference for the object when utilizing the processOUObj function rather then using the name property of an object which could change. If the id changes the CDK treats this as a new construct and will create a new construct resource and destroy the old one. Not strictly required but useful when using the processOUObj function. If the id is not provided the name property will be used as the id in processOUObj. You can create a unique id however you like. A bash example is provided.
The properties of an OU.
import { OUProps } from '@renovosolutions/cdk-library-aws-organization'
const oUProps: OUProps = { ... }| Name | Type | Description |
|---|---|---|
name* |
string |
The name of the OU. |
allowRecreateOnUpdate |
boolean |
Whether or not a missing OU should be recreated during an update. |
importOnDuplicate |
boolean |
Whether or not to import an existing OU if the new OU is a duplicate. |
public readonly name: string;- Type:
string
The name of the OU.
public readonly allowRecreateOnUpdate: boolean;- Type:
boolean - Default: false
Whether or not a missing OU should be recreated during an update.
If this is false and the OU does not exist an error will be thrown when you try to update it.
public readonly importOnDuplicate: boolean;- Type:
boolean - Default: false
Whether or not to import an existing OU if the new OU is a duplicate.
If this is false and the OU already exists an error will be thrown.
The properties of an OrganizationOU custom resource.
import { OUResourceProps } from '@renovosolutions/cdk-library-aws-organization'
const oUResourceProps: OUResourceProps = { ... }| Name | Type | Description |
|---|---|---|
name* |
string |
The name of the OU. |
allowRecreateOnUpdate |
boolean |
Whether or not a missing OU should be recreated during an update. |
importOnDuplicate |
boolean |
Whether or not to import an existing OU if the new OU is a duplicate. |
parent* |
string | @renovosolutions/cdk-library-aws-organization.OrganizationOU |
The parent OU id. |
provider* |
aws-cdk-lib.custom_resources.Provider |
The provider to use for the custom resource that will create the OU. |
public readonly name: string;- Type:
string
The name of the OU.
public readonly allowRecreateOnUpdate: boolean;- Type:
boolean - Default: false
Whether or not a missing OU should be recreated during an update.
If this is false and the OU does not exist an error will be thrown when you try to update it.
public readonly importOnDuplicate: boolean;- Type:
boolean - Default: false
Whether or not to import an existing OU if the new OU is a duplicate.
If this is false and the OU already exists an error will be thrown.
public readonly parent: string | OrganizationOU;- Type:
string|@renovosolutions/cdk-library-aws-organization.OrganizationOU
The parent OU id.
public readonly provider: Provider;The provider to use for the custom resource that will create the OU.
You can create a provider with the OrganizationOuProvider class
The properties of an OrganizationAccount custom resource.
| Name | Type | Description |
|---|---|---|
delegatedAdminAccountId* |
string |
The account id of the IPAM administrator. |
provider* |
aws-cdk-lib.custom_resources.Provider |
The provider to use for the custom resource that will handle IPAM admin delegation. |
public readonly delegatedAdminAccountId: string;- Type:
string
The account id of the IPAM administrator.
public readonly provider: Provider;The provider to use for the custom resource that will handle IPAM admin delegation.
You can create a provider with the IPAMAdministratorProvider class
The properties of an IPAM administrator custom resource provider.
| Name | Type | Description |
|---|---|---|
role |
aws-cdk-lib.aws_iam.IRole |
The role the custom resource should use for working with the IPAM administrator delegation if one is not provided one will be created automatically. |
public readonly role: IRole;The role the custom resource should use for working with the IPAM administrator delegation if one is not provided one will be created automatically.