@takumi-stack/core 1.0.9 → 1.0.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takumi-stack/core",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "author": "sinapsis.co",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -132,17 +132,17 @@ class CognitoUserPoolPrefab extends common_1.Prefab {
132
132
  const userPoolId = this.userPool.userPoolId;
133
133
  const userPoolClientId = this.userPoolClient.userPoolClientId;
134
134
  const userPoolDomainUrl = aws_cdk_lib_1.Fn.join('', ['https://', this.userPoolDomain.domainName, '.auth.us-east-1.amazoncognito.com']);
135
- const userPoolRegion = this.props.regionName;
135
+ // const userPoolRegion = this.props.regionName;
136
136
  new aws_cdk_lib_1.CfnOutput(this, this.getId('UserPoolId'), { value: userPoolId });
137
137
  new aws_cdk_lib_1.CfnOutput(this, this.getId('UserPoolClientId'), { value: userPoolClientId });
138
138
  new aws_cdk_lib_1.CfnOutput(this, this.getId('UserPoolDomainUrl'), { value: userPoolDomainUrl });
139
- new aws_cdk_lib_1.CfnOutput(this, this.getId('UserPoolRegion'), { value: userPoolRegion });
139
+ // new CfnOutput(this, this.getId('UserPoolRegion'), { value: userPoolRegion });
140
140
  const prefix = params.clientRef?.prefix || 'REACT_APP_';
141
141
  this.frontendRefs = {
142
142
  [`${prefix}COGNITO_USER_POOL_ID`]: userPoolId,
143
143
  [`${prefix}WEB_CLIENT_ID`]: userPoolClientId,
144
144
  [`${prefix}COGNITO_DOMAIN`]: userPoolDomainUrl,
145
- [`${prefix}COGNITO_REGION`]: userPoolRegion,
145
+ // [`${prefix}COGNITO_REGION`]: userPoolRegion,
146
146
  };
147
147
  }
148
148
  static mods = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/auth/cognito-user-pool/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/auth/cognito-user-pool/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
