@intentius/chant 0.52.2 → 0.53.0

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.
Files changed (103) hide show
  1. package/dist/cdk/advise.d.ts +29 -0
  2. package/dist/cdk/advise.d.ts.map +1 -0
  3. package/dist/cdk/assembly.d.ts +38 -0
  4. package/dist/cdk/assembly.d.ts.map +1 -0
  5. package/dist/cdk/graph.d.ts +68 -0
  6. package/dist/cdk/graph.d.ts.map +1 -0
  7. package/dist/cdk/tier-map.d.ts +44 -0
  8. package/dist/cdk/tier-map.d.ts.map +1 -0
  9. package/dist/cdk/types.d.ts +114 -0
  10. package/dist/cdk/types.d.ts.map +1 -0
  11. package/dist/cli/commands/carve-apply.d.ts.map +1 -1
  12. package/dist/cli/commands/carve-bridge.d.ts.map +1 -1
  13. package/dist/cli/commands/carve-emit.d.ts.map +1 -1
  14. package/dist/cli/commands/carve.d.ts +48 -6
  15. package/dist/cli/commands/carve.d.ts.map +1 -1
  16. package/dist/cli/handlers/carve-emit.d.ts.map +1 -1
  17. package/dist/cli/handlers/carve.d.ts +5 -4
  18. package/dist/cli/handlers/carve.d.ts.map +1 -1
  19. package/dist/cli/handlers/lifecycle.d.ts +10 -0
  20. package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
  21. package/dist/cli/main.d.ts.map +1 -1
  22. package/dist/identity.d.ts +196 -0
  23. package/dist/identity.d.ts.map +1 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/lexicon.d.ts +41 -0
  27. package/dist/lexicon.d.ts.map +1 -1
  28. package/dist/terraform/adopt-state.d.ts +17 -66
  29. package/dist/terraform/adopt-state.d.ts.map +1 -1
  30. package/dist/terraform/aws-resources.d.ts +1 -1
  31. package/dist/terraform/carve-provider.d.ts +142 -0
  32. package/dist/terraform/carve-provider.d.ts.map +1 -0
  33. package/dist/terraform/carve.d.ts +36 -3
  34. package/dist/terraform/carve.d.ts.map +1 -1
  35. package/dist/terraform/emit-source.d.ts +25 -0
  36. package/dist/terraform/emit-source.d.ts.map +1 -0
  37. package/dist/terraform/graduate.d.ts +11 -1
  38. package/dist/terraform/graduate.d.ts.map +1 -1
  39. package/dist/terraform/providers/aws.d.ts +19 -0
  40. package/dist/terraform/providers/aws.d.ts.map +1 -0
  41. package/dist/terraform/providers/gcp.d.ts +41 -0
  42. package/dist/terraform/providers/gcp.d.ts.map +1 -0
  43. package/dist/terraform/providers/index.d.ts +15 -0
  44. package/dist/terraform/providers/index.d.ts.map +1 -0
  45. package/dist/terraform/providers/kubernetes.d.ts +29 -0
  46. package/dist/terraform/providers/kubernetes.d.ts.map +1 -0
  47. package/dist/terraform/score.d.ts +70 -4
  48. package/dist/terraform/score.d.ts.map +1 -1
  49. package/dist/terraform/tier-map.d.ts +30 -35
  50. package/dist/terraform/tier-map.d.ts.map +1 -1
  51. package/dist/terraform/types.d.ts +6 -0
  52. package/dist/terraform/types.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/cdk/__fixtures__/cdk.out/AppStack.template.json +171 -0
  55. package/src/cdk/__fixtures__/cdk.out/DataStack.template.json +90 -0
  56. package/src/cdk/__fixtures__/cdk.out/cdk.out +1 -0
  57. package/src/cdk/__fixtures__/cdk.out/manifest.json +30 -0
  58. package/src/cdk/__fixtures__/cdk.out/tree.json +201 -0
  59. package/src/cdk/__fixtures__/cdk.out-dummy/LookupStack.template.json +29 -0
  60. package/src/cdk/__fixtures__/cdk.out-dummy/manifest.json +26 -0
  61. package/src/cdk/advise.test.ts +208 -0
  62. package/src/cdk/advise.ts +44 -0
  63. package/src/cdk/assembly.ts +133 -0
  64. package/src/cdk/graph.test.ts +206 -0
  65. package/src/cdk/graph.ts +525 -0
  66. package/src/cdk/tier-map.ts +71 -0
  67. package/src/cdk/types.ts +115 -0
  68. package/src/cli/commands/carve-apply.ts +20 -4
  69. package/src/cli/commands/carve-bridge.ts +9 -5
  70. package/src/cli/commands/carve-emit-k8s.test.ts +262 -0
  71. package/src/cli/commands/carve-emit-provider.test.ts +207 -0
  72. package/src/cli/commands/carve-emit.ts +28 -24
  73. package/src/cli/commands/carve.ts +139 -36
  74. package/src/cli/handlers/carve-emit.ts +8 -3
  75. package/src/cli/handlers/carve.ts +8 -7
  76. package/src/cli/handlers/lifecycle.test.ts +187 -1
  77. package/src/cli/handlers/lifecycle.ts +125 -1
  78. package/src/cli/main.ts +12 -5
  79. package/src/identity.test.ts +199 -0
  80. package/src/identity.ts +346 -0
  81. package/src/index.ts +1 -0
  82. package/src/lexicon.ts +53 -0
  83. package/src/terraform/__fixtures__/gcp-estate/main.tf +60 -0
  84. package/src/terraform/adopt-state.test.ts +131 -0
  85. package/src/terraform/adopt-state.ts +19 -167
  86. package/src/terraform/aws-resources.test.ts +38 -22
  87. package/src/terraform/aws-resources.ts +1 -1
  88. package/src/terraform/carve-provider.test.ts +155 -0
  89. package/src/terraform/carve-provider.ts +237 -0
  90. package/src/terraform/carve.test.ts +55 -1
  91. package/src/terraform/carve.ts +0 -0
  92. package/src/terraform/emit-source.ts +39 -0
  93. package/src/terraform/graduate.test.ts +37 -0
  94. package/src/terraform/graduate.ts +55 -7
  95. package/src/terraform/graph.ts +3 -3
  96. package/src/terraform/providers/aws.ts +169 -0
  97. package/src/terraform/providers/gcp.test.ts +228 -0
  98. package/src/terraform/providers/gcp.ts +329 -0
  99. package/src/terraform/providers/index.ts +21 -0
  100. package/src/terraform/providers/kubernetes.ts +224 -0
  101. package/src/terraform/score.ts +111 -25
  102. package/src/terraform/tier-map.ts +45 -107
  103. package/src/terraform/types.ts +6 -0
