@cdktn/provider-generator 0.23.0-pre.8 → 0.23.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 (195) hide show
  1. package/ambient.d.ts +0 -1
  2. package/{lib → build}/__tests__/edge-provider-schema/builder.d.ts +1 -0
  3. package/build/__tests__/edge-provider-schema/builder.js +106 -0
  4. package/build/__tests__/edge-provider-schema/cli.d.ts +2 -0
  5. package/build/__tests__/edge-provider-schema/cli.js +67 -0
  6. package/{lib → build}/__tests__/edge-provider-schema/index.d.ts +1 -0
  7. package/build/__tests__/edge-provider-schema/index.js +154 -0
  8. package/build/__tests__/edge-provider-schema.test.d.ts +2 -0
  9. package/build/__tests__/edge-provider-schema.test.js +46 -0
  10. package/build/__tests__/provider.test.d.ts +2 -0
  11. package/build/__tests__/provider.test.js +158 -0
  12. package/build/get/__tests__/constructs-maker.test.d.ts +2 -0
  13. package/build/get/__tests__/constructs-maker.test.js +113 -0
  14. package/build/get/__tests__/generator/complex-computed-types.test.d.ts +2 -0
  15. package/build/get/__tests__/generator/complex-computed-types.test.js +42 -0
  16. package/build/get/__tests__/generator/deep-nested-attributes.test.d.ts +2 -0
  17. package/build/get/__tests__/generator/deep-nested-attributes.test.js +50 -0
  18. package/build/get/__tests__/generator/description-escaping.test.d.ts +2 -0
  19. package/build/get/__tests__/generator/description-escaping.test.js +65 -0
  20. package/build/get/__tests__/generator/empty-provider-resources.test.d.ts +2 -0
  21. package/build/get/__tests__/generator/empty-provider-resources.test.js +40 -0
  22. package/build/get/__tests__/generator/export-sharding.test.d.ts +2 -0
  23. package/build/get/__tests__/generator/export-sharding.test.js +82 -0
  24. package/build/get/__tests__/generator/module-generator.test.d.ts +2 -0
  25. package/build/get/__tests__/generator/module-generator.test.js +476 -0
  26. package/build/get/__tests__/generator/nested-types.test.d.ts +2 -0
  27. package/build/get/__tests__/generator/nested-types.test.js +51 -0
  28. package/build/get/__tests__/generator/provider.test.d.ts +2 -0
  29. package/build/get/__tests__/generator/provider.test.js +51 -0
  30. package/build/get/__tests__/generator/resource-types.test.d.ts +2 -0
  31. package/build/get/__tests__/generator/resource-types.test.js +78 -0
  32. package/build/get/__tests__/generator/skipped-attributes.test.d.ts +2 -0
  33. package/build/get/__tests__/generator/skipped-attributes.test.js +55 -0
  34. package/build/get/__tests__/generator/types.test.d.ts +2 -0
  35. package/build/get/__tests__/generator/types.test.js +289 -0
  36. package/build/get/__tests__/generator/versions-file.test.d.ts +2 -0
  37. package/build/get/__tests__/generator/versions-file.test.js +74 -0
  38. package/{lib → build}/get/__tests__/util.d.ts +1 -0
  39. package/build/get/__tests__/util.js +59 -0
  40. package/{lib → build}/get/constructs-maker.d.ts +2 -1
  41. package/{lib → build}/get/constructs-maker.js +5 -2
  42. package/{lib → build}/get/generator/custom-defaults.d.ts +1 -0
  43. package/build/get/generator/custom-defaults.js +403 -0
  44. package/{lib → build}/get/generator/emitter/attributes-emitter.d.ts +1 -0
  45. package/build/get/generator/emitter/attributes-emitter.js +161 -0
  46. package/{lib → build}/get/generator/emitter/index.d.ts +1 -0
  47. package/{lib → build}/get/generator/emitter/index.js +1 -1
  48. package/{lib → build}/get/generator/emitter/resource-emitter.d.ts +1 -0
  49. package/build/get/generator/emitter/resource-emitter.js +147 -0
  50. package/{lib → build}/get/generator/emitter/struct-emitter.d.ts +1 -0
  51. package/build/get/generator/emitter/struct-emitter.js +500 -0
  52. package/{lib → build}/get/generator/loop-detection.d.ts +1 -0
  53. package/build/get/generator/loop-detection.js +56 -0
  54. package/{lib → build}/get/generator/models/attribute-model.d.ts +1 -0
  55. package/build/get/generator/models/attribute-model.js +160 -0
  56. package/{lib → build}/get/generator/models/attribute-type-model.d.ts +1 -0
  57. package/build/get/generator/models/attribute-type-model.js +376 -0
  58. package/{lib → build}/get/generator/models/index.d.ts +1 -0
  59. package/{lib → build}/get/generator/models/index.js +1 -1
  60. package/{lib → build}/get/generator/models/resource-model.d.ts +1 -0
  61. package/build/get/generator/models/resource-model.js +106 -0
  62. package/{lib → build}/get/generator/models/scope.d.ts +1 -0
  63. package/build/get/generator/models/scope.js +36 -0
  64. package/{lib → build}/get/generator/models/struct.d.ts +1 -0
  65. package/build/get/generator/models/struct.js +90 -0
  66. package/{lib → build}/get/generator/module-generator.d.ts +1 -0
  67. package/build/get/generator/module-generator.js +184 -0
  68. package/{lib → build}/get/generator/provider-generator.d.ts +1 -0
  69. package/build/get/generator/provider-generator.js +225 -0
  70. package/{lib → build}/get/generator/resource-parser.d.ts +1 -0
  71. package/build/get/generator/resource-parser.js +497 -0
  72. package/{lib → build}/get/generator/sanitized-comments.d.ts +1 -0
  73. package/build/get/generator/sanitized-comments.js +44 -0
  74. package/{lib → build}/get/generator/skipped-attributes.d.ts +1 -0
  75. package/build/get/generator/skipped-attributes.js +29 -0
  76. package/{lib → build}/index.d.ts +1 -0
  77. package/{lib → build}/index.js +1 -1
  78. package/{lib → build}/util.d.ts +1 -0
  79. package/build/util.js +30 -0
  80. package/package.json +13 -15
  81. package/{lib → src}/__tests__/__snapshots__/edge-provider-schema.test.ts.snap +1 -1
  82. package/{lib → src}/__tests__/__snapshots__/provider.test.ts.snap +14953 -890
  83. package/{lib → src}/get/__tests__/generator/__snapshots__/complex-computed-types.test.ts.snap +1 -1
  84. package/{lib → src}/get/__tests__/generator/__snapshots__/description-escaping.test.ts.snap +1 -1
  85. package/{lib → src}/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap +1 -1
  86. package/{lib → src}/get/__tests__/generator/__snapshots__/module-generator.test.ts.snap +10 -10
  87. package/{lib → src}/get/__tests__/generator/__snapshots__/nested-types.test.ts.snap +1 -1
  88. package/{lib → src}/get/__tests__/generator/__snapshots__/provider.test.ts.snap +1 -1
  89. package/{lib → src}/get/__tests__/generator/__snapshots__/resource-types.test.ts.snap +1 -1
  90. package/{lib → src}/get/__tests__/generator/__snapshots__/skipped-attributes.test.ts.snap +1 -1
  91. package/{lib → src}/get/__tests__/generator/__snapshots__/types.test.ts.snap +92 -1
  92. package/src/get/__tests__/generator/fixtures/map-of-map-of-string.test.fixture.json +27 -0
  93. package/tsconfig.json +6 -3
  94. package/lib/__tests__/edge-provider-schema/builder.js +0 -106
  95. package/lib/__tests__/edge-provider-schema/cli.d.ts +0 -1
  96. package/lib/__tests__/edge-provider-schema/cli.js +0 -67
  97. package/lib/__tests__/edge-provider-schema/index.js +0 -154
  98. package/lib/__tests__/edge-provider-schema.test.d.ts +0 -1
  99. package/lib/__tests__/edge-provider-schema.test.js +0 -46
  100. package/lib/__tests__/provider.test.d.ts +0 -1
  101. package/lib/__tests__/provider.test.js +0 -158
  102. package/lib/get/__tests__/constructs-maker.test.d.ts +0 -1
  103. package/lib/get/__tests__/constructs-maker.test.js +0 -113
  104. package/lib/get/__tests__/generator/complex-computed-types.test.d.ts +0 -1
  105. package/lib/get/__tests__/generator/complex-computed-types.test.js +0 -42
  106. package/lib/get/__tests__/generator/deep-nested-attributes.test.d.ts +0 -1
  107. package/lib/get/__tests__/generator/deep-nested-attributes.test.js +0 -50
  108. package/lib/get/__tests__/generator/description-escaping.test.d.ts +0 -1
  109. package/lib/get/__tests__/generator/description-escaping.test.js +0 -65
  110. package/lib/get/__tests__/generator/empty-provider-resources.test.d.ts +0 -1
  111. package/lib/get/__tests__/generator/empty-provider-resources.test.js +0 -40
  112. package/lib/get/__tests__/generator/export-sharding.test.d.ts +0 -1
  113. package/lib/get/__tests__/generator/export-sharding.test.js +0 -82
  114. package/lib/get/__tests__/generator/module-generator.test.d.ts +0 -1
  115. package/lib/get/__tests__/generator/module-generator.test.js +0 -476
  116. package/lib/get/__tests__/generator/nested-types.test.d.ts +0 -1
  117. package/lib/get/__tests__/generator/nested-types.test.js +0 -51
  118. package/lib/get/__tests__/generator/provider.test.d.ts +0 -1
  119. package/lib/get/__tests__/generator/provider.test.js +0 -51
  120. package/lib/get/__tests__/generator/resource-types.test.d.ts +0 -1
  121. package/lib/get/__tests__/generator/resource-types.test.js +0 -78
  122. package/lib/get/__tests__/generator/skipped-attributes.test.d.ts +0 -1
  123. package/lib/get/__tests__/generator/skipped-attributes.test.js +0 -55
  124. package/lib/get/__tests__/generator/types.test.d.ts +0 -1
  125. package/lib/get/__tests__/generator/types.test.js +0 -280
  126. package/lib/get/__tests__/generator/versions-file.test.d.ts +0 -1
  127. package/lib/get/__tests__/generator/versions-file.test.js +0 -74
  128. package/lib/get/__tests__/util.js +0 -59
  129. package/lib/get/generator/custom-defaults.js +0 -403
  130. package/lib/get/generator/emitter/attributes-emitter.js +0 -161
  131. package/lib/get/generator/emitter/resource-emitter.js +0 -144
  132. package/lib/get/generator/emitter/struct-emitter.js +0 -500
  133. package/lib/get/generator/loop-detection.js +0 -56
  134. package/lib/get/generator/models/attribute-model.js +0 -160
  135. package/lib/get/generator/models/attribute-type-model.js +0 -376
  136. package/lib/get/generator/models/resource-model.js +0 -106
  137. package/lib/get/generator/models/scope.js +0 -36
  138. package/lib/get/generator/models/struct.js +0 -90
  139. package/lib/get/generator/module-generator.js +0 -184
  140. package/lib/get/generator/provider-generator.js +0 -225
  141. package/lib/get/generator/resource-parser.js +0 -497
  142. package/lib/get/generator/sanitized-comments.js +0 -44
  143. package/lib/get/generator/skipped-attributes.js +0 -29
  144. package/lib/util.js +0 -30
  145. /package/{lib → src}/get/__tests__/generator/fixtures/aws-provider.test.fixture.json +0 -0
  146. /package/{lib → src}/get/__tests__/generator/fixtures/aws_acm_certificate.test.fixture.json +0 -0
  147. /package/{lib → src}/get/__tests__/generator/fixtures/aws_cloudfront_distribution.test.fixture.json +0 -0
  148. /package/{lib → src}/get/__tests__/generator/fixtures/aws_fms_admin_account.test.fixture.json +0 -0
  149. /package/{lib → src}/get/__tests__/generator/fixtures/aws_quicksight_template.test.fixture.json +0 -0
  150. /package/{lib → src}/get/__tests__/generator/fixtures/aws_s3_bucket.test.fixture.json +0 -0
  151. /package/{lib → src}/get/__tests__/generator/fixtures/aws_security_group.test.fixture.json +0 -0
  152. /package/{lib → src}/get/__tests__/generator/fixtures/aws_wafv2_web_acl.test.fixture.json +0 -0
  153. /package/{lib → src}/get/__tests__/generator/fixtures/block-type-nested-computed-list.test.fixture.json +0 -0
  154. /package/{lib → src}/get/__tests__/generator/fixtures/block-type-set-list.test.fixture.json +0 -0
  155. /package/{lib → src}/get/__tests__/generator/fixtures/boolean-list.test.fixture.json +0 -0
  156. /package/{lib → src}/get/__tests__/generator/fixtures/boolean-map.test.fixture.json +0 -0
  157. /package/{lib → src}/get/__tests__/generator/fixtures/comment-ending-sequence.test.fixture.json +0 -0
  158. /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex-nested.test.fixture.json +0 -0
  159. /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex.test.fixture.json +0 -0
  160. /package/{lib → src}/get/__tests__/generator/fixtures/computed-optional-complex.test.fixture.json +0 -0
  161. /package/{lib → src}/get/__tests__/generator/fixtures/data_aws_quicksight_analysis.fixture.json +0 -0
  162. /package/{lib → src}/get/__tests__/generator/fixtures/datadog_dashboard.test.fixture.json +0 -0
  163. /package/{lib → src}/get/__tests__/generator/fixtures/datadog_spans_metric.test.fixture.json +0 -0
  164. /package/{lib → src}/get/__tests__/generator/fixtures/deep-attributes.test.fixture.json +0 -0
  165. /package/{lib → src}/get/__tests__/generator/fixtures/deeply-nested-block-types.test.fixture.json +0 -0
  166. /package/{lib → src}/get/__tests__/generator/fixtures/description-escaping.test.fixture.json +0 -0
  167. /package/{lib → src}/get/__tests__/generator/fixtures/elasticstack-provider.test.fixture.json +0 -0
  168. /package/{lib → src}/get/__tests__/generator/fixtures/empty-provider-resources.test.fixture.json +0 -0
  169. /package/{lib → src}/get/__tests__/generator/fixtures/ignored-attributes.test.fixture.json +0 -0
  170. /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-attribute-names.test.fixture.json +0 -0
  171. /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-resource-names.test.fixture.json +0 -0
  172. /package/{lib → src}/get/__tests__/generator/fixtures/list-list-object.test.fixture.json +0 -0
  173. /package/{lib → src}/get/__tests__/generator/fixtures/list-list-string.test.fixture.json +0 -0
  174. /package/{lib → src}/get/__tests__/generator/fixtures/list-of-string-map.test.fixture.json +0 -0
  175. /package/{lib → src}/get/__tests__/generator/fixtures/map-of-string-list.test.fixture.json +0 -0
  176. /package/{lib → src}/get/__tests__/generator/fixtures/markdown-description-with-code-blocks.test.fixture.json +0 -0
  177. /package/{lib → src}/get/__tests__/generator/fixtures/module-get-x.test.fixture.tf +0 -0
  178. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-1.test.fixture.tf +0 -0
  179. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-2.test.fixture.tf +0 -0
  180. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-outputs.test.fixture.tf +0 -0
  181. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-variable-type.test.fixture.tf +0 -0
  182. /package/{lib → src}/get/__tests__/generator/fixtures/module-with-star-default.test.fixture.tf +0 -0
  183. /package/{lib → src}/get/__tests__/generator/fixtures/name-conflict.test.fixture.json +0 -0
  184. /package/{lib → src}/get/__tests__/generator/fixtures/nested-type-without-attributes.test.fixture.json +0 -0
  185. /package/{lib → src}/get/__tests__/generator/fixtures/nested-types.test.fixture.json +0 -0
  186. /package/{lib → src}/get/__tests__/generator/fixtures/number-list.test.fixture.json +0 -0
  187. /package/{lib → src}/get/__tests__/generator/fixtures/number-map.test.fixture.json +0 -0
  188. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-boolean.test.fixture.json +0 -0
  189. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-dynamic.test.fixture.json +0 -0
  190. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-number.test.fixture.json +0 -0
  191. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-string.test.fixture.json +0 -0
  192. /package/{lib → src}/get/__tests__/generator/fixtures/single-block-type.test.fixture.json +0 -0
  193. /package/{lib → src}/get/__tests__/generator/fixtures/string-list.test.fixture.json +0 -0
  194. /package/{lib → src}/get/__tests__/generator/fixtures/string-map.test.fixture.json +0 -0
  195. /package/{lib → src}/get/__tests__/generator/fixtures/stripe-schema.test.fixture.json +0 -0
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`generate an acm certifacte resource with complex computed types: acm-certificate 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/acm_certificate
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`broken attribute description comments 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/description_escaping
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`shard exports across multiple files to avoid generating files with more than a 1000 exports in a provider without namespaces: dashboard-resource 1`] = `
4
4
  "// generated from terraform resource schema
@@ -1,9 +1,9 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`generate multiple aws modules 1`] = `
4
4
  "// generated by cdktn get