2
+ import { BucketPrefab } from '../../storage';
3
+ export type IoTFleetProvisioningPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
4
+ name: string;
5
+ greengrassBucket: BucketPrefab<CustomConfigs>;
6
+ };
7
+ export declare class IoTFleetProvisioningPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<IoTFleetProvisioningPrefabParams<CustomConfigs>, CustomConfigs> {
8
+ constructor(service: TakumiStack<CustomConfigs>, params: IoTFleetProvisioningPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/iot/fleet/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9F,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,gCAAgC,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IACxG,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;CACjD,CAAC;AAEF,qBAAa,0BAA0B,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CAC/G,gCAAgC,CAAC,aAAa,CAAC,EAC/C,aAAa,CAChB;gBAEO,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,gCAAgC,CAAC,aAAa,CAAC,EACvD,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CA0NzD"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoTFleetProvisioningPrefab = void 0;
4
+ const aws_iot_1 = require("aws-cdk-lib/aws-iot");
5
+ const common_1 = require("../../../common");
6
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
8
+ class IoTFleetProvisioningPrefab extends common_1.Prefab {
9
+ constructor(service, params, propsOverride) {
10
+ super(IoTFleetProvisioningPrefab.name, service, params, propsOverride);
11
+ // Policy for every thing
12
+ const iotPolicy = new aws_iot_1.CfnPolicy(this, this.getId('RaspberryIoTPolicy'), {
13
+ policyName: `${params.name}RaspberryBasePolicy`,
14
+ policyDocument: {
15
+ Version: '2012-10-17',
16
+ Statement: [
17
+ {
18
+ Effect: 'Allow',
19
+ Action: [
20
+ 'iot:Connect',
21
+ 'iot:Publish',
22
+ 'iot:Subscribe',
23
+ 'iot:Receive',
24
+ 'iot:DescribeThing',
25
+ 'iot:GetThingShadow',
26
+ 'iot:UpdateThingShadow',
27
+ 'greengrass:ResolveComponentCandidates',
28
+ 'greengrass:GetComponentVersionArtifact',
29
+ 'greengrass:CreateDeployment',
30
+ 'greengrass:GetDeployment',
31
+ 'greengrass:CancelDeployment',
32
+ 'greengrass:ListComponents',
33
+ 'greengrass:ListComponentVersions'
34
+ ],
35
+ Resource: '*'
36
+ },
37
+ {
38
+ Effect: 'Allow',
39
+ Action: [
40
+ 'iot:AssumeRoleWithCertificate',
41
+ ],
42
+ Resource: `arn:aws:iot:${service.region}:${service.account}:rolealias/${params.name}GreengrassV2TokenExchangeRoleAlias`
43
+ }
44
+ ]
45
+ }
46
+ });
47
+ // Role for the provisioning
48
+ const roleFleetProvisioning = new aws_iam_1.Role(this, this.getId('FleetProvisioningRole'), {
49
+ assumedBy: new aws_iam_1.ServicePrincipal('iot.amazonaws.com'),
50
+ });
51
+ roleFleetProvisioning.addToPolicy(new aws_iam_1.PolicyStatement({
52
+ effect: aws_iam_1.Effect.ALLOW,
53
+ actions: [
54
+ // Things
55
+ 'iot:CreateThing',
56
+ 'iot:DescribeThing',
57
+ 'iot:ListThingGroupsForThing',
58
+ 'iot:AddThingToThingGroup',
59
+ 'iot:RemoveThingFromThingGroup',
60
+ 'iot:UpdateThing',
61
+ 'iot:DeleteThing',
62
+ // Certificates
63
+ 'iot:CreateKeysAndCertificate',
64
+ 'iot:CreateCertificateFromCsr',
65
+ 'iot:DescribeCertificate',
66
+ 'iot:UpdateCertificate',
67
+ 'iot:DeleteCertificate',
68
+ 'iot:AttachThingPrincipal',
69
+ 'iot:DetachThingPrincipal',
70
+ // Policies
71
+ 'iot:CreatePolicy',
72
+ 'iot:GetPolicy',
73
+ 'iot:ListPolicyVersions',
74
+ 'iot:AttachPolicy',
75
+ 'iot:DetachPolicy',
76
+ 'iot:ListAttachedPolicies',
77
+ 'iot:AttachPrincipalPolicy',
78
+ 'iot:DetachPrincipalPolicy',
79
+ // Register Thing
80
+ 'iot:RegisterThing',
81
+ 'iot:GetThingShadow',
82
+ 'iot:UpdateThingShadow',
83
+ 'iot:DeleteThingShadow'
84
+ ],
85
+ resources: ['*']
86
+ }));
87
+ // Role for Token Exchange Service (TES) de Greengrass
88
+ const greengrassTESRole = new aws_iam_1.Role(this, this.getId('GreengrassTESRole'), {
89
+ assumedBy: new aws_iam_1.ServicePrincipal('credentials.iot.amazonaws.com'),
90
+ roleName: `${params.name}GreengrassV2TokenExchangeRole`,
91
+ managedPolicies: [
92
+ aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName('AmazonS3ReadOnlyAccess')
93
+ ],
94
+ inlinePolicies: {
95
+ 'GreengrassAccess': new aws_iam_1.PolicyDocument({
96
+ statements: [
97
+ new aws_iam_1.PolicyStatement({
98
+ effect: aws_iam_1.Effect.ALLOW,
99
+ actions: [
100
+ 'logs:CreateLogGroup',
101
+ 'logs:CreateLogStream',
102
+ 'logs:PutLogEvents',
103
+ 'logs:DescribeLogStreams',
104
+ 'iot:DescribeCertificate',
105
+ 'iot:DescribeEndpoint',
106
+ 'iot:DescribeThingGroup',
107
+ 'iot:GetThingShadow',
108
+ 'iot:UpdateThingShadow'
109
+ ],
110
+ resources: ['*']
111
+ })
112
+ ]
113
+ })
114
+ }
115
+ });
116
+ new aws_iot_1.CfnRoleAlias(this, this.getId('GreengrassTESRoleAlias'), {
117
+ roleAlias: `${params.name}GreengrassV2TokenExchangeRoleAlias`,
118
+ roleArn: greengrassTESRole.roleArn
119
+ });
120
+ greengrassTESRole.addToPolicy(new aws_iam_1.PolicyStatement({
121
+ effect: aws_iam_1.Effect.ALLOW,
122
+ actions: ['sts:AssumeRole'],
123
+ resources: [greengrassTESRole.roleArn]
124
+ }));
125
+ greengrassTESRole.addToPolicy(new aws_iam_1.PolicyStatement({
126
+ effect: aws_iam_1.Effect.ALLOW,
127
+ actions: [
128
+ 's3:GetObject',
129
+ 's3:ListBucket'
130
+ ],
131
+ resources: [
132
+ params.greengrassBucket.bucket.bucketArn,
133
+ `${params.greengrassBucket.bucket.bucketArn}/*`
134
+ ]
135
+ }));
136
+ // Template Fleet Provisioning (without lambda hook)
137
+ const provisioningTemplate = new aws_iot_1.CfnProvisioningTemplate(this, this.getId('FleetProvisioningTemplate'), {
138
+ provisioningRoleArn: roleFleetProvisioning.roleArn,
139
+ templateName: `${params.name}FleetProvisioningTemplate`,
140
+ enabled: true,
141
+ templateBody: JSON.stringify({
142
+ Parameters: {
143
+ SerialNumber: { Type: 'String' },
144
+ DeviceType: { Type: 'String', Default: 'RaspberryPi' }
145
+ },
146
+ Resources: {
147
+ thing: {
148
+ Type: 'AWS::IoT::Thing',
149
+ Properties: {
150
+ ThingName: { "Ref": "SerialNumber" },
151
+ AttributePayload: {
152
+ deviceType: { "Ref": "DeviceType" }
153
+ }
154
+ }
155
+ },
156
+ certificate: {
157
+ Type: 'AWS::IoT::Certificate',
158
+ Properties: {
159
+ CertificateId: { "Ref": "AWS::IoT::Certificate::Id" },
160
+ Status: 'ACTIVE'
161
+ }
162
+ },
163
+ policy: {
164
+ Type: 'AWS::IoT::Policy',
165
+ Properties: {
166
+ PolicyName: iotPolicy.policyName
167
+ }
168
+ }
169
+ }
170
+ })
171
+ });
172
+ // Policy to connect with provisioning endpoint
173
+ const provisioningCertPolicy = new aws_iot_1.CfnPolicy(this, this.getId('ProvisioningCertPolicy'), {
174
+ policyName: `${params.name}-provisioning-policy`,
175
+ policyDocument: {
176
+ Version: '2012-10-17',
177
+ Statement: [
178
+ {
179
+ Effect: 'Allow',
180
+ Action: [
181
+ 'iot:Connect',
182
+ 'iot:Publish',
183
+ 'iot:Subscribe',
184
+ 'iot:Receive'
185
+ ],
186
+ Resource: '*'
187
+ },
188
+ {
189
+ Effect: 'Allow',
190
+ Action: 'iot:AssumeRoleWithCertificate',
191
+ Resource: roleFleetProvisioning.roleArn
192
+ }
193
+ ]
194
+ }
195
+ });
196
+ // Export values
197
+ new aws_cdk_lib_1.CfnOutput(this, 'ProvisioningPolicyName', {
198
+ value: provisioningCertPolicy.policyName || '',
199
+ description: 'Provisioning Policy Name'
200
+ });
201
+ new aws_cdk_lib_1.CfnOutput(this, 'ProvisioningTemplateName', {
202
+ value: provisioningTemplate.templateName || '',
203
+ description: 'provisioning template name'
204
+ });
205
+ new aws_cdk_lib_1.CfnOutput(this, 'GreengrassTESRoleName', {
206
+ value: greengrassTESRole.roleName,
207
+ description: 'Greengrass TES Role Name'
208
+ });
209
+ }
210
+ }
211
+ exports.IoTFleetProvisioningPrefab = IoTFleetProvisioningPrefab;
212
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/iot/fleet/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CfnComponentVersion } from 'aws-cdk-lib/aws-greengrassv2';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ import { BucketPrefab } from '../../storage';
4
+ export type GreengrassComponentPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
5
+ name: string;
6
+ greengrassBucket: BucketPrefab<CustomConfigs>;
7
+ recipePath: string;
8
+ };
9
+ export declare class GreengrassComponentPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<GreengrassComponentPrefabParams<CustomConfigs>, CustomConfigs> {
10
+ readonly greengrassComponent: CfnComponentVersion;
11
+ constructor(service: TakumiStack<CustomConfigs>, params: GreengrassComponentPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/iot/greengrass-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAG,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,+BAA+B,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IACvG,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,yBAAyB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CAC9G,+BAA+B,CAAC,aAAa,CAAC,EAC9C,aAAa,CAChB;IACG,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC;gBAGrD,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,+BAA+B,CAAC,aAAa,CAAC,EACtD,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAYzD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GreengrassComponentPrefab = void 0;
4
+ const aws_greengrassv2_1 = require("aws-cdk-lib/aws-greengrassv2");
5
+ const common_1 = require("../../../common");
6
+ const fs_1 = require("fs");
7
+ class GreengrassComponentPrefab extends common_1.Prefab {
8
+ greengrassComponent;
9
+ constructor(service, params, propsOverride) {
10
+ super(GreengrassComponentPrefab.name, service, params, propsOverride);
11
+ let recipeContent = (0, fs_1.readFileSync)(params.recipePath, 'utf8');
12
+ recipeContent = recipeContent.replace('${BUCKET}', params.greengrassBucket.bucket.bucketName);
13
+ this.greengrassComponent = new aws_greengrassv2_1.CfnComponentVersion(this, this.getId('GreengrassComponent'), {
14
+ inlineRecipe: recipeContent
15
+ });
16
+ }
17
+ }
18
+ exports.GreengrassComponentPrefab = GreengrassComponentPrefab;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/iot/greengrass-component/index.ts"],"names":[],"mappings":";;;AAAA,mEAAoE;AACpE,4CAA8F;AAC9F,2BAAkC;AASlC,MAAa,yBAAuF,SAAQ,eAG3G;IACmB,mBAAmB,CAAsB;IAEzD,YACI,OAAmC,EACnC,MAAsD,EACtD,aAAkD;QAElD,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,aAAa,GAAG,IAAA,iBAAY,EAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE9F,IAAI,CAAC,mBAAmB,GAAG,IAAI,sCAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;YACxF,YAAY,EAAE,aAAa;SAC9B,CAAC,CAAC;IAEP,CAAC;CACJ;AArBD,8DAqBC"}
@@ -0,0 +1,15 @@
1
+ import { CfnDeployment } from 'aws-cdk-lib/aws-greengrassv2';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ import { IoTThingGroupPrefab } from '../thing-group';
4
+ import { GreengrassComponentPrefab } from '../greengrass-component';
5
+ export type GreengrassDeploymentPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
6
+ name: string;
7
+ thingGroupTarget: IoTThingGroupPrefab<CustomConfigs>;
8
+ componentName: string;
9
+ greengrassComponent: GreengrassComponentPrefab<CustomConfigs>;
10
+ };
11
+ export declare class GreengrassDeploymentPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<GreengrassDeploymentPrefabParams<CustomConfigs>, CustomConfigs> {
12
+ readonly greengrassDeployment: CfnDeployment;
13
+ constructor(service: TakumiStack<CustomConfigs>, params: GreengrassDeploymentPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/iot/greengrass-deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAG,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,MAAM,gCAAgC,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IACxG,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;CACjE,CAAC;AAEF,qBAAa,0BAA0B,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CAC/G,gCAAgC,CAAC,aAAa,CAAC,EAC/C,aAAa,CAChB;IACG,SAAgB,oBAAoB,EAAE,aAAa,CAAC;gBAGhD,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,gCAAgC,CAAC,aAAa,CAAC,EACvD,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAkBzD"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GreengrassDeploymentPrefab = void 0;
4
+ const aws_greengrassv2_1 = require("aws-cdk-lib/aws-greengrassv2");
5
+ const common_1 = require("../../../common");
6
+ class GreengrassDeploymentPrefab extends common_1.Prefab {
7
+ greengrassDeployment;
8
+ constructor(service, params, propsOverride) {
9
+ super(GreengrassDeploymentPrefab.name, service, params, propsOverride);
10
+ const componentName = params.componentName;
11
+ this.greengrassDeployment = new aws_greengrassv2_1.CfnDeployment(this, this.getId('GreengrassDeployment'), {
12
+ targetArn: params.thingGroupTarget.thingGroup.attrArn,
13
+ deploymentName: this.getResourceName(params.name),
14
+ components: {
15
+ [componentName]: {
16
+ componentVersion: params.greengrassComponent.greengrassComponent.attrComponentVersion,
17
+ },
18
+ },
19
+ });
20
+ }
21
+ }
22
+ exports.GreengrassDeploymentPrefab = GreengrassDeploymentPrefab;
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/iot/greengrass-deployment/index.ts"],"names":[],"mappings":";;;AAAA,mEAA8D;AAC9D,4CAA8F;AAY9F,MAAa,0BAAwF,SAAQ,eAG5G;IACmB,oBAAoB,CAAgB;IAEpD,YACI,OAAmC,EACnC,MAAuD,EACvD,aAAkD;QAElD,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEvE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,gCAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE;YACpF,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO;YACrD,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;YACjD,UAAU,EAAE;gBACR,CAAC,aAAa,CAAC,EAAE;oBACb,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,oBAAoB;iBACxF;aACJ;SACJ,CAAC,CAAC;IAGP,CAAC;CACJ;AA3BD,gEA2BC"}
@@ -1,2 +1,6 @@
1
1
  export * from './domain';
2
+ export * from './fleet';
3
+ export * from './thing-group';
4
+ export * from './greengrass-component';
5
+ export * from './greengrass-deployment';
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../prefab/iot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../prefab/iot/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -15,4 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./domain"), exports);
18
+ __exportStar(require("./fleet"), exports);
19
+ __exportStar(require("./thing-group"), exports);
20
+ __exportStar(require("./greengrass-component"), exports);
21
+ __exportStar(require("./greengrass-deployment"), exports);
18
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prefab/iot/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prefab/iot/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,gDAA8B;AAC9B,yDAAuC;AACvC,0DAAwC"}
@@ -0,0 +1,10 @@
1
+ import { CfnThingGroup } from 'aws-cdk-lib/aws-iot';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ export type IoTThingGroupPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
4
+ name: string;
5
+ };
6
+ export declare class IoTThingGroupPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<IoTThingGroupPrefabParams<CustomConfigs>, CustomConfigs> {
7
+ readonly thingGroup: CfnThingGroup;
8
+ constructor(service: TakumiStack<CustomConfigs>, params: IoTThingGroupPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/iot/thing-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9F,MAAM,MAAM,yBAAyB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IACjG,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACxG,yBAAyB,CAAC,aAAa,CAAC,EACxC,aAAa,CAChB;IAEG,SAAgB,UAAU,EAAE,aAAa,CAAC;gBAGtC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,yBAAyB,CAAC,aAAa,CAAC,EAChD,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAQzD"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoTThingGroupPrefab = void 0;
4
+ const aws_iot_1 = require("aws-cdk-lib/aws-iot");
5
+ const common_1 = require("../../../common");
6
+ class IoTThingGroupPrefab extends common_1.Prefab {
7
+ thingGroup;
8
+ constructor(service, params, propsOverride) {
9
+ super(IoTThingGroupPrefab.name, service, params, propsOverride);
10
+ this.thingGroup = new aws_iot_1.CfnThingGroup(this, this.getId('ThingGroup'), {
11
+ thingGroupName: this.getResourceName(params.name),
12
+ });
13
+ }
14
+ }
15
+ exports.IoTThingGroupPrefab = IoTThingGroupPrefab;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/iot/thing-group/index.ts"],"names":[],"mappings":";;;AAAA,iDAAoD;AACpD,4CAA8F;AAM9F,MAAa,mBAAiF,SAAQ,eAGrG;IAEmB,UAAU,CAAgB;IAE1C,YACI,OAAmC,EACnC,MAAgD,EAChD,aAAkD;QAElD,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEhE,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAChE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;SACpD,CAAC,CAAC;IACP,CAAC;CACJ;AAlBD,kDAkBC"}