@fjall/components-infrastructure 0.37.0 → 0.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/app.js +9 -4
- package/dist/lib/patterns/aws/ec2.d.ts +43 -0
- package/dist/lib/patterns/aws/ec2.js +123 -0
- package/dist/lib/utils/getCidr.d.ts +8 -0
- package/dist/lib/utils/getCidr.js +40 -0
- package/package.json +3 -3
- package/dist/lib/__tests__/patterns/__snapshots__/compute.test.js.snap +0 -433
- package/dist/lib/__tests__/patterns/compute.test.d.ts +0 -1
- package/dist/lib/__tests__/patterns/compute.test.js +0 -137
- package/dist/lib/__tests__/simple.test.d.ts +0 -0
- package/dist/lib/__tests__/simple.test.js +0 -12
- package/dist/lib/resources/aws/organisations/account.d.ts +0 -37
- package/dist/lib/resources/aws/organisations/account.js +0 -220
- package/dist/lib/resources/aws/organisations/delegatedAdministrator.d.ts +0 -14
- package/dist/lib/resources/aws/organisations/delegatedAdministrator.js +0 -61
- package/dist/lib/resources/aws/organisations/index.d.ts +0 -8
- package/dist/lib/resources/aws/organisations/index.js +0 -22
- package/dist/lib/resources/aws/organisations/interfaces.d.ts +0 -105
- package/dist/lib/resources/aws/organisations/interfaces.js +0 -3
- package/dist/lib/resources/aws/organisations/organisation.d.ts +0 -47
- package/dist/lib/resources/aws/organisations/organisation.js +0 -263
- package/dist/lib/resources/aws/organisations/organisationalUnit.d.ts +0 -28
- package/dist/lib/resources/aws/organisations/organisationalUnit.js +0 -170
- package/dist/lib/resources/aws/organisations/policy.d.ts +0 -17
- package/dist/lib/resources/aws/organisations/policy.js +0 -93
- package/dist/lib/resources/aws/organisations/trustedServiceAccess.d.ts +0 -13
- package/dist/lib/resources/aws/organisations/trustedServiceAccess.js +0 -58
- package/dist/lib/resources/aws/organisations/types.d.ts +0 -165
- package/dist/lib/resources/aws/organisations/types.js +0 -36
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Policy = void 0;
|
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
-
const customResources = require("aws-cdk-lib/custom-resources");
|
|
6
|
-
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
7
|
-
const constructs_1 = require("constructs");
|
|
8
|
-
const awsCustomResource_1 = require("../utilities/awsCustomResource");
|
|
9
|
-
/**
|
|
10
|
-
* AWS Organisations Policy construct for managing policies
|
|
11
|
-
*/
|
|
12
|
-
class Policy extends constructs_1.Construct {
|
|
13
|
-
constructor(scope, id, props) {
|
|
14
|
-
super(scope, id);
|
|
15
|
-
this.policyName = props.policyName;
|
|
16
|
-
this.policyType = props.policyType;
|
|
17
|
-
const importOnDuplicate = props.importOnDuplicate ?? true;
|
|
18
|
-
// Create policy
|
|
19
|
-
const policyResource = new awsCustomResource_1.AwsCustomResource(this, "PolicyResource", {
|
|
20
|
-
functionName: `managePolicy${this.normalizePolicyName(props.policyName)}`,
|
|
21
|
-
onCreate: {
|
|
22
|
-
service: "organizations",
|
|
23
|
-
action: "CreatePolicyCommand",
|
|
24
|
-
parameters: {
|
|
25
|
-
Name: props.policyName,
|
|
26
|
-
Description: props.description,
|
|
27
|
-
Content: props.content,
|
|
28
|
-
Type: props.policyType
|
|
29
|
-
},
|
|
30
|
-
physicalResourceId: customResources.PhysicalResourceId.of(`policy-${props.policyName}-${props.policyType}`),
|
|
31
|
-
ignoreErrorCodesMatching: importOnDuplicate
|
|
32
|
-
? "DuplicatePolicyException"
|
|
33
|
-
: undefined
|
|
34
|
-
},
|
|
35
|
-
onUpdate: {
|
|
36
|
-
service: "organizations",
|
|
37
|
-
action: "UpdatePolicyCommand",
|
|
38
|
-
parameters: {
|
|
39
|
-
PolicyId: this.policyId,
|
|
40
|
-
Name: props.policyName,
|
|
41
|
-
Description: props.description,
|
|
42
|
-
Content: props.content
|
|
43
|
-
},
|
|
44
|
-
physicalResourceId: customResources.PhysicalResourceId.of(`policy-${props.policyName}-${props.policyType}`)
|
|
45
|
-
},
|
|
46
|
-
onDelete: {
|
|
47
|
-
service: "organizations",
|
|
48
|
-
action: "DeletePolicyCommand",
|
|
49
|
-
parameters: {
|
|
50
|
-
PolicyId: this.policyId
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
resourceType: "Custom::Policy",
|
|
54
|
-
policy: customResources.AwsCustomResourcePolicy.fromStatements([
|
|
55
|
-
new aws_iam_1.PolicyStatement({
|
|
56
|
-
actions: [
|
|
57
|
-
"organizations:CreatePolicy",
|
|
58
|
-
"organizations:UpdatePolicy",
|
|
59
|
-
"organizations:DeletePolicy",
|
|
60
|
-
"organizations:DescribePolicy",
|
|
61
|
-
"organizations:ListPolicies"
|
|
62
|
-
],
|
|
63
|
-
resources: ["*"],
|
|
64
|
-
effect: aws_iam_1.Effect.ALLOW
|
|
65
|
-
})
|
|
66
|
-
])
|
|
67
|
-
});
|
|
68
|
-
// Get policy details from the create operation
|
|
69
|
-
this.policyId = policyResource.getResponseField("Policy.PolicySummary.Id");
|
|
70
|
-
this.policyArn = policyResource.getResponseField("Policy.PolicySummary.Arn");
|
|
71
|
-
// Export policy details
|
|
72
|
-
new aws_cdk_lib_1.CfnOutput(this, "PolicyId", {
|
|
73
|
-
key: `${id}Id`,
|
|
74
|
-
value: this.policyId,
|
|
75
|
-
exportName: `${id}Id`
|
|
76
|
-
});
|
|
77
|
-
new aws_cdk_lib_1.CfnOutput(this, "PolicyArn", {
|
|
78
|
-
key: `${id}Arn`,
|
|
79
|
-
value: this.policyArn,
|
|
80
|
-
exportName: `${id}Arn`
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Helper to normalize policy names for construct IDs
|
|
85
|
-
*/
|
|
86
|
-
normalizePolicyName(policyName) {
|
|
87
|
-
return policyName
|
|
88
|
-
.replace(/[^a-zA-Z0-9]/g, "")
|
|
89
|
-
.replace(/^([a-z])/, (match) => match.toUpperCase());
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.Policy = Policy;
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3Mvb3JnYW5pc2F0aW9ucy9wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELGdFQUFnRTtBQUNoRSxpREFBOEQ7QUFDOUQsMkNBQXVDO0FBR3ZDLHNFQUFtRTtBQUVuRTs7R0FFRztBQUNILE1BQWEsTUFBTyxTQUFRLHNCQUFTO0lBTW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ25DLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQztRQUUxRCxnQkFBZ0I7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDbkUsWUFBWSxFQUFFLGVBQWUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6RSxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxxQkFBcUI7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7b0JBQ3RCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztvQkFDOUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29CQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7aUJBQ3ZCO2dCQUNELGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQ3ZELFVBQVUsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQ2pEO2dCQUNELHdCQUF3QixFQUFFLGlCQUFpQjtvQkFDekMsQ0FBQyxDQUFDLDBCQUEwQjtvQkFDNUIsQ0FBQyxDQUFDLFNBQVM7YUFDZDtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsTUFBTSxFQUFFLHFCQUFxQjtnQkFDN0IsVUFBVSxFQUFFO29CQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO29CQUN0QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztpQkFDdkI7Z0JBQ0Qsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FDdkQsVUFBVSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FDakQ7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsTUFBTSxFQUFFLHFCQUFxQjtnQkFDN0IsVUFBVSxFQUFFO29CQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtpQkFDeEI7YUFDRjtZQUNELFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIsTUFBTSxFQUFFLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUM7Z0JBQzdELElBQUkseUJBQWUsQ0FBQztvQkFDbEIsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDhCQUE4Qjt3QkFDOUIsNEJBQTRCO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ2hCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7aUJBQ3JCLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQzlDLDBCQUEwQixDQUMzQixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNwQixVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDL0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUIsQ0FBQyxVQUFrQjtRQUM1QyxPQUFPLFVBQVU7YUFDZCxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQzthQUM1QixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFoR0Qsd0JBZ0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjdXN0b21SZXNvdXJjZXMgZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJUG9saWN5IH0gZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgUG9saWN5UHJvcHMsIFBvbGljeVR5cGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQXdzQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2F3c0N1c3RvbVJlc291cmNlXCI7XG5cbi8qKlxuICogQVdTIE9yZ2FuaXNhdGlvbnMgUG9saWN5IGNvbnN0cnVjdCBmb3IgbWFuYWdpbmcgcG9saWNpZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFBvbGljeSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElQb2xpY3kge1xuICByZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xuICByZWFkb25seSBwb2xpY3lBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgcG9saWN5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwb2xpY3lUeXBlOiBQb2xpY3lUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnBvbGljeU5hbWUgPSBwcm9wcy5wb2xpY3lOYW1lO1xuICAgIHRoaXMucG9saWN5VHlwZSA9IHByb3BzLnBvbGljeVR5cGU7XG4gICAgY29uc3QgaW1wb3J0T25EdXBsaWNhdGUgPSBwcm9wcy5pbXBvcnRPbkR1cGxpY2F0ZSA/PyB0cnVlO1xuXG4gICAgLy8gQ3JlYXRlIHBvbGljeVxuICAgIGNvbnN0IHBvbGljeVJlc291cmNlID0gbmV3IEF3c0N1c3RvbVJlc291cmNlKHRoaXMsIFwiUG9saWN5UmVzb3VyY2VcIiwge1xuICAgICAgZnVuY3Rpb25OYW1lOiBgbWFuYWdlUG9saWN5JHt0aGlzLm5vcm1hbGl6ZVBvbGljeU5hbWUocHJvcHMucG9saWN5TmFtZSl9YCxcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwib3JnYW5pemF0aW9uc1wiLFxuICAgICAgICBhY3Rpb246IFwiQ3JlYXRlUG9saWN5Q29tbWFuZFwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgTmFtZTogcHJvcHMucG9saWN5TmFtZSxcbiAgICAgICAgICBEZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgQ29udGVudDogcHJvcHMuY29udGVudCxcbiAgICAgICAgICBUeXBlOiBwcm9wcy5wb2xpY3lUeXBlXG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3VzdG9tUmVzb3VyY2VzLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihcbiAgICAgICAgICBgcG9saWN5LSR7cHJvcHMucG9saWN5TmFtZX0tJHtwcm9wcy5wb2xpY3lUeXBlfWBcbiAgICAgICAgKSxcbiAgICAgICAgaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nOiBpbXBvcnRPbkR1cGxpY2F0ZVxuICAgICAgICAgID8gXCJEdXBsaWNhdGVQb2xpY3lFeGNlcHRpb25cIlxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJvcmdhbml6YXRpb25zXCIsXG4gICAgICAgIGFjdGlvbjogXCJVcGRhdGVQb2xpY3lDb21tYW5kXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBQb2xpY3lJZDogdGhpcy5wb2xpY3lJZCxcbiAgICAgICAgICBOYW1lOiBwcm9wcy5wb2xpY3lOYW1lLFxuICAgICAgICAgIERlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICBDb250ZW50OiBwcm9wcy5jb250ZW50XG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3VzdG9tUmVzb3VyY2VzLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihcbiAgICAgICAgICBgcG9saWN5LSR7cHJvcHMucG9saWN5TmFtZX0tJHtwcm9wcy5wb2xpY3lUeXBlfWBcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIG9uRGVsZXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwib3JnYW5pemF0aW9uc1wiLFxuICAgICAgICBhY3Rpb246IFwiRGVsZXRlUG9saWN5Q29tbWFuZFwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgUG9saWN5SWQ6IHRoaXMucG9saWN5SWRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206OlBvbGljeVwiLFxuICAgICAgcG9saWN5OiBjdXN0b21SZXNvdXJjZXMuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVN0YXRlbWVudHMoW1xuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6Q3JlYXRlUG9saWN5XCIsXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6VXBkYXRlUG9saWN5XCIsXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6RGVsZXRlUG9saWN5XCIsXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6RGVzY3JpYmVQb2xpY3lcIixcbiAgICAgICAgICAgIFwib3JnYW5pemF0aW9uczpMaXN0UG9saWNpZXNcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XXG4gICAgICAgIH0pXG4gICAgICBdKVxuICAgIH0pO1xuXG4gICAgLy8gR2V0IHBvbGljeSBkZXRhaWxzIGZyb20gdGhlIGNyZWF0ZSBvcGVyYXRpb25cbiAgICB0aGlzLnBvbGljeUlkID0gcG9saWN5UmVzb3VyY2UuZ2V0UmVzcG9uc2VGaWVsZChcIlBvbGljeS5Qb2xpY3lTdW1tYXJ5LklkXCIpO1xuICAgIHRoaXMucG9saWN5QXJuID0gcG9saWN5UmVzb3VyY2UuZ2V0UmVzcG9uc2VGaWVsZChcbiAgICAgIFwiUG9saWN5LlBvbGljeVN1bW1hcnkuQXJuXCJcbiAgICApO1xuXG4gICAgLy8gRXhwb3J0IHBvbGljeSBkZXRhaWxzXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlBvbGljeUlkXCIsIHtcbiAgICAgIGtleTogYCR7aWR9SWRgLFxuICAgICAgdmFsdWU6IHRoaXMucG9saWN5SWQsXG4gICAgICBleHBvcnROYW1lOiBgJHtpZH1JZGBcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJQb2xpY3lBcm5cIiwge1xuICAgICAga2V5OiBgJHtpZH1Bcm5gLFxuICAgICAgdmFsdWU6IHRoaXMucG9saWN5QXJuLFxuICAgICAgZXhwb3J0TmFtZTogYCR7aWR9QXJuYFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciB0byBub3JtYWxpemUgcG9saWN5IG5hbWVzIGZvciBjb25zdHJ1Y3QgSURzXG4gICAqL1xuICBwcml2YXRlIG5vcm1hbGl6ZVBvbGljeU5hbWUocG9saWN5TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcG9saWN5TmFtZVxuICAgICAgLnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL14oW2Etel0pLywgKG1hdGNoKSA9PiBtYXRjaC50b1VwcGVyQ2FzZSgpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { TrustedServiceAccessProps } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* AWS Organisations Trusted Service Access construct
|
|
5
|
-
*/
|
|
6
|
-
export declare class TrustedServiceAccess extends Construct {
|
|
7
|
-
readonly servicePrincipal: string;
|
|
8
|
-
constructor(scope: Construct, id: string, props: TrustedServiceAccessProps);
|
|
9
|
-
/**
|
|
10
|
-
* Helper to normalize service names for construct IDs
|
|
11
|
-
*/
|
|
12
|
-
private normalizeServiceName;
|
|
13
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrustedServiceAccess = void 0;
|
|
4
|
-
const customResources = require("aws-cdk-lib/custom-resources");
|
|
5
|
-
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
6
|
-
const constructs_1 = require("constructs");
|
|
7
|
-
const awsCustomResource_1 = require("../utilities/awsCustomResource");
|
|
8
|
-
/**
|
|
9
|
-
* AWS Organisations Trusted Service Access construct
|
|
10
|
-
*/
|
|
11
|
-
class TrustedServiceAccess extends constructs_1.Construct {
|
|
12
|
-
constructor(scope, id, props) {
|
|
13
|
-
super(scope, id);
|
|
14
|
-
this.servicePrincipal = props.servicePrincipal;
|
|
15
|
-
const serviceName = this.normalizeServiceName(props.servicePrincipal);
|
|
16
|
-
// Enable trusted service access
|
|
17
|
-
new awsCustomResource_1.AwsCustomResource(this, "TrustedServiceAccessResource", {
|
|
18
|
-
functionName: `enableTrustedService${serviceName}`,
|
|
19
|
-
onCreate: {
|
|
20
|
-
service: "organizations",
|
|
21
|
-
action: "EnableAWSServiceAccessCommand",
|
|
22
|
-
parameters: {
|
|
23
|
-
ServicePrincipal: props.servicePrincipal
|
|
24
|
-
},
|
|
25
|
-
physicalResourceId: customResources.PhysicalResourceId.of(`trusted-service-${props.servicePrincipal}`)
|
|
26
|
-
},
|
|
27
|
-
onDelete: {
|
|
28
|
-
service: "organizations",
|
|
29
|
-
action: "DisableAWSServiceAccessCommand",
|
|
30
|
-
parameters: {
|
|
31
|
-
ServicePrincipal: props.servicePrincipal
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
resourceType: "Custom::TrustedServiceAccess",
|
|
35
|
-
policy: customResources.AwsCustomResourcePolicy.fromStatements([
|
|
36
|
-
new aws_iam_1.PolicyStatement({
|
|
37
|
-
actions: [
|
|
38
|
-
"organizations:EnableAWSServiceAccess",
|
|
39
|
-
"organizations:DisableAWSServiceAccess",
|
|
40
|
-
"organizations:ListAWSServiceAccessForOrganization"
|
|
41
|
-
],
|
|
42
|
-
resources: ["*"],
|
|
43
|
-
effect: aws_iam_1.Effect.ALLOW
|
|
44
|
-
})
|
|
45
|
-
])
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Helper to normalize service names for construct IDs
|
|
50
|
-
*/
|
|
51
|
-
normalizeServiceName(servicePrincipal) {
|
|
52
|
-
return servicePrincipal
|
|
53
|
-
.replace(/[^a-zA-Z0-9]/g, "")
|
|
54
|
-
.replace(/^([a-z])/, (match) => match.toUpperCase());
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.TrustedServiceAccess = TrustedServiceAccess;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZFNlcnZpY2VBY2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9vcmdhbmlzYXRpb25zL3RydXN0ZWRTZXJ2aWNlQWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdFQUFnRTtBQUNoRSxpREFBOEQ7QUFDOUQsMkNBQXVDO0FBRXZDLHNFQUFtRTtBQUVuRTs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFHakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFL0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRFLGdDQUFnQztRQUNoQyxJQUFJLHFDQUFpQixDQUFDLElBQUksRUFBRSw4QkFBOEIsRUFBRTtZQUMxRCxZQUFZLEVBQUUsdUJBQXVCLFdBQVcsRUFBRTtZQUNsRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSwrQkFBK0I7Z0JBQ3ZDLFVBQVUsRUFBRTtvQkFDVixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2lCQUN6QztnQkFDRCxrQkFBa0IsRUFBRSxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUN2RCxtQkFBbUIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQzVDO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxnQ0FBZ0M7Z0JBQ3hDLFVBQVUsRUFBRTtvQkFDVixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2lCQUN6QzthQUNGO1lBQ0QsWUFBWSxFQUFFLDhCQUE4QjtZQUM1QyxNQUFNLEVBQUUsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDN0QsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixPQUFPLEVBQUU7d0JBQ1Asc0NBQXNDO3dCQUN0Qyx1Q0FBdUM7d0JBQ3ZDLG1EQUFtRDtxQkFDcEQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO29CQUNoQixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO2lCQUNyQixDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQixDQUFDLGdCQUF3QjtRQUNuRCxPQUFPLGdCQUFnQjthQUNwQixPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQzthQUM1QixPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFyREQsb0RBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3VzdG9tUmVzb3VyY2VzIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVHJ1c3RlZFNlcnZpY2VBY2Nlc3NQcm9wcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBBd3NDdXN0b21SZXNvdXJjZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXdzQ3VzdG9tUmVzb3VyY2VcIjtcblxuLyoqXG4gKiBBV1MgT3JnYW5pc2F0aW9ucyBUcnVzdGVkIFNlcnZpY2UgQWNjZXNzIGNvbnN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFNlcnZpY2VBY2Nlc3MgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBzZXJ2aWNlUHJpbmNpcGFsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRydXN0ZWRTZXJ2aWNlQWNjZXNzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5zZXJ2aWNlUHJpbmNpcGFsID0gcHJvcHMuc2VydmljZVByaW5jaXBhbDtcblxuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gdGhpcy5ub3JtYWxpemVTZXJ2aWNlTmFtZShwcm9wcy5zZXJ2aWNlUHJpbmNpcGFsKTtcblxuICAgIC8vIEVuYWJsZSB0cnVzdGVkIHNlcnZpY2UgYWNjZXNzXG4gICAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHRoaXMsIFwiVHJ1c3RlZFNlcnZpY2VBY2Nlc3NSZXNvdXJjZVwiLCB7XG4gICAgICBmdW5jdGlvbk5hbWU6IGBlbmFibGVUcnVzdGVkU2VydmljZSR7c2VydmljZU5hbWV9YCxcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwib3JnYW5pemF0aW9uc1wiLFxuICAgICAgICBhY3Rpb246IFwiRW5hYmxlQVdTU2VydmljZUFjY2Vzc0NvbW1hbmRcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIFNlcnZpY2VQcmluY2lwYWw6IHByb3BzLnNlcnZpY2VQcmluY2lwYWxcbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjdXN0b21SZXNvdXJjZXMuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFxuICAgICAgICAgIGB0cnVzdGVkLXNlcnZpY2UtJHtwcm9wcy5zZXJ2aWNlUHJpbmNpcGFsfWBcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIG9uRGVsZXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwib3JnYW5pemF0aW9uc1wiLFxuICAgICAgICBhY3Rpb246IFwiRGlzYWJsZUFXU1NlcnZpY2VBY2Nlc3NDb21tYW5kXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBTZXJ2aWNlUHJpbmNpcGFsOiBwcm9wcy5zZXJ2aWNlUHJpbmNpcGFsXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXNvdXJjZVR5cGU6IFwiQ3VzdG9tOjpUcnVzdGVkU2VydmljZUFjY2Vzc1wiLFxuICAgICAgcG9saWN5OiBjdXN0b21SZXNvdXJjZXMuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVN0YXRlbWVudHMoW1xuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6RW5hYmxlQVdTU2VydmljZUFjY2Vzc1wiLFxuICAgICAgICAgICAgXCJvcmdhbml6YXRpb25zOkRpc2FibGVBV1NTZXJ2aWNlQWNjZXNzXCIsXG4gICAgICAgICAgICBcIm9yZ2FuaXphdGlvbnM6TGlzdEFXU1NlcnZpY2VBY2Nlc3NGb3JPcmdhbml6YXRpb25cIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XXG4gICAgICAgIH0pXG4gICAgICBdKVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciB0byBub3JtYWxpemUgc2VydmljZSBuYW1lcyBmb3IgY29uc3RydWN0IElEc1xuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVTZXJ2aWNlTmFtZShzZXJ2aWNlUHJpbmNpcGFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2aWNlUHJpbmNpcGFsXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVowLTldL2csIFwiXCIpXG4gICAgICAucmVwbGFjZSgvXihbYS16XSkvLCAobWF0Y2gpID0+IG1hdGNoLnRvVXBwZXJDYXNlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { RemovalPolicy } from "aws-cdk-lib";
|
|
2
|
-
/**
|
|
3
|
-
* Feature set for AWS Organisations
|
|
4
|
-
*/
|
|
5
|
-
export declare enum FeatureSet {
|
|
6
|
-
/**
|
|
7
|
-
* Consolidated Billing features only
|
|
8
|
-
*/
|
|
9
|
-
CONSOLIDATED_BILLING = "CONSOLIDATED_BILLING",
|
|
10
|
-
/**
|
|
11
|
-
* All features including SCPs, delegated administrators, etc.
|
|
12
|
-
*/
|
|
13
|
-
ALL = "ALL"
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* AWS Organisations policy types
|
|
17
|
-
*/
|
|
18
|
-
export declare enum PolicyType {
|
|
19
|
-
SERVICE_CONTROL_POLICY = "SERVICE_CONTROL_POLICY",
|
|
20
|
-
TAG_POLICY = "TAG_POLICY",
|
|
21
|
-
BACKUP_POLICY = "BACKUP_POLICY",
|
|
22
|
-
AISERVICES_OPT_OUT_POLICY = "AISERVICES_OPT_OUT_POLICY"
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* IAM user access to billing information
|
|
26
|
-
*/
|
|
27
|
-
export declare enum IamUserAccessToBilling {
|
|
28
|
-
ALLOW = "ALLOW",
|
|
29
|
-
DENY = "DENY"
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Basic organisational unit interface for type references
|
|
33
|
-
*/
|
|
34
|
-
export interface IOrganisationalUnitBasic {
|
|
35
|
-
readonly organisationalUnitId: string;
|
|
36
|
-
readonly organisationalUnitArn: string;
|
|
37
|
-
readonly organisationalUnitName: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Properties for creating an Organisation
|
|
41
|
-
*/
|
|
42
|
-
export interface OrganisationProps {
|
|
43
|
-
/**
|
|
44
|
-
* Feature set for the organisation
|
|
45
|
-
* @default FeatureSet.ALL
|
|
46
|
-
*/
|
|
47
|
-
readonly featureSet?: FeatureSet;
|
|
48
|
-
/**
|
|
49
|
-
* Whether to import existing organisation if found
|
|
50
|
-
* @default true
|
|
51
|
-
*/
|
|
52
|
-
readonly importOnDuplicate?: boolean;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Properties for creating an Organisational Unit
|
|
56
|
-
*/
|
|
57
|
-
export interface OrganisationalUnitProps {
|
|
58
|
-
/**
|
|
59
|
-
* Name of the organisational unit
|
|
60
|
-
*/
|
|
61
|
-
readonly organisationalUnitName: string;
|
|
62
|
-
/**
|
|
63
|
-
* Parent organisation or organisational unit
|
|
64
|
-
*/
|
|
65
|
-
readonly parent: IOrganisationalUnitBasic;
|
|
66
|
-
/**
|
|
67
|
-
* Whether to import existing OU if found
|
|
68
|
-
* @default true
|
|
69
|
-
*/
|
|
70
|
-
readonly importOnDuplicate?: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Removal policy for this resource
|
|
73
|
-
* @default RemovalPolicy.RETAIN
|
|
74
|
-
*/
|
|
75
|
-
readonly removalPolicy?: RemovalPolicy;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Properties for creating an Account
|
|
79
|
-
*/
|
|
80
|
-
export interface AccountProps {
|
|
81
|
-
/**
|
|
82
|
-
* Name of the account
|
|
83
|
-
*/
|
|
84
|
-
readonly accountName: string;
|
|
85
|
-
/**
|
|
86
|
-
* Email address for the account
|
|
87
|
-
*/
|
|
88
|
-
readonly email: string;
|
|
89
|
-
/**
|
|
90
|
-
* Parent organisation or organisational unit
|
|
91
|
-
*/
|
|
92
|
-
readonly parent: IOrganisationalUnitBasic;
|
|
93
|
-
/**
|
|
94
|
-
* Whether to import existing account if found
|
|
95
|
-
* @default true
|
|
96
|
-
*/
|
|
97
|
-
readonly importOnDuplicate?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Removal policy for this resource
|
|
100
|
-
* @default RemovalPolicy.RETAIN
|
|
101
|
-
*/
|
|
102
|
-
readonly removalPolicy?: RemovalPolicy;
|
|
103
|
-
/**
|
|
104
|
-
* IAM user access to billing
|
|
105
|
-
* @default IamUserAccessToBilling.ALLOW
|
|
106
|
-
*/
|
|
107
|
-
readonly iamUserAccessToBilling?: IamUserAccessToBilling;
|
|
108
|
-
/**
|
|
109
|
-
* Cross-account role name for management access
|
|
110
|
-
* @default "OrganisationAccountAccessRole"
|
|
111
|
-
*/
|
|
112
|
-
readonly roleName?: string;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Properties for creating a Policy
|
|
116
|
-
*/
|
|
117
|
-
export interface PolicyProps {
|
|
118
|
-
/**
|
|
119
|
-
* Name of the policy
|
|
120
|
-
*/
|
|
121
|
-
readonly policyName: string;
|
|
122
|
-
/**
|
|
123
|
-
* Description of the policy
|
|
124
|
-
*/
|
|
125
|
-
readonly description: string;
|
|
126
|
-
/**
|
|
127
|
-
* Policy content as JSON string
|
|
128
|
-
*/
|
|
129
|
-
readonly content: string;
|
|
130
|
-
/**
|
|
131
|
-
* Type of policy
|
|
132
|
-
*/
|
|
133
|
-
readonly policyType: PolicyType;
|
|
134
|
-
/**
|
|
135
|
-
* Whether to import existing policy if found
|
|
136
|
-
* @default true
|
|
137
|
-
*/
|
|
138
|
-
readonly importOnDuplicate?: boolean;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Properties for delegated administrator
|
|
142
|
-
*/
|
|
143
|
-
export interface DelegatedAdministratorProps {
|
|
144
|
-
/**
|
|
145
|
-
* AWS service principal (e.g., "stacksets.amazonaws.com")
|
|
146
|
-
*/
|
|
147
|
-
readonly servicePrincipal: string;
|
|
148
|
-
/**
|
|
149
|
-
* Account ID to delegate administrator privileges to
|
|
150
|
-
*/
|
|
151
|
-
readonly accountId: string;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Properties for trusted service access
|
|
155
|
-
*/
|
|
156
|
-
export interface TrustedServiceAccessProps {
|
|
157
|
-
/**
|
|
158
|
-
* AWS service principal (e.g., "sso.amazonaws.com")
|
|
159
|
-
*/
|
|
160
|
-
readonly servicePrincipal: string;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Account configuration for multi-environment setups
|
|
164
|
-
*/
|
|
165
|
-
export type AccountsConfig = Record<string, string | string[]>;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IamUserAccessToBilling = exports.PolicyType = exports.FeatureSet = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Feature set for AWS Organisations
|
|
6
|
-
*/
|
|
7
|
-
var FeatureSet;
|
|
8
|
-
(function (FeatureSet) {
|
|
9
|
-
/**
|
|
10
|
-
* Consolidated Billing features only
|
|
11
|
-
*/
|
|
12
|
-
FeatureSet["CONSOLIDATED_BILLING"] = "CONSOLIDATED_BILLING";
|
|
13
|
-
/**
|
|
14
|
-
* All features including SCPs, delegated administrators, etc.
|
|
15
|
-
*/
|
|
16
|
-
FeatureSet["ALL"] = "ALL";
|
|
17
|
-
})(FeatureSet || (exports.FeatureSet = FeatureSet = {}));
|
|
18
|
-
/**
|
|
19
|
-
* AWS Organisations policy types
|
|
20
|
-
*/
|
|
21
|
-
var PolicyType;
|
|
22
|
-
(function (PolicyType) {
|
|
23
|
-
PolicyType["SERVICE_CONTROL_POLICY"] = "SERVICE_CONTROL_POLICY";
|
|
24
|
-
PolicyType["TAG_POLICY"] = "TAG_POLICY";
|
|
25
|
-
PolicyType["BACKUP_POLICY"] = "BACKUP_POLICY";
|
|
26
|
-
PolicyType["AISERVICES_OPT_OUT_POLICY"] = "AISERVICES_OPT_OUT_POLICY";
|
|
27
|
-
})(PolicyType || (exports.PolicyType = PolicyType = {}));
|
|
28
|
-
/**
|
|
29
|
-
* IAM user access to billing information
|
|
30
|
-
*/
|
|
31
|
-
var IamUserAccessToBilling;
|
|
32
|
-
(function (IamUserAccessToBilling) {
|
|
33
|
-
IamUserAccessToBilling["ALLOW"] = "ALLOW";
|
|
34
|
-
IamUserAccessToBilling["DENY"] = "DENY";
|
|
35
|
-
})(IamUserAccessToBilling || (exports.IamUserAccessToBilling = IamUserAccessToBilling = {}));
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9vcmdhbmlzYXRpb25zL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsSUFBWSxVQVVYO0FBVkQsV0FBWSxVQUFVO0lBQ3BCOztPQUVHO0lBQ0gsMkRBQTZDLENBQUE7SUFFN0M7O09BRUc7SUFDSCx5QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQVZXLFVBQVUsMEJBQVYsVUFBVSxRQVVyQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLCtEQUFpRCxDQUFBO0lBQ2pELHVDQUF5QixDQUFBO0lBQ3pCLDZDQUErQixDQUFBO0lBQy9CLHFFQUF1RCxDQUFBO0FBQ3pELENBQUMsRUFMVyxVQUFVLDBCQUFWLFVBQVUsUUFLckI7QUFFRDs7R0FFRztBQUNILElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUNoQyx5Q0FBZSxDQUFBO0lBQ2YsdUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxzQkFBc0Isc0NBQXRCLHNCQUFzQixRQUdqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBGZWF0dXJlIHNldCBmb3IgQVdTIE9yZ2FuaXNhdGlvbnNcbiAqL1xuZXhwb3J0IGVudW0gRmVhdHVyZVNldCB7XG4gIC8qKlxuICAgKiBDb25zb2xpZGF0ZWQgQmlsbGluZyBmZWF0dXJlcyBvbmx5XG4gICAqL1xuICBDT05TT0xJREFURURfQklMTElORyA9IFwiQ09OU09MSURBVEVEX0JJTExJTkdcIixcblxuICAvKipcbiAgICogQWxsIGZlYXR1cmVzIGluY2x1ZGluZyBTQ1BzLCBkZWxlZ2F0ZWQgYWRtaW5pc3RyYXRvcnMsIGV0Yy5cbiAgICovXG4gIEFMTCA9IFwiQUxMXCJcbn1cblxuLyoqXG4gKiBBV1MgT3JnYW5pc2F0aW9ucyBwb2xpY3kgdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gUG9saWN5VHlwZSB7XG4gIFNFUlZJQ0VfQ09OVFJPTF9QT0xJQ1kgPSBcIlNFUlZJQ0VfQ09OVFJPTF9QT0xJQ1lcIixcbiAgVEFHX1BPTElDWSA9IFwiVEFHX1BPTElDWVwiLFxuICBCQUNLVVBfUE9MSUNZID0gXCJCQUNLVVBfUE9MSUNZXCIsXG4gIEFJU0VSVklDRVNfT1BUX09VVF9QT0xJQ1kgPSBcIkFJU0VSVklDRVNfT1BUX09VVF9QT0xJQ1lcIlxufVxuXG4vKipcbiAqIElBTSB1c2VyIGFjY2VzcyB0byBiaWxsaW5nIGluZm9ybWF0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIElhbVVzZXJBY2Nlc3NUb0JpbGxpbmcge1xuICBBTExPVyA9IFwiQUxMT1dcIixcbiAgREVOWSA9IFwiREVOWVwiXG59XG5cbi8qKlxuICogQmFzaWMgb3JnYW5pc2F0aW9uYWwgdW5pdCBpbnRlcmZhY2UgZm9yIHR5cGUgcmVmZXJlbmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElPcmdhbmlzYXRpb25hbFVuaXRCYXNpYyB7XG4gIHJlYWRvbmx5IG9yZ2FuaXNhdGlvbmFsVW5pdElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9yZ2FuaXNhdGlvbmFsVW5pdEFybjogc3RyaW5nO1xuICByZWFkb25seSBvcmdhbmlzYXRpb25hbFVuaXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYW4gT3JnYW5pc2F0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pc2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogRmVhdHVyZSBzZXQgZm9yIHRoZSBvcmdhbmlzYXRpb25cbiAgICogQGRlZmF1bHQgRmVhdHVyZVNldC5BTExcbiAgICovXG4gIHJlYWRvbmx5IGZlYXR1cmVTZXQ/OiBGZWF0dXJlU2V0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGltcG9ydCBleGlzdGluZyBvcmdhbmlzYXRpb24gaWYgZm91bmRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0T25EdXBsaWNhdGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIE9yZ2FuaXNhdGlvbmFsIFVuaXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmdhbmlzYXRpb25hbFVuaXRQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBvcmdhbmlzYXRpb25hbCB1bml0XG4gICAqL1xuICByZWFkb25seSBvcmdhbmlzYXRpb25hbFVuaXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhcmVudCBvcmdhbmlzYXRpb24gb3Igb3JnYW5pc2F0aW9uYWwgdW5pdFxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50OiBJT3JnYW5pc2F0aW9uYWxVbml0QmFzaWM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW1wb3J0IGV4aXN0aW5nIE9VIGlmIGZvdW5kXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydE9uRHVwbGljYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVtb3ZhbCBwb2xpY3kgZm9yIHRoaXMgcmVzb3VyY2VcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SRVRBSU5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIEFjY291bnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50UHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYWNjb3VudFxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgYWRkcmVzcyBmb3IgdGhlIGFjY291bnRcbiAgICovXG4gIHJlYWRvbmx5IGVtYWlsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhcmVudCBvcmdhbmlzYXRpb24gb3Igb3JnYW5pc2F0aW9uYWwgdW5pdFxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50OiBJT3JnYW5pc2F0aW9uYWxVbml0QmFzaWM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW1wb3J0IGV4aXN0aW5nIGFjY291bnQgaWYgZm91bmRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0T25EdXBsaWNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZW1vdmFsIHBvbGljeSBmb3IgdGhpcyByZXNvdXJjZVxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIElBTSB1c2VyIGFjY2VzcyB0byBiaWxsaW5nXG4gICAqIEBkZWZhdWx0IElhbVVzZXJBY2Nlc3NUb0JpbGxpbmcuQUxMT1dcbiAgICovXG4gIHJlYWRvbmx5IGlhbVVzZXJBY2Nlc3NUb0JpbGxpbmc/OiBJYW1Vc2VyQWNjZXNzVG9CaWxsaW5nO1xuXG4gIC8qKlxuICAgKiBDcm9zcy1hY2NvdW50IHJvbGUgbmFtZSBmb3IgbWFuYWdlbWVudCBhY2Nlc3NcbiAgICogQGRlZmF1bHQgXCJPcmdhbmlzYXRpb25BY2NvdW50QWNjZXNzUm9sZVwiXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHBvbGljeVxuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgcG9saWN5XG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb2xpY3kgY29udGVudCBhcyBKU09OIHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHBvbGljeVxuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5VHlwZTogUG9saWN5VHlwZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbXBvcnQgZXhpc3RpbmcgcG9saWN5IGlmIGZvdW5kXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydE9uRHVwbGljYXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWxlZ2F0ZWQgYWRtaW5pc3RyYXRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGVnYXRlZEFkbWluaXN0cmF0b3JQcm9wcyB7XG4gIC8qKlxuICAgKiBBV1Mgc2VydmljZSBwcmluY2lwYWwgKGUuZy4sIFwic3RhY2tzZXRzLmFtYXpvbmF3cy5jb21cIilcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VQcmluY2lwYWw6IHN0cmluZztcblxuICAvKipcbiAgICogQWNjb3VudCBJRCB0byBkZWxlZ2F0ZSBhZG1pbmlzdHJhdG9yIHByaXZpbGVnZXMgdG9cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRydXN0ZWQgc2VydmljZSBhY2Nlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcnVzdGVkU2VydmljZUFjY2Vzc1Byb3BzIHtcbiAgLyoqXG4gICAqIEFXUyBzZXJ2aWNlIHByaW5jaXBhbCAoZS5nLiwgXCJzc28uYW1hem9uYXdzLmNvbVwiKVxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZVByaW5jaXBhbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFjY291bnQgY29uZmlndXJhdGlvbiBmb3IgbXVsdGktZW52aXJvbm1lbnQgc2V0dXBzXG4gKi9cbmV4cG9ydCB0eXBlIEFjY291bnRzQ29uZmlnID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuIl19
|