5
5
  // terraform-aws-modules/vpc/aws
6
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
6
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
7
7
  import { Construct } from 'constructs';
8
8
  export interface VpcConfig extends TerraformModuleUserConfig {
9
9
  /**
@@ -6379,7 +6379,7 @@ export class Vpc extends TerraformModule {
6379
6379
  exports[`generate multiple aws modules 2`] = `
6380
6380
  "// generated by cdktn get
6381
6381
  // terraform-aws-modules/rds-aurora/aws
6382
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
6382
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
6383
6383
  import { Construct } from 'constructs';
6384
6384
  export interface RdsAuroraConfig extends TerraformModuleUserConfig {
6385
6385
  /**
@@ -7324,7 +7324,7 @@ export class RdsAurora extends TerraformModule {
7324
7324
  exports[`generate nested module 1`] = `
7325
7325
  "// generated by cdktn get
7326
7326
  // terraform-aws-modules/vpc/aws//modules/vpc-endpoints
7327
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
7327
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
7328
7328
  import { Construct } from 'constructs';
7329
7329
  export interface VpcEndpointsConfig extends TerraformModuleUserConfig {
7330
7330
  /**
@@ -7452,7 +7452,7 @@ export class VpcEndpoints extends TerraformModule {
7452
7452
  exports[`generate some modules 1`] = `
7453
7453
  "// generated by cdktn get
7454
7454
  // terraform-aws-modules/eks/aws
7455
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
7455
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
7456
7456
  import { Construct } from 'constructs';
7457
7457
  export interface EksConfig extends TerraformModuleUserConfig {
7458
7458
  /**
@@ -8150,7 +8150,7 @@ export class Eks extends TerraformModule {
8150
8150
  exports[`getX variables 1`] = `
8151
8151
  "// generated by cdktn get
8152
8152
  // ./module
8153
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
8153
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
8154
8154
  import { Construct } from 'constructs';
8155
8155
  export interface ModuleConfig extends TerraformModuleUserConfig {
8156
8156
  /**
@@ -8217,7 +8217,7 @@ export class Module extends TerraformModule {
8217
8217
  exports[`handle */* in module variable default string 1`] = `
8218
8218
  "// generated by cdktn get
8219
8219
  // ./module
8220
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
8220
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
8221
8221
  import { Construct } from 'constructs';
8222
8222
  export interface ModuleConfig extends TerraformModuleUserConfig {
8223
8223
  /**
@@ -8273,7 +8273,7 @@ export class Module extends TerraformModule {
8273
8273
  exports[`no module outputs 1`] = `
8274
8274
  "// generated by cdktn get
8275
8275
  // ./module
8276
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
8276
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
8277
8277
  import { Construct } from 'constructs';
8278
8278
  export interface ModuleConfig extends TerraformModuleUserConfig {
8279
8279
  /**
@@ -8327,7 +8327,7 @@ export class Module extends TerraformModule {
8327
8327
  exports[`no newline 1`] = `
8328
8328
  "// generated by cdktn get
8329
8329
  // ./module
8330
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
8330
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
8331
8331
  import { Construct } from 'constructs';
8332
8332
  export interface ModuleConfig extends TerraformModuleUserConfig {
8333
8333
  }
@@ -8369,7 +8369,7 @@ export class Module extends TerraformModule {
8369
8369
  exports[`typeless variables 1`] = `
8370
8370
  "// generated by cdktn get
8371
8371
  // ./module
8372
- import { TerraformModule, TerraformModuleUserConfig } from 'cdktn';
8372
+ import { TerraformModule, type TerraformModuleUserConfig } from 'cdktn';
8373
8373
  import { Construct } from 'constructs';
8374
8374
  export interface ModuleConfig extends TerraformModuleUserConfig {
8375
8375
  /**
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`generate a resource with nested type and no attributes 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/test/latest/docs/resources/nested_type_without_attributes_resource
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`generate provider 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`generate a cloudfront distribution resource: cloudfront 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudfront_distribution
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`skips attribute type attributes in the disallow list: data-quicksight-analysis 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/quicksight_analysis
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`boolean list attribute 1`] = `
4
4
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/boolean_list
@@ -3967,6 +3967,97 @@ export class ListOfStringMap extends cdktn.TerraformResource {
3967
3967
  "
3968
3968
  `;
3969
3969
 
3970
+ exports[`map of map of string attribute 1`] = `
3971
+ "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/map_of_map_of_string
3972
+ // generated from terraform resource schema
3973
+
3974
+ import { Construct } from 'constructs';
3975
+ import * as cdktn from 'cdktn';
3976
+
3977
+ // Configuration
3978
+
3979
+ export interface MapOfMapOfStringConfig extends cdktn.TerraformMetaArguments {
3980
+ }
3981
+
3982
+ /**
3983
+ * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/map_of_map_of_string aws_map_of_map_of_string}
3984
+ */
3985
+ export class MapOfMapOfString extends cdktn.TerraformResource {
3986
+
3987
+ // =================
3988
+ // STATIC PROPERTIES
3989
+ // =================
3990
+ public static readonly tfResourceType = "aws_map_of_map_of_string";
3991
+
3992
+ // ==============
3993
+ // STATIC Methods
3994
+ // ==============
3995
+ /**
3996
+ * Generates CDKTN code for importing a MapOfMapOfString resource upon running "cdktn plan <stack-name>"
3997
+ * @param scope The scope in which to define this construct
3998
+ * @param importToId The construct id used in the generated config for the MapOfMapOfString to import
3999
+ * @param importFromId The id of the existing MapOfMapOfString that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/map_of_map_of_string#import import section} in the documentation of this resource for the id to use
4000
+ * @param provider? Optional instance of the provider where the MapOfMapOfString to import is found
4001
+ */
4002
+ public static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider) {
4003
+ return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "aws_map_of_map_of_string", importId: importFromId, provider });
4004
+ }
4005
+
4006
+ // ===========
4007
+ // INITIALIZER
4008
+ // ===========
4009
+
4010
+ /**
4011
+ * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/map_of_map_of_string aws_map_of_map_of_string} Resource
4012
+ *
4013
+ * @param scope The scope in which to define this construct
4014
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
4015
+ * @param options MapOfMapOfStringConfig = {}
4016
+ */
4017
+ public constructor(scope: Construct, id: string, config: MapOfMapOfStringConfig = {}) {
4018
+ super(scope, id, {
4019
+ terraformResourceType: 'aws_map_of_map_of_string',
4020
+ terraformGeneratorMetadata: {
4021
+ providerName: 'aws'
4022
+ },
4023
+ provider: config.provider,
4024
+ dependsOn: config.dependsOn,
4025
+ count: config.count,
4026
+ lifecycle: config.lifecycle,
4027
+ provisioners: config.provisioners,
4028
+ connection: config.connection,
4029
+ forEach: config.forEach
4030
+ });
4031
+ }
4032
+
4033
+ // ==========
4034
+ // ATTRIBUTES
4035
+ // ==========
4036
+
4037
+ // labels - computed: true, optional: false, required: false
4038
+ private _labels = new cdktn.StringMapMap(this, "labels");
4039
+ public get labels() {
4040
+ return this._labels;
4041
+ }
4042
+
4043
+ // =========
4044
+ // SYNTHESIS
4045
+ // =========
4046
+
4047
+ protected synthesizeAttributes(): { [name: string]: any } {
4048
+ return {
4049
+ };
4050
+ }
4051
+
4052
+ protected synthesizeHclAttributes(): { [name: string]: any } {
4053
+ const attrs = {
4054
+ };
4055
+ return attrs;
4056
+ }
4057
+ }
4058
+ "
4059
+ `;
4060
+
3970
4061
  exports[`map of string list attribute 1`] = `
