@jaypie/constructs 1.1.48 → 1.1.50
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/cjs/JaypieApiGateway.d.ts +1 -0
- package/dist/cjs/JaypieBucketQueuedLambda.d.ts +4 -19
- package/dist/cjs/JaypieDnsRecord.d.ts +45 -0
- package/dist/cjs/JaypieGitHubDeployRole.d.ts +15 -0
- package/dist/cjs/JaypieHostedZone.d.ts +26 -4
- package/dist/cjs/JaypieLambda.d.ts +1 -1
- package/dist/cjs/JaypieQueuedLambda.d.ts +1 -1
- package/dist/cjs/JaypieSsoPermissions.d.ts +95 -0
- package/dist/cjs/JaypieSsoSyncApplication.d.ts +27 -0
- package/dist/cjs/JaypieWebDeploymentBucket.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieSsoSyncApplication.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveDatadogForwarderFunction.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveDatadogLoggingDestination.spec.d.ts +1 -0
- package/dist/cjs/helpers/index.d.ts +2 -0
- package/dist/cjs/helpers/resolveDatadogForwarderFunction.d.ts +7 -0
- package/dist/cjs/helpers/resolveDatadogLoggingDestination.d.ts +4 -0
- package/dist/cjs/index.cjs +599 -308
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +6 -2
- package/dist/esm/JaypieApiGateway.d.ts +1 -0
- package/dist/esm/JaypieBucketQueuedLambda.d.ts +4 -19
- package/dist/esm/JaypieDnsRecord.d.ts +45 -0
- package/dist/esm/JaypieGitHubDeployRole.d.ts +15 -0
- package/dist/esm/JaypieHostedZone.d.ts +26 -4
- package/dist/esm/JaypieLambda.d.ts +1 -1
- package/dist/esm/JaypieQueuedLambda.d.ts +1 -1
- package/dist/esm/JaypieSsoPermissions.d.ts +95 -0
- package/dist/esm/JaypieSsoSyncApplication.d.ts +27 -0
- package/dist/esm/JaypieWebDeploymentBucket.d.ts +1 -0
- package/dist/esm/__tests__/JaypieDnsRecord.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieSsoPermissions.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieSsoSyncApplication.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveDatadogForwarderFunction.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveDatadogLoggingDestination.spec.d.ts +1 -0
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/resolveDatadogForwarderFunction.d.ts +7 -0
- package/dist/esm/helpers/resolveDatadogLoggingDestination.d.ts +4 -0
- package/dist/esm/index.d.ts +6 -2
- package/dist/esm/index.js +592 -309
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/cjs/JaypieSsoGroups.d.ts +0 -121
- package/dist/esm/JaypieSsoGroups.d.ts +0 -121
- /package/dist/cjs/__tests__/{JaypieSsoGroups.spec.d.ts → JaypieDnsRecord.spec.d.ts} +0 -0
- /package/dist/{esm/__tests__/JaypieSsoGroups.spec.d.ts → cjs/__tests__/JaypieSsoPermissions.spec.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaypie/constructs",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.50",
|
|
4
4
|
"description": "CDK constructs for Jaypie applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Finlayson Studio",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@jaypie/cdk": "^1.1.13",
|
|
30
|
+
"@jaypie/errors": "^1.1.5",
|
|
30
31
|
"aws-cdk-lib": "^2.216.0",
|
|
31
32
|
"constructs": "^10.4.2",
|
|
32
33
|
"datadog-cdk-constructs-v2": "^3.2.0"
|
|
@@ -47,5 +48,5 @@
|
|
|
47
48
|
"publishConfig": {
|
|
48
49
|
"access": "public"
|
|
49
50
|
},
|
|
50
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "bf576dceb3b91415c7556d3b0a0cdeb5ef8c766c"
|
|
51
52
|
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import * as sso from "aws-cdk-lib/aws-sso";
|
|
3
|
-
/**
|
|
4
|
-
* Account categories for SSO group assignments
|
|
5
|
-
*/
|
|
6
|
-
export interface JaypieSsoAccountMap {
|
|
7
|
-
development: string[];
|
|
8
|
-
management: string[];
|
|
9
|
-
operations: string[];
|
|
10
|
-
production: string[];
|
|
11
|
-
sandbox: string[];
|
|
12
|
-
security: string[];
|
|
13
|
-
stage: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Mapping of group types to Google Workspace group GUIDs
|
|
17
|
-
*/
|
|
18
|
-
export interface JaypieSsoGroupMap {
|
|
19
|
-
administrators: string;
|
|
20
|
-
analysts: string;
|
|
21
|
-
developers: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* IAM Policy Statement structure for inline policies
|
|
25
|
-
*/
|
|
26
|
-
export interface PolicyStatement {
|
|
27
|
-
Effect: "Allow" | "Deny";
|
|
28
|
-
Action: string[] | string;
|
|
29
|
-
Resource: string[] | string;
|
|
30
|
-
Condition?: Record<string, unknown>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Properties for the JaypieSsoGroups construct
|
|
34
|
-
*/
|
|
35
|
-
export interface JaypieSsoGroupsProps {
|
|
36
|
-
/**
|
|
37
|
-
* ARN of the IAM Identity Center instance
|
|
38
|
-
*/
|
|
39
|
-
instanceArn: string;
|
|
40
|
-
/**
|
|
41
|
-
* Mapping of account categories to AWS account IDs
|
|
42
|
-
*/
|
|
43
|
-
accountMap: JaypieSsoAccountMap;
|
|
44
|
-
/**
|
|
45
|
-
* Mapping of group types to Google Workspace group GUIDs
|
|
46
|
-
*/
|
|
47
|
-
groupMap: JaypieSsoGroupMap;
|
|
48
|
-
/**
|
|
49
|
-
* Additional inline policy statements to append to each group's permission set
|
|
50
|
-
* Each group can have its own set of policy statements that will be merged
|
|
51
|
-
* with the default policies.
|
|
52
|
-
*/
|
|
53
|
-
inlinePolicyStatements?: {
|
|
54
|
-
administrators?: PolicyStatement[];
|
|
55
|
-
analysts?: PolicyStatement[];
|
|
56
|
-
developers?: PolicyStatement[];
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Permission set types with corresponding AWS managed policies
|
|
61
|
-
*/
|
|
62
|
-
export declare enum PermissionSetType {
|
|
63
|
-
ADMINISTRATOR = "Administrator",
|
|
64
|
-
ANALYST = "Analyst",
|
|
65
|
-
DEVELOPER = "Developer"
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Construct to simplify AWS SSO group management.
|
|
69
|
-
* This construct encapsulates the complexity of creating permission sets
|
|
70
|
-
* and assigning them to groups across multiple AWS accounts.
|
|
71
|
-
*/
|
|
72
|
-
export declare class JaypieSsoGroups extends Construct {
|
|
73
|
-
private readonly permissionSets;
|
|
74
|
-
private readonly instanceArn;
|
|
75
|
-
private readonly props;
|
|
76
|
-
constructor(scope: Construct, id: string, props: JaypieSsoGroupsProps);
|
|
77
|
-
/**
|
|
78
|
-
* Creates the Administrator permission set with AdministratorAccess policy
|
|
79
|
-
* and billing access
|
|
80
|
-
*/
|
|
81
|
-
private createAdministratorPermissionSet;
|
|
82
|
-
/**
|
|
83
|
-
* Creates the Analyst permission set with ReadOnlyAccess policy
|
|
84
|
-
* and limited write access
|
|
85
|
-
*/
|
|
86
|
-
private createAnalystPermissionSet;
|
|
87
|
-
/**
|
|
88
|
-
* Creates the Developer permission set with SystemAdministrator policy
|
|
89
|
-
* and expanded write access
|
|
90
|
-
*/
|
|
91
|
-
private createDeveloperPermissionSet;
|
|
92
|
-
/**
|
|
93
|
-
* Gets the permission set for the specified type
|
|
94
|
-
*/
|
|
95
|
-
getPermissionSet(type: PermissionSetType): sso.CfnPermissionSet;
|
|
96
|
-
/**
|
|
97
|
-
* Merges default inline policies with additional user-provided policy statements
|
|
98
|
-
*
|
|
99
|
-
* @param defaultPolicy - The default policy object with Version and Statement properties
|
|
100
|
-
* @param additionalStatements - Optional additional policy statements to merge
|
|
101
|
-
* @returns The merged policy object
|
|
102
|
-
*/
|
|
103
|
-
private mergeInlinePolicies;
|
|
104
|
-
/**
|
|
105
|
-
* Creates assignments between permission sets, groups, and accounts
|
|
106
|
-
* based on the provided configuration
|
|
107
|
-
*/
|
|
108
|
-
private createPermissionSetAssignments;
|
|
109
|
-
/**
|
|
110
|
-
* Assigns Administrator permissions to appropriate accounts
|
|
111
|
-
*/
|
|
112
|
-
private assignAdministratorPermissions;
|
|
113
|
-
/**
|
|
114
|
-
* Assigns Analyst permissions to appropriate accounts
|
|
115
|
-
*/
|
|
116
|
-
private assignAnalystPermissions;
|
|
117
|
-
/**
|
|
118
|
-
* Assigns Developer permissions to appropriate accounts
|
|
119
|
-
*/
|
|
120
|
-
private assignDeveloperPermissions;
|
|
121
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import * as sso from "aws-cdk-lib/aws-sso";
|
|
3
|
-
/**
|
|
4
|
-
* Account categories for SSO group assignments
|
|
5
|
-
*/
|
|
6
|
-
export interface JaypieSsoAccountMap {
|
|
7
|
-
development: string[];
|
|
8
|
-
management: string[];
|
|
9
|
-
operations: string[];
|
|
10
|
-
production: string[];
|
|
11
|
-
sandbox: string[];
|
|
12
|
-
security: string[];
|
|
13
|
-
stage: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Mapping of group types to Google Workspace group GUIDs
|
|
17
|
-
*/
|
|
18
|
-
export interface JaypieSsoGroupMap {
|
|
19
|
-
administrators: string;
|
|
20
|
-
analysts: string;
|
|
21
|
-
developers: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* IAM Policy Statement structure for inline policies
|
|
25
|
-
*/
|
|
26
|
-
export interface PolicyStatement {
|
|
27
|
-
Effect: "Allow" | "Deny";
|
|
28
|
-
Action: string[] | string;
|
|
29
|
-
Resource: string[] | string;
|
|
30
|
-
Condition?: Record<string, unknown>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Properties for the JaypieSsoGroups construct
|
|
34
|
-
*/
|
|
35
|
-
export interface JaypieSsoGroupsProps {
|
|
36
|
-
/**
|
|
37
|
-
* ARN of the IAM Identity Center instance
|
|
38
|
-
*/
|
|
39
|
-
instanceArn: string;
|
|
40
|
-
/**
|
|
41
|
-
* Mapping of account categories to AWS account IDs
|
|
42
|
-
*/
|
|
43
|
-
accountMap: JaypieSsoAccountMap;
|
|
44
|
-
/**
|
|
45
|
-
* Mapping of group types to Google Workspace group GUIDs
|
|
46
|
-
*/
|
|
47
|
-
groupMap: JaypieSsoGroupMap;
|
|
48
|
-
/**
|
|
49
|
-
* Additional inline policy statements to append to each group's permission set
|
|
50
|
-
* Each group can have its own set of policy statements that will be merged
|
|
51
|
-
* with the default policies.
|
|
52
|
-
*/
|
|
53
|
-
inlinePolicyStatements?: {
|
|
54
|
-
administrators?: PolicyStatement[];
|
|
55
|
-
analysts?: PolicyStatement[];
|
|
56
|
-
developers?: PolicyStatement[];
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Permission set types with corresponding AWS managed policies
|
|
61
|
-
*/
|
|
62
|
-
export declare enum PermissionSetType {
|
|
63
|
-
ADMINISTRATOR = "Administrator",
|
|
64
|
-
ANALYST = "Analyst",
|
|
65
|
-
DEVELOPER = "Developer"
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Construct to simplify AWS SSO group management.
|
|
69
|
-
* This construct encapsulates the complexity of creating permission sets
|
|
70
|
-
* and assigning them to groups across multiple AWS accounts.
|
|
71
|
-
*/
|
|
72
|
-
export declare class JaypieSsoGroups extends Construct {
|
|
73
|
-
private readonly permissionSets;
|
|
74
|
-
private readonly instanceArn;
|
|
75
|
-
private readonly props;
|
|
76
|
-
constructor(scope: Construct, id: string, props: JaypieSsoGroupsProps);
|
|
77
|
-
/**
|
|
78
|
-
* Creates the Administrator permission set with AdministratorAccess policy
|
|
79
|
-
* and billing access
|
|
80
|
-
*/
|
|
81
|
-
private createAdministratorPermissionSet;
|
|
82
|
-
/**
|
|
83
|
-
* Creates the Analyst permission set with ReadOnlyAccess policy
|
|
84
|
-
* and limited write access
|
|
85
|
-
*/
|
|
86
|
-
private createAnalystPermissionSet;
|
|
87
|
-
/**
|
|
88
|
-
* Creates the Developer permission set with SystemAdministrator policy
|
|
89
|
-
* and expanded write access
|
|
90
|
-
*/
|
|
91
|
-
private createDeveloperPermissionSet;
|
|
92
|
-
/**
|
|
93
|
-
* Gets the permission set for the specified type
|
|
94
|
-
*/
|
|
95
|
-
getPermissionSet(type: PermissionSetType): sso.CfnPermissionSet;
|
|
96
|
-
/**
|
|
97
|
-
* Merges default inline policies with additional user-provided policy statements
|
|
98
|
-
*
|
|
99
|
-
* @param defaultPolicy - The default policy object with Version and Statement properties
|
|
100
|
-
* @param additionalStatements - Optional additional policy statements to merge
|
|
101
|
-
* @returns The merged policy object
|
|
102
|
-
*/
|
|
103
|
-
private mergeInlinePolicies;
|
|
104
|
-
/**
|
|
105
|
-
* Creates assignments between permission sets, groups, and accounts
|
|
106
|
-
* based on the provided configuration
|
|
107
|
-
*/
|
|
108
|
-
private createPermissionSetAssignments;
|
|
109
|
-
/**
|
|
110
|
-
* Assigns Administrator permissions to appropriate accounts
|
|
111
|
-
*/
|
|
112
|
-
private assignAdministratorPermissions;
|
|
113
|
-
/**
|
|
114
|
-
* Assigns Analyst permissions to appropriate accounts
|
|
115
|
-
*/
|
|
116
|
-
private assignAnalystPermissions;
|
|
117
|
-
/**
|
|
118
|
-
* Assigns Developer permissions to appropriate accounts
|
|
119
|
-
*/
|
|
120
|
-
private assignDeveloperPermissions;
|
|
121
|
-
}
|
|
File without changes
|
|
File without changes
|