@@ -0,0 +1,171 @@
1
+ {
2
+ "Parameters": {
3
+ "EnvName": {
4
+ "Type": "String",
5
+ "Default": "dev"
6
+ },
7
+ "BootstrapVersion": {
8
+ "Type": "AWS::SSM::Parameter::Value<String>",
9
+ "Default": "/cdk-bootstrap/hnb659fds/version",
10
+ "Description": "Version of the CDK Bootstrap resources in this environment"
11
+ }
12
+ },
13
+ "Conditions": {
14
+ "IsProd": { "Fn::Equals": [{ "Ref": "EnvName" }, "prod"] }
15
+ },
16
+ "Resources": {
17
+ "ApiQueue4A6E9832": {
18
+ "Type": "AWS::SQS::Queue",
19
+ "Properties": {
20
+ "VisibilityTimeout": 300
21
+ },
22
+ "UpdateReplacePolicy": "Delete",
23
+ "DeletionPolicy": "Delete",
24
+ "Metadata": {
25
+ "aws:cdk:path": "AppStack/Api/Queue/Resource"
26
+ }
27
+ },
28
+ "ApiTopic1B2C3D4E": {
29
+ "Type": "AWS::SNS::Topic",
30
+ "Properties": {
31
+ "DisplayName": "api-events"
32
+ },
33
+ "Metadata": {
34
+ "aws:cdk:path": "AppStack/Api/Topic/Resource"
35
+ }
36
+ },
37
+ "ApiTopicQueueSubscriptionAA11BB22": {
38
+ "Type": "AWS::SNS::Subscription",
39
+ "Properties": {
40
+ "Protocol": "sqs",
41
+ "TopicArn": { "Ref": "ApiTopic1B2C3D4E" },
42
+ "Endpoint": { "Fn::GetAtt": ["ApiQueue4A6E9832", "Arn"] }
43
+ },
44
+ "Metadata": {
45
+ "aws:cdk:path": "AppStack/Api/Topic/QueueSubscription/Resource"
46
+ }
47
+ },
48
+ "HandlerServiceRoleFCDC14AE": {
49
+ "Type": "AWS::IAM::Role",
50
+ "Properties": {
51
+ "AssumeRolePolicyDocument": {
52
+ "Statement": [
53
+ {
54
+ "Action": "sts:AssumeRole",
55
+ "Effect": "Allow",
56
+ "Principal": { "Service": "lambda.amazonaws.com" }
57
+ }
58
+ ],
59
+ "Version": "2012-10-17"
60
+ }
61
+ },
62
+ "Metadata": {
63
+ "aws:cdk:path": "AppStack/Handler/ServiceRole/Resource"
64
+ }
65
+ },
66
+ "HandlerServiceRoleDefaultPolicy4C43A1F9": {
67
+ "Type": "AWS::IAM::Policy",
68
+ "Properties": {
69
+ "PolicyDocument": {
70
+ "Statement": [
71
+ {
72
+ "Action": ["s3:GetObject", "s3:PutObject"],
73
+ "Effect": "Allow",
74
+ "Resource": {
75
+ "Fn::Join": [
76
+ "",
77
+ [
78
+ { "Fn::ImportValue": "DataStack:ExportsOutputFnGetAttAssets675B7A57ArnE0B2A4A8" },
79
+ "/*"
80
+ ]
81
+ ]
82
+ }
83
+ }
84
+ ],
85
+ "Version": "2012-10-17"
86
+ },
87
+ "PolicyName": "HandlerServiceRoleDefaultPolicy4C43A1F9",
88
+ "Roles": [{ "Ref": "HandlerServiceRoleFCDC14AE" }]
89
+ },
90
+ "Metadata": {
91
+ "aws:cdk:path": "AppStack/Handler/ServiceRole/DefaultPolicy/Resource"
92
+ }
93
+ },
94
+ "Handler886CB40B": {
95
+ "Type": "AWS::Lambda::Function",
96
+ "Properties": {
97
+ "Code": {
98
+ "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" },
99
+ "S3Key": "9f8e7d6c5b4a39281706f5e4d3c2b1a09f8e7d6c5b4a39281706f5e4d3c2b1a0.zip"
100
+ },
101
+ "Environment": {
102
+ "Variables": {
103
+ "QUEUE_URL": { "Ref": "ApiQueue4A6E9832" }
104
+ }
105
+ },
106
+ "Handler": "index.handler",
107
+ "Role": { "Fn::GetAtt": ["HandlerServiceRoleFCDC14AE", "Arn"] },
108
+ "Runtime": "nodejs20.x"
109
+ },
110
+ "DependsOn": ["HandlerServiceRoleDefaultPolicy4C43A1F9", "HandlerServiceRoleFCDC14AE"],
111
+ "Metadata": {
112
+ "aws:cdk:path": "AppStack/Handler/Resource",
113
+ "aws:asset:path": "asset.9f8e7d6c5b4a39281706f5e4d3c2b1a0",
114
+ "aws:asset:is-bundled": false,
115
+ "aws:asset:property": "Code"
116
+ }
117
+ },
118
+ "LegacyBucket": {
119
+ "Type": "AWS::S3::Bucket",
120
+ "Condition": "IsProd",
121
+ "Properties": {
122
+ "BucketName": { "Fn::Sub": "legacy-${EnvName}-archive" }
123
+ },
124
+ "UpdateReplacePolicy": "Retain",
125
+ "DeletionPolicy": "Retain",
126
+ "Metadata": {
127
+ "aws:cdk:path": "AppStack/Legacy"
128
+ }
129
+ },
130
+ "ReportsNestedStackReportsNestedStackResource7B21D4C6": {
131
+ "Type": "AWS::CloudFormation::Stack",
132
+ "Properties": {
133
+ "TemplateURL": {
134
+ "Fn::Join": [
135
+ "",
136
+ [
137
+ "https://s3.",
138
+ { "Ref": "AWS::Region" },
139
+ ".",
140
+ { "Ref": "AWS::URLSuffix" },
141
+ "/cdk-hnb659fds-assets-",
142
+ { "Ref": "AWS::AccountId" },
143
+ "-",
144
+ { "Ref": "AWS::Region" },
145
+ "/1a2b3c4d5e6f70819a2b3c4d5e6f70819a2b3c4d5e6f70819a2b3c4d5e6f7081.json"
146
+ ]
147
+ ]
148
+ }
149
+ },
150
+ "UpdateReplacePolicy": "Delete",
151
+ "DeletionPolicy": "Delete",
152
+ "Metadata": {
153
+ "aws:cdk:path": "AppStack/Reports.NestedStack/Reports.NestedStackResource"
154
+ }
155
+ },
156
+ "CDKMetadata": {
157
+ "Type": "AWS::CDK::Metadata",
158
+ "Properties": {
159
+ "Analytics": "v2:deflate64:H4sIAAAAAAAA/y2K0QqAIAwAv8V3XVEE9V4fEEQfIGtJmDrYVoT4740ed3fY4wr7BgtCvIYuBl+w7gLuoIm2y9lgAWJv6TylOUYVXpLK5x0Ipp98yRz5Uqz+MvzQZlvibDpsMK1SUteYWvwNyxu2AlgAAAA="
160
+ },
161
+ "Metadata": {
162
+ "aws:cdk:path": "AppStack/CDKMetadata/Default"
163
+ }
164
+ }
165
+ },
166
+ "Outputs": {
167
+ "QueueUrl": {
168
+ "Value": { "Ref": "ApiQueue4A6E9832" }
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "Parameters": {
3
+ "BootstrapVersion": {
4
+ "Type": "AWS::SSM::Parameter::Value<String>",
5
+ "Default": "/cdk-bootstrap/hnb659fds/version",
6
+ "Description": "Version of the CDK Bootstrap resources in this environment"
7
+ }
8
+ },
9
+ "Resources": {
10
+ "Assets675B7A57": {
11
+ "Type": "AWS::S3::Bucket",
12
+ "Properties": {
13
+ "BucketName": "myapp-assets-prod",
14
+ "VersioningConfiguration": { "Status": "Enabled" }
15
+ },
16
+ "UpdateReplacePolicy": "Retain",
17
+ "DeletionPolicy": "Retain",
18
+ "Metadata": {
19
+ "aws:cdk:path": "DataStack/Assets/Resource"
20
+ }
21
+ },
22
+ "AssetsPolicyE8B0F1C2": {
23
+ "Type": "AWS::S3::BucketPolicy",
24
+ "Properties": {
25
+ "Bucket": { "Ref": "Assets675B7A57" },
26
+ "PolicyDocument": {
27
+ "Statement": [
28
+ {
29
+ "Action": "s3:*",
30
+ "Condition": { "Bool": { "aws:SecureTransport": "false" } },
31
+ "Effect": "Deny",
32
+ "Principal": { "AWS": "*" },
33
+ "Resource": [
34
+ { "Fn::GetAtt": ["Assets675B7A57", "Arn"] },
35
+ { "Fn::Join": ["", [{ "Fn::GetAtt": ["Assets675B7A57", "Arn"] }, "/*"]] }
36
+ ]
37
+ }
38
+ ],
39
+ "Version": "2012-10-17"
40
+ }
41
+ },
42
+ "Metadata": {
43
+ "aws:cdk:path": "DataStack/Assets/Policy/Resource"
44
+ }
45
+ },
46
+ "Table778B6D2C": {
47
+ "Type": "AWS::DynamoDB::Table",
48
+ "Properties": {
49
+ "AttributeDefinitions": [{ "AttributeName": "pk", "AttributeType": "S" }],
50
+ "BillingMode": "PAY_PER_REQUEST",
51
+ "KeySchema": [{ "AttributeName": "pk", "KeyType": "HASH" }]
52
+ },
53
+ "UpdateReplacePolicy": "Delete",
54
+ "DeletionPolicy": "Delete",
55
+ "Metadata": {
56
+ "aws:cdk:path": "DataStack/Table/Resource"
57
+ }
58
+ },
59
+ "CDKMetadata": {
60
+ "Type": "AWS::CDK::Metadata",
61
+ "Properties": {
62
+ "Analytics": "v2:deflate64:H4sIAAAAAAAA/y2K0QqAIAwAv8V3XVEE9V4fEEQfIGtJmDrYVoT4740ed3fY4wr7BgtCvIYuBl+w7gLuoIm2y9lgAWJv6TylOUYVXpLK5x0Ipp98yRz5Uqz+MvzQZlvibDpsMK1SUteYWvwNyxu2AlgAAAA="
63
+ },
64
+ "Metadata": {
65
+ "aws:cdk:path": "DataStack/CDKMetadata/Default"
66
+ }
67
+ }
68
+ },
69
+ "Outputs": {
70
+ "ExportsOutputFnGetAttAssets675B7A57ArnE0B2A4A8": {
71
+ "Value": { "Fn::GetAtt": ["Assets675B7A57", "Arn"] },
72
+ "Export": { "Name": "DataStack:ExportsOutputFnGetAttAssets675B7A57ArnE0B2A4A8" }
73
+ },
74
+ "TableName": {
75
+ "Value": { "Ref": "Table778B6D2C" }
76
+ }
77
+ },
78
+ "Rules": {
79
+ "CheckBootstrapVersion": {
80
+ "Assertions": [
81
+ {
82
+ "Assert": {
83
+ "Fn::Not": [{ "Fn::Contains": [["1", "2", "3", "4", "5"], { "Ref": "BootstrapVersion" }] }]
84
+ },
85
+ "AssertDescription": "CDK bootstrap stack version 6 required."
86
+ }
87
+ ]
88
+ }
89
+ }
90
+ }
@@ -0,0 +1 @@
1
+ {"version":"36.0.0"}
@@ -0,0 +1,30 @@
1
+ {
2
+ "version": "36.0.0",
3
+ "artifacts": {
4
+ "DataStack": {
5
+ "type": "aws:cloudformation:stack",
6
+ "environment": "aws://unknown-account/unknown-region",
7
+ "properties": {
8
+ "templateFile": "DataStack.template.json",
9
+ "validateOnSynth": false
10
+ },
11
+ "displayName": "DataStack"
12
+ },
13
+ "AppStack": {
14
+ "type": "aws:cloudformation:stack",
15
+ "environment": "aws://unknown-account/unknown-region",
16
+ "properties": {
17
+ "templateFile": "AppStack.template.json",
18
+ "validateOnSynth": false
19
+ },
20
+ "dependencies": ["DataStack"],
21
+ "displayName": "AppStack"
22
+ },
23
+ "Tree": {
24
+ "type": "cdk:tree",
25
+ "properties": {
26
+ "file": "tree.json"
27
+ }
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,201 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "constructInfo": { "fqn": "aws-cdk-lib.App", "version": "2.150.0" },
7
+ "children": {
8
+ "DataStack": {
9
+ "id": "DataStack",
10
+ "path": "DataStack",
11
+ "constructInfo": { "fqn": "aws-cdk-lib.Stack", "version": "2.150.0" },
12
+ "children": {
13
+ "Assets": {
14
+ "id": "Assets",
15
+ "path": "DataStack/Assets",
16
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.Bucket", "version": "2.150.0" },
17
+ "children": {
18
+ "Resource": {
19
+ "id": "Resource",
20
+ "path": "DataStack/Assets/Resource",
21
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::S3::Bucket" },
22
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.CfnBucket", "version": "2.150.0" }
23
+ },
24
+ "Policy": {
25
+ "id": "Policy",
26
+ "path": "DataStack/Assets/Policy",
27
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.BucketPolicy", "version": "2.150.0" },
28
+ "children": {
29
+ "Resource": {
30
+ "id": "Resource",
31
+ "path": "DataStack/Assets/Policy/Resource",
32
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy" },
33
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy", "version": "2.150.0" }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "Table": {
40
+ "id": "Table",
41
+ "path": "DataStack/Table",
42
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_dynamodb.Table", "version": "2.150.0" },
43
+ "children": {
44
+ "Resource": {
45
+ "id": "Resource",
46
+ "path": "DataStack/Table/Resource",
47
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::DynamoDB::Table" },
48
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_dynamodb.CfnTable", "version": "2.150.0" }
49
+ }
50
+ }
51
+ },
52
+ "CDKMetadata": {
53
+ "id": "CDKMetadata",
54
+ "path": "DataStack/CDKMetadata",
55
+ "constructInfo": { "fqn": "constructs.Construct", "version": "10.3.0" },
56
+ "children": {
57
+ "Default": {
58
+ "id": "Default",
59
+ "path": "DataStack/CDKMetadata/Default",
60
+ "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "2.150.0" }
61
+ }
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "AppStack": {
67
+ "id": "AppStack",
68
+ "path": "AppStack",
69
+ "constructInfo": { "fqn": "aws-cdk-lib.Stack", "version": "2.150.0" },
70
+ "children": {
71
+ "Api": {
72
+ "id": "Api",
73
+ "path": "AppStack/Api",
74
+ "constructInfo": { "fqn": "constructs.Construct", "version": "10.3.0" },
75
+ "children": {
76
+ "Queue": {
77
+ "id": "Queue",
78
+ "path": "AppStack/Api/Queue",
79
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sqs.Queue", "version": "2.150.0" },
80
+ "children": {
81
+ "Resource": {
82
+ "id": "Resource",
83
+ "path": "AppStack/Api/Queue/Resource",
84
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::SQS::Queue" },
85
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sqs.CfnQueue", "version": "2.150.0" }
86
+ }
87
+ }
88
+ },
89
+ "Topic": {
90
+ "id": "Topic",
91
+ "path": "AppStack/Api/Topic",
92
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sns.Topic", "version": "2.150.0" },
93
+ "children": {
94
+ "Resource": {
95
+ "id": "Resource",
96
+ "path": "AppStack/Api/Topic/Resource",
97
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::SNS::Topic" },
98
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sns.CfnTopic", "version": "2.150.0" }
99
+ },
100
+ "QueueSubscription": {
101
+ "id": "QueueSubscription",
102
+ "path": "AppStack/Api/Topic/QueueSubscription",
103
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sns.Subscription", "version": "2.150.0" },
104
+ "children": {
105
+ "Resource": {
106
+ "id": "Resource",
107
+ "path": "AppStack/Api/Topic/QueueSubscription/Resource",
108
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::SNS::Subscription" },
109
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_sns.CfnSubscription", "version": "2.150.0" }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ },
117
+ "Handler": {
118
+ "id": "Handler",
119
+ "path": "AppStack/Handler",
120
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.Function", "version": "2.150.0" },
121
+ "children": {
122
+ "ServiceRole": {
123
+ "id": "ServiceRole",
124
+ "path": "AppStack/Handler/ServiceRole",
125
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", "version": "2.150.0" },
126
+ "children": {
127
+ "Resource": {
128
+ "id": "Resource",
129
+ "path": "AppStack/Handler/ServiceRole/Resource",
130
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::IAM::Role" },
131
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "2.150.0" }
132
+ },
133
+ "DefaultPolicy": {
134
+ "id": "DefaultPolicy",
135
+ "path": "AppStack/Handler/ServiceRole/DefaultPolicy",
136
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "2.150.0" },
137
+ "children": {
138
+ "Resource": {
139
+ "id": "Resource",
140
+ "path": "AppStack/Handler/ServiceRole/DefaultPolicy/Resource",
141
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::IAM::Policy" },
142
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "2.150.0" }
143
+ }
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "Code": {
149
+ "id": "Code",
150
+ "path": "AppStack/Handler/Code",
151
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3_assets.Asset", "version": "2.150.0" }
152
+ },
153
+ "Resource": {
154
+ "id": "Resource",
155
+ "path": "AppStack/Handler/Resource",
156
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::Lambda::Function" },
157
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", "version": "2.150.0" }
158
+ }
159
+ }
160
+ },
161
+ "Legacy": {
162
+ "id": "Legacy",
163
+ "path": "AppStack/Legacy",
164
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::S3::Bucket" },
165
+ "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.CfnBucket", "version": "2.150.0" }
166
+ },
167
+ "Reports.NestedStack": {
168
+ "id": "Reports.NestedStack",
169
+ "path": "AppStack/Reports.NestedStack",
170
+ "constructInfo": { "fqn": "aws-cdk-lib.NestedStack", "version": "2.150.0" },
171
+ "children": {
172
+ "Reports.NestedStackResource": {
173
+ "id": "Reports.NestedStackResource",
174
+ "path": "AppStack/Reports.NestedStack/Reports.NestedStackResource",
175
+ "attributes": { "aws:cdk:cloudformation:type": "AWS::CloudFormation::Stack" },
176
+ "constructInfo": { "fqn": "aws-cdk-lib.CfnStack", "version": "2.150.0" }
177
+ }
178
+ }
179
+ },
180
+ "CDKMetadata": {
181
+ "id": "CDKMetadata",
182
+ "path": "AppStack/CDKMetadata",
183
+ "constructInfo": { "fqn": "constructs.Construct", "version": "10.3.0" },
184
+ "children": {
185
+ "Default": {
186
+ "id": "Default",
187
+ "path": "AppStack/CDKMetadata/Default",
188
+ "constructInfo": { "fqn": "aws-cdk-lib.CfnResource", "version": "2.150.0" }
189
+ }
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "Tree": {
195
+ "id": "Tree",
196
+ "path": "Tree",
197
+ "constructInfo": { "fqn": "aws-cdk-lib.TreeMetadata", "version": "2.150.0" }
198
+ }
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "Resources": {
3
+ "AppSg8C4F1E22": {
4
+ "Type": "AWS::EC2::SecurityGroup",
5
+ "Properties": {
6
+ "GroupDescription": "LookupStack/AppSg",
7
+ "SecurityGroupEgress": [
8
+ {
9
+ "CidrIp": "0.0.0.0/0",
10
+ "Description": "Allow all outbound traffic by default",
11
+ "IpProtocol": "-1"
12
+ }
13
+ ],
14
+ "VpcId": "vpc-12345678"
15
+ },
16
+ "Metadata": {
17
+ "aws:cdk:path": "LookupStack/AppSg/Resource"
18
+ }
19
+ },
20
+ "AppBucketD9A1C0F3": {
21
+ "Type": "AWS::S3::Bucket",
22
+ "UpdateReplacePolicy": "Retain",
23
+ "DeletionPolicy": "Retain",
24
+ "Metadata": {
25
+ "aws:cdk:path": "LookupStack/AppBucket/Resource"
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "version": "36.0.0",
3
+ "artifacts": {
4
+ "LookupStack": {
5
+ "type": "aws:cloudformation:stack",
6
+ "environment": "aws://123456789012/us-east-1",
7
+ "properties": {
8
+ "templateFile": "LookupStack.template.json",
9
+ "validateOnSynth": false
10
+ },
11
+ "displayName": "LookupStack"
12
+ }
13
+ },
14
+ "missing": [
15
+ {
16
+ "key": "vpc-provider:account=123456789012:filter.isDefault=true:region=us-east-1:returnAsymmetricSubnets=true",
17
+ "provider": "vpc-provider",
18
+ "props": {
19
+ "account": "123456789012",
20
+ "region": "us-east-1",
21
+ "filter": { "isDefault": "true" },
22
+ "returnAsymmetricSubnets": true
23
+ }
24
+ }
25
+ ]
26
+ }