3971
4062
  "// https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/map_of_string_list
3972
4063
  // generated from terraform resource schema
@@ -0,0 +1,27 @@
1
+ {
2
+ "provider_schemas": {
3
+ "registry.terraform.io/hashicorp/aws": {
4
+ "resource_schemas": {
5
+ "aws_map_of_map_of_string": {
6
+ "version": 1,
7
+ "block": {
8
+ "attributes": {
9
+ "labels": {
10
+ "type": [
11
+ "map",
12
+ [
13
+ "map",
14
+ "string"
15
+ ]
16
+ ],
17
+ "description": "Map of map of string.",
18
+ "computed": true
19
+ }
20
+ }
21
+ },
22
+ "block_types": {}
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
package/tsconfig.json CHANGED
@@ -2,6 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "alwaysStrict": true,
4
4
  "declaration": true,
5
+ "declarationMap": true,
5
6
  "experimentalDecorators": true,
6
7
  "inlineSourceMap": true,
7
8
  "inlineSources": true,
@@ -25,14 +26,16 @@
25
26
  "skipLibCheck": true,
26
27
  "target": "ES2018",
27
28
  "incremental": true,
28
- "esModuleInterop": true
29
+ "esModuleInterop": true,
30
+ "rootDir": "./src",
31
+ "outDir": "./build"
29
32
  },
30
33
  "files": [
31
34
  "ambient.d.ts"
32
35
  ],
33
36
  "include": [
34
- "lib/**/*.ts"
35
- , "../commons/src/module-schema.ts" ],
37
+ "src/**/*.ts"
38
+ ],
36
39
  "exclude": [
37
40
  "node_modules",
38
41
  "**/*.d.ts",
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaBuilder = exports.schema = void 0;
4
- function schema({ name, provider, resources = {}, dataSources = {}, }) {
5
- return {
6
- format_version: "0.2",
7
- provider_schemas: {
8
- [`registry.terraform.io/cdktf/${name}`]: {
9
- provider: provider,
10
- resource_schemas: resources,
11
- data_source_schemas: dataSources,
12
- },
13
- },
14
- };
15
- }
16
- exports.schema = schema;
17
- class SchemaBuilder {
18
- constructor() {
19
- this.schema = {
20
- version: 0,
21
- block: {
22
- attributes: {},
23
- block_types: {},
24
- },
25
- };
26
- }
27
- attribute({ name, type, required = false, computed = false, optional = !required, }) {
28
- this.schema.block.attributes[name] = {
29
- type,
30
- optional,
31
- computed,
32
- required,
33
- };
34
- return this;
35
- }
36
- listBlock({ name, block, minItems, maxItems, }) {
37
- this.schema.block.block_types[name] = {
38
- nesting_mode: "list",
39
- block,
40
- min_items: minItems,
41
- max_items: maxItems,
42
- };
43
- return this;
44
- }
45
- mapBlock({ name, block, }) {
46
- this.schema.block.block_types[name] = { nesting_mode: "map", block };
47
- return this;
48
- }
49
- setBlock({ name, block, }) {
50
- this.schema.block.block_types[name] = { nesting_mode: "set", block };
51
- return this;
52
- }
53
- singleBlock({ name, block, }) {
54
- this.schema.block.block_types[name] = { nesting_mode: "single", block };
55
- return this;
56
- }
57
- build() {
58
- return this.schema;
59
- }
60
- asBlock() {
61
- return this.schema.block;
62
- }
63
- addAllPrimitiveTypes({ required, computed, prefix = "", }) {
64
- this.attribute({ name: prefix + "str", type: "string", required, computed })
65
- .attribute({ name: prefix + "num", type: "number", required, computed })
66
- .attribute({ name: prefix + "bool", type: "bool", required, computed });
67
- return this;
68
- }
69
- addAllPrimitivePermutations() {
70
- this.addAllPrimitiveTypes({
71
- required: false,
72
- computed: false,
73
- prefix: "opt",
74
- })
75
- .addAllPrimitiveTypes({ required: true, computed: false, prefix: "req" })
76
- .addAllPrimitiveTypes({
77
- required: false,
78
- computed: true,
79
- prefix: "computed",
80
- });
81
- return this;
82
- }
83
- addAllPrimitiveListTypes({ required, computed, prefix = "", }) {
84
- this.attribute({
85
- name: prefix + "strList",
86
- type: ["list", "string"],
87
- required,
88
- computed,
89
- })
90
- .attribute({
91
- name: prefix + "numList",
92
- type: ["list", "number"],
93
- required,
94
- computed,
95
- })
96
- .attribute({
97
- name: prefix + "boolList",
98
- type: ["list", "bool"],
99
- required,
100
- computed,
101
- });
102
- return this;
103
- }
104
- }
105
- exports.SchemaBuilder = SchemaBuilder;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsU0FBZ0IsTUFBTSxDQUFDLEVBQ3JCLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxHQUFHLEVBQUUsRUFDZCxXQUFXLEdBQUcsRUFBRSxHQU1qQjtJQUNDLE9BQU87UUFDTCxjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRTtZQUNoQixDQUFDLCtCQUErQixJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUztnQkFDM0IsbUJBQW1CLEVBQUUsV0FBVzthQUNqQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFyQkQsd0JBcUJDO0FBRUQsTUFBYSxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLFFBQVEsR0FPckI7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbkMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUTtTQUNULENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEdBTVQ7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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RSxNQUFNLEdBQUcsVUFBVTtZQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE1SkQsc0NBNEpDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IFByb3ZpZGVyU2NoZW1hLCBTY2hlbWEsIEF0dHJpYnV0ZVR5cGUsIEJsb2NrIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbnR5cGUgUmVzb3VyY2VTY2hlbWEgPSB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbmV4cG9ydCBmdW5jdGlvbiBzY2hlbWEoe1xuICBuYW1lLFxuICBwcm92aWRlcixcbiAgcmVzb3VyY2VzID0ge30sXG4gIGRhdGFTb3VyY2VzID0ge30sXG59OiB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJvdmlkZXI6IFNjaGVtYTtcbiAgcmVzb3VyY2VzOiBSZXNvdXJjZVNjaGVtYTtcbiAgZGF0YVNvdXJjZXM6IFJlc291cmNlU2NoZW1hO1xufSk6IFByb3ZpZGVyU2NoZW1hIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIixcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBbYHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9jZGt0Zi8ke25hbWV9YF06IHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZV9zY2hlbWFzOiByZXNvdXJjZXMsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IGRhdGFTb3VyY2VzLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hQnVpbGRlciB7XG4gIHByaXZhdGUgc2NoZW1hOiBTY2hlbWE7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zY2hlbWEgPSB7XG4gICAgICB2ZXJzaW9uOiAwLFxuICAgICAgYmxvY2s6IHtcbiAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgIGJsb2NrX3R5cGVzOiB7fSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRyaWJ1dGUoe1xuICAgIG5hbWUsXG4gICAgdHlwZSxcbiAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgIGNvbXB1dGVkID0gZmFsc2UsXG4gICAgb3B0aW9uYWwgPSAhcmVxdWlyZWQsXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogQXR0cmlidXRlVHlwZTtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgY29tcHV0ZWQ/OiBib29sZWFuO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmF0dHJpYnV0ZXNbbmFtZV0gPSB7XG4gICAgICB0eXBlLFxuICAgICAgb3B0aW9uYWwsXG4gICAgICBjb21wdXRlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbGlzdEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICAgIG1pbkl0ZW1zLFxuICAgIG1heEl0ZW1zLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHtcbiAgICAgIG5lc3RpbmdfbW9kZTogXCJsaXN0XCIsXG4gICAgICBibG9jayxcbiAgICAgIG1pbl9pdGVtczogbWluSXRlbXMsXG4gICAgICBtYXhfaXRlbXM6IG1heEl0ZW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWFwQmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYmxvY2tfdHlwZXNbbmFtZV0gPSB7IG5lc3RpbmdfbW9kZTogXCJtYXBcIiwgYmxvY2sgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNldFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHB1YmxpYyBzaW5nbGVCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hO1xuICB9XG5cbiAgcHVibGljIGFzQmxvY2soKTogQmxvY2sge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5ibG9jaztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJzdHJcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJudW1cIiwgdHlwZTogXCJudW1iZXJcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJib29sXCIsIHR5cGU6IFwiYm9vbFwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICBwcmVmaXg6IFwib3B0XCIsXG4gICAgfSlcbiAgICAgIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UsIHByZWZpeDogXCJyZXFcIiB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgcHJlZml4OiBcImNvbXB1dGVkXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoe1xuICAgIHJlcXVpcmVkLFxuICAgIGNvbXB1dGVkLFxuICAgIHByZWZpeCA9IFwiXCIsXG4gIH06IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb21wdXRlZDogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmF0dHJpYnV0ZSh7XG4gICAgICBuYW1lOiBwcmVmaXggKyBcInN0ckxpc3RcIixcbiAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGNvbXB1dGVkLFxuICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJudW1MaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJudW1iZXJcIl0sXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICBjb21wdXRlZCxcbiAgICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJib29sTGlzdFwiLFxuICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwiYm9vbFwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- export {};
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- // Copyright (c) HashiCorp, Inc
27
- // SPDX-License-Identifier: MPL-2.0
28
- const path = __importStar(require("path"));
29
- const fs = __importStar(require("fs-extra"));
30
- const _1 = require(".");
31
- const __1 = require("../..");
32
- // This script builds the schema for the edge provider into the given directory for all languages.
33
- const args = process.argv.slice(2);
34
- const targetPath = args[0];
35
- if (!targetPath) {
36
- console.error("No target path specified");
37
- process.exit(1);
38
- }
39
- // Clear / Create path
40
- fs.mkdirpSync(targetPath);
41
- fs.emptyDirSync(targetPath);
42
- const deps = ["@types/node", "constructs", "cdktn"];
43
- (async () => {
44
- await (0, __1.generateProviderBindingsFromSchema)(targetPath, _1.edgeSchema, {
45
- entrypoint: path.join("providers", "edge", "index.ts"),
46
- deps: deps.map((dep) => path.dirname(require.resolve(`${dep}/package.json`))),
47
- moduleKey: "edge",
48
- python: {
49
- outdir: path.resolve(targetPath, "python"),
50
- moduleName: "edge",
51
- },
52
- java: {
53
- outdir: path.resolve(targetPath, "java"),
54
- package: `imports.edgeprovider`,
55
- },
56
- csharp: {
57
- outdir: path.resolve(targetPath, "csharp"),
58
- namespace: "Providers.Edge",
59
- },
60
- golang: {
61
- outdir: path.resolve(targetPath, "go"),
62
- moduleName: "cdk.tf/go/stack/generated/hashicorp",
63
- packageName: "edge",
64
- },
65
- });
66
- })();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0Isd0JBQStCO0FBQy9CLDZCQUEyRDtBQUUzRCxrR0FBa0c7QUFDbEcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsc0JBQXNCO0FBQ3RCLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUU1QixNQUFNLElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFcEQsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNWLE1BQU0sSUFBQSxzQ0FBa0MsRUFBQyxVQUFVLEVBQUUsYUFBVSxFQUFFO1FBQy9ELFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBQ3RELElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUNyRDtRQUNELFNBQVMsRUFBRSxNQUFNO1FBQ2pCLE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDMUMsVUFBVSxFQUFFLE1BQU07U0FDbkI7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxzQkFBc0I7U0FDaEM7UUFDRCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzFDLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUI7UUFDRCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1lBQ3RDLFVBQVUsRUFBRSxxQ0FBcUM7WUFDakQsV0FBVyxFQUFFLE1BQU07U0FDcEI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgZWRnZVNjaGVtYSB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZVByb3ZpZGVyQmluZGluZ3NGcm9tU2NoZW1hIH0gZnJvbSBcIi4uLy4uXCI7XG5cbi8vIFRoaXMgc2NyaXB0IGJ1aWxkcyB0aGUgc2NoZW1hIGZvciB0aGUgZWRnZSBwcm92aWRlciBpbnRvIHRoZSBnaXZlbiBkaXJlY3RvcnkgZm9yIGFsbCBsYW5ndWFnZXMuXG5jb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuY29uc3QgdGFyZ2V0UGF0aCA9IGFyZ3NbMF07XG5cbmlmICghdGFyZ2V0UGF0aCkge1xuICBjb25zb2xlLmVycm9yKFwiTm8gdGFyZ2V0IHBhdGggc3BlY2lmaWVkXCIpO1xuICBwcm9jZXNzLmV4aXQoMSk7XG59XG5cbi8vIENsZWFyIC8gQ3JlYXRlIHBhdGhcbmZzLm1rZGlycFN5bmModGFyZ2V0UGF0aCk7XG5mcy5lbXB0eURpclN5bmModGFyZ2V0UGF0aCk7XG5cbmNvbnN0IGRlcHMgPSBbXCJAdHlwZXMvbm9kZVwiLCBcImNvbnN0cnVjdHNcIiwgXCJjZGt0blwiXTtcblxuKGFzeW5jICgpID0+IHtcbiAgYXdhaXQgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYSh0YXJnZXRQYXRoLCBlZGdlU2NoZW1hLCB7XG4gICAgZW50cnlwb2ludDogcGF0aC5qb2luKFwicHJvdmlkZXJzXCIsIFwiZWRnZVwiLCBcImluZGV4LnRzXCIpLFxuICAgIGRlcHM6IGRlcHMubWFwKChkZXApID0+XG4gICAgICBwYXRoLmRpcm5hbWUocmVxdWlyZS5yZXNvbHZlKGAke2RlcH0vcGFja2FnZS5qc29uYCkpLFxuICAgICksXG4gICAgbW9kdWxlS2V5OiBcImVkZ2VcIixcbiAgICBweXRob246IHtcbiAgICAgIG91dGRpcjogcGF0aC5yZXNvbHZlKHRhcmdldFBhdGgsIFwicHl0aG9uXCIpLFxuICAgICAgbW9kdWxlTmFtZTogXCJlZGdlXCIsXG4gICAgfSxcbiAgICBqYXZhOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImphdmFcIiksXG4gICAgICBwYWNrYWdlOiBgaW1wb3J0cy5lZGdlcHJvdmlkZXJgLFxuICAgIH0sXG4gICAgY3NoYXJwOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImNzaGFycFwiKSxcbiAgICAgIG5hbWVzcGFjZTogXCJQcm92aWRlcnMuRWRnZVwiLFxuICAgIH0sXG4gICAgZ29sYW5nOiB7XG4gICAgICBvdXRkaXI6IHBhdGgucmVzb2x2ZSh0YXJnZXRQYXRoLCBcImdvXCIpLFxuICAgICAgbW9kdWxlTmFtZTogXCJjZGsudGYvZ28vc3RhY2svZ2VuZXJhdGVkL2hhc2hpY29ycFwiLFxuICAgICAgcGFja2FnZU5hbWU6IFwiZWRnZVwiLFxuICAgIH0sXG4gIH0pO1xufSkoKTtcbiJdfQ==
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.edgeSchema = void 0;
4
- const builder_1 = require("./builder");
5
- const required_attribute_resource = new builder_1.SchemaBuilder()
6
- .addAllPrimitiveTypes({ required: true, computed: false })
7
- .addAllPrimitiveListTypes({ required: true, computed: false })
8
- .build();
9
- const optional_attribute_resource = new builder_1.SchemaBuilder()
10
- .addAllPrimitiveTypes({ required: false, computed: false })
11
- .addAllPrimitiveListTypes({ required: false, computed: false })
12
- .build();
13
- const optional_computed_attribute_resource = new builder_1.SchemaBuilder()
14
- .addAllPrimitiveTypes({ required: false, computed: true })
15
- .addAllPrimitiveListTypes({ required: false, computed: true })
16
- .build();
17
- const list_block_resource = new builder_1.SchemaBuilder()
18
- .listBlock({
19
- name: "opt",
20
- block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
21
- minItems: 0,
22
- maxItems: 42,
23
- })
24
- .listBlock({
25
- name: "req",
26
- block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
27
- minItems: 1,
28
- maxItems: 42,
29
- })
30
- .listBlock({
31
- name: "singleopt",
32
- block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
33
- minItems: 0,
34
- maxItems: 1,
35
- })
36
- .listBlock({
37
- name: "singlereq",
38
- block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
39
- minItems: 1,
40
- maxItems: 1,
41
- })
42
- .listBlock({
43
- name: "singleComputedBlock",
44
- block: new builder_1.SchemaBuilder()
45
- .attribute({
46
- computed: true,
47
- name: "computed",
48
- type: "string",
49
- required: false,
50
- optional: false,
51
- })
52
- .attribute({
53
- computed: false,
54
- name: "configured",
55
- type: "string",
56
- required: false,
57
- })
58
- .asBlock(),
59
- minItems: 0,
60
- maxItems: 1,
61
- })
62
- .attribute({
63
- name: "computedListOfObject",
64
- type: [
65
- "list",
66
- [
67
- "object",
68
- {
69
- str: "string",
70
- },
71
- ],
72
- ],
73
- computed: true,
74
- optional: false,
75
- })
76
- .attribute({
77
- name: "computedListOfMapOfObject",
78
- type: [
79
- "list",
80
- [
81
- "map",
82
- [
83
- "object",
84
- {
85
- str: "string",
86
- other: "string",
87
- },
88
- ],
89
- ],
90
- ],
91
- computed: true,
92
- optional: false,
93
- })
94
- .build();
95
- const map_list_resource = new builder_1.SchemaBuilder()
96
- .attribute({
97
- name: "mapListOfObject",
98
- type: [
99
- "map",
100
- [
101
- "list",
102
- [
103
- "object",
104
- {
105
- hello: "string",
106
- },
107
- ],
108
- ],
109
- ],
110
- computed: false,
111
- optional: false,
112
- })
113
- .build();
114
- const map_resource = new builder_1.SchemaBuilder()
115
- .attribute({
116
- name: "optMap",
117
- type: ["map", "string"],
118
- required: false,
119
- computed: false,
120
- })
121
- .attribute({
122
- name: "reqMap",
123
- type: ["map", "bool"],
124
- required: true,
125
- computed: false,
126
- })
127
- .attribute({
128
- name: "computedMap",
129
- type: ["map", "number"],
130
- required: false,
131
- computed: true,
132
- })
133
- .build();
134
- const set_block_resource = new builder_1.SchemaBuilder()
135
- .setBlock({
136
- name: "set",
137
- block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
138
- })
139
- .build();
140
- exports.edgeSchema = (0, builder_1.schema)({
141
- name: "edge",
142
- provider: new builder_1.SchemaBuilder().addAllPrimitivePermutations().build(),
143
- resources: {
144
- required_attribute_resource,
145
- optional_attribute_resource,
146
- optional_computed_attribute_resource,
147
- list_block_resource,
148
- map_resource,
149
- set_block_resource,
150
- map_list_resource,
151
- },
152
- dataSources: {},
153
- });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSx1Q0FBdUQ7QUFFdkQsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDeEMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUN6RCx3QkFBd0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzdELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDeEMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUMxRCx3QkFBd0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzlELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDakQsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUN6RCx3QkFBd0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQzdELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDaEMsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDdEQsUUFBUSxFQUFFLENBQUM7SUFDWCxRQUFRLEVBQUUsRUFBRTtDQUNiLENBQUM7S0FDRCxTQUFTLENBQUM7SUFD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QUFDLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDdkIsUUFBUSxFQUFFLEtBQUs7SUFDZixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7S0FDRCxLQUFLLEVBQUUsQ0FBQztBQUVYLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSx1QkFBQyxFQUFFO0tBQy9CLFFBQVEsQ0FBQztJQUNSLElBQUksRUFBRSxLQUFLO0lBQ1gsS0FBSyxFQUFFLElBQUksdUJBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsT0FBTyxFQUFFO0NBQ3ZELENBQUM7S0FDRCxLQUFLLEVBQUUsQ0FBQztBQUVFLFFBQUEsVUFBVSxHQUFtQixJQUFBLGdCQUFNLEVBQUM7SUFDL0MsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDdkQsU0FBUyxFQUFFO1FBQ1QsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixvQ0FBb0M7UUFDcEMsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsaUJBQWlCO0tBQ2xCO0lBQ0QsV0FBVyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IFByb3ZpZGVyU2NoZW1hIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBzY2hlbWEsIFNjaGVtYUJ1aWxkZXIgYXMgUyB9IGZyb20gXCIuL2J1aWxkZXJcIjtcblxuY29uc3QgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogZmFsc2UsIGNvbXB1dGVkOiBmYWxzZSB9KVxuICAuYnVpbGQoKTtcblxuY29uc3Qgb3B0aW9uYWxfY29tcHV0ZWRfYXR0cmlidXRlX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoeyByZXF1aXJlZDogZmFsc2UsIGNvbXB1dGVkOiB0cnVlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogZmFsc2UsIGNvbXB1dGVkOiB0cnVlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBsaXN0X2Jsb2NrX3Jlc291cmNlID0gbmV3IFMoKVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcIm9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogNDIsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwicmVxXCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAxLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVvcHRcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDAsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlcmVxXCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAxLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZUNvbXB1dGVkQmxvY2tcIixcbiAgICBibG9jazogbmV3IFMoKVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgICAgICBuYW1lOiBcImNvbXB1dGVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgICAgfSlcbiAgICAgIC5hdHRyaWJ1dGUoe1xuICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgIG5hbWU6IFwiY29uZmlndXJlZFwiLFxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJjb21wdXRlZExpc3RPZk9iamVjdFwiLFxuICAgIHR5cGU6IFtcbiAgICAgIFwibGlzdFwiLFxuICAgICAgW1xuICAgICAgICBcIm9iamVjdFwiLFxuICAgICAgICB7XG4gICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICBdLFxuICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgIG9wdGlvbmFsOiBmYWxzZSxcbiAgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJjb21wdXRlZExpc3RPZk1hcE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwibWFwXCIsXG4gICAgICAgIFtcbiAgICAgICAgICBcIm9iamVjdFwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHN0cjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIG90aGVyOiBcInN0cmluZ1wiLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX2xpc3RfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hdHRyaWJ1dGUoe1xuICAgIG5hbWU6IFwibWFwTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJtYXBcIixcbiAgICAgIFtcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFtcbiAgICAgICAgICBcIm9iamVjdFwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlbGxvOiBcInN0cmluZ1wiLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgIG9wdGlvbmFsOiBmYWxzZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IG1hcF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJvcHRNYXBcIixcbiAgICB0eXBlOiBbXCJtYXBcIiwgXCJzdHJpbmdcIl0sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJyZXFNYXBcIixcbiAgICB0eXBlOiBbXCJtYXBcIiwgXCJib29sXCJdLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJjb21wdXRlZE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcIm51bWJlclwiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBzZXRfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5zZXRCbG9jayh7XG4gICAgbmFtZTogXCJzZXRcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5leHBvcnQgY29uc3QgZWRnZVNjaGVtYTogUHJvdmlkZXJTY2hlbWEgPSBzY2hlbWEoe1xuICBuYW1lOiBcImVkZ2VcIixcbiAgcHJvdmlkZXI6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYnVpbGQoKSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgbGlzdF9ibG9ja19yZXNvdXJjZSxcbiAgICBtYXBfcmVzb3VyY2UsXG4gICAgc2V0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9saXN0X3Jlc291cmNlLFxuICB9LFxuICBkYXRhU291cmNlczoge30sXG59KTtcbiJdfQ==