Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 1x 1x 1x | import * as cdk from "@aws-cdk/core";
import * as cr from "@aws-cdk/custom-resources";
import {Organizations} from 'aws-sdk';
export const listAccounts = (construct: cdk.Construct): Organizations.Accounts => {
const listAccounts = new cr.AwsCustomResource(construct,
"listAccounts",
{
onCreate: {
service: 'Organizations',
physicalResourceId: cr.PhysicalResourceId.of('listAccounts'),
action: 'listAccounts', // https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#listAccounts-property
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
},
onUpdate: {
service: 'Organizations',
physicalResourceId: cr.PhysicalResourceId.of('listAccounts'),
action: 'listAccounts', // https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#listAccounts-property
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
},
onDelete: {
service: 'Organizations',
physicalResourceId: cr.PhysicalResourceId.of('listAccounts'),
action: 'listAccounts', // https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Organizations.html#listAccounts-property
region: 'us-east-1', //AWS Organizations API are only available in us-east-1 for root actions
},
installLatestAwsSdk: false,
policy: cr.AwsCustomResourcePolicy.fromSdkCalls(
{
resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE
}
)
}
);
return Array.isArray(listAccounts.getResponseField('Accounts'))?JSON.parse(listAccounts.getResponseField('Accounts')):[];
} |