in source/aws-bootstrap-kit/lib/organizational-unit.ts [29:77]
constructor(scope: Construct, id: string, props: OrganizationalUnitProps) {
super(scope, id);
let ou = new cr.AwsCustomResource(this,
"OUCustomResource",
{
onCreate: {
service: 'Organizations',
action: 'createOrganizationalUnit', //@see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#createOrganizationalUnit-property
physicalResourceId: cr.PhysicalResourceId.fromResponse('OrganizationalUnit.Id'),
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
parameters:
{
Name: props.Name,
ParentId: props.ParentId
}
},
onUpdate: {
service: 'Organizations',
action: 'updateOrganizationalUnit', //@see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#updateOrganizationalUnit-property
physicalResourceId: cr.PhysicalResourceId.fromResponse('OrganizationalUnit.Id'),
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
parameters:
{
Name: props.Name,
OrganizationalUnitId: new cr.PhysicalResourceIdReference()
}
},
onDelete: {
service: 'Organizations',
action: 'deleteOrganizationalUnit', //@see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#deleteOrganizationalUnit-property
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
parameters:
{
OrganizationalUnitId: new cr.PhysicalResourceIdReference()
}
},
installLatestAwsSdk: false,
policy: cr.AwsCustomResourcePolicy.fromSdkCalls(
{
resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE
}
)
},
);
this.id = ou.getResponseField("OrganizationalUnit.Id");
}