constructor()

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");
    }