@cdktn/provider-newrelic 16.3.4 → 16.4.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 (194) hide show
  1. package/.jsii +16818 -9432
  2. package/README.md +3 -3
  3. package/lib/account-management/index.d.ts +10 -10
  4. package/lib/account-management/index.js +7 -7
  5. package/lib/alert-channel/index.d.ts +30 -30
  6. package/lib/alert-channel/index.js +7 -7
  7. package/lib/alert-compound-condition/index.d.ts +19 -19
  8. package/lib/alert-compound-condition/index.js +9 -9
  9. package/lib/alert-condition/index.d.ts +23 -23
  10. package/lib/alert-condition/index.js +8 -8
  11. package/lib/alert-muting-rule/index.d.ts +23 -23
  12. package/lib/alert-muting-rule/index.js +10 -10
  13. package/lib/alert-policy/index.d.ts +8 -8
  14. package/lib/alert-policy/index.js +6 -6
  15. package/lib/alert-policy-channel/index.d.ts +9 -9
  16. package/lib/alert-policy-channel/index.js +7 -7
  17. package/lib/api-access-key/index.d.ts +10 -10
  18. package/lib/api-access-key/index.js +6 -6
  19. package/lib/application-settings/index.d.ts +27 -27
  20. package/lib/application-settings/index.js +13 -13
  21. package/lib/aws-connection/index.d.ts +22 -22
  22. package/lib/aws-connection/index.js +12 -12
  23. package/lib/browser-application/index.d.ts +12 -12
  24. package/lib/browser-application/index.js +7 -7
  25. package/lib/cardinality-management/index.d.ts +9 -9
  26. package/lib/cardinality-management/index.js +8 -8
  27. package/lib/cloud-aws-eu-sovereign-integrations/index.d.ts +14 -14
  28. package/lib/cloud-aws-eu-sovereign-integrations/index.js +9 -9
  29. package/lib/cloud-aws-eu-sovereign-link-account/index.d.ts +8 -8
  30. package/lib/cloud-aws-eu-sovereign-link-account/index.js +6 -6
  31. package/lib/cloud-aws-govcloud-integrations/index.d.ts +110 -110
  32. package/lib/cloud-aws-govcloud-integrations/index.js +26 -26
  33. package/lib/cloud-aws-govcloud-link-account/index.d.ts +8 -8
  34. package/lib/cloud-aws-govcloud-link-account/index.js +6 -6
  35. package/lib/cloud-aws-integrations/index.d.ts +234 -234
  36. package/lib/cloud-aws-integrations/index.js +60 -60
  37. package/lib/cloud-aws-link-account/index.d.ts +8 -8
  38. package/lib/cloud-aws-link-account/index.js +6 -6
  39. package/lib/cloud-azure-integrations/index.d.ts +109 -109
  40. package/lib/cloud-azure-integrations/index.js +39 -39
  41. package/lib/cloud-azure-link-account/index.d.ts +10 -10
  42. package/lib/cloud-azure-link-account/index.js +6 -6
  43. package/lib/cloud-gcp-dm-integrations/index.d.ts +76 -76
  44. package/lib/cloud-gcp-dm-integrations/index.js +41 -41
  45. package/lib/cloud-gcp-integrations/index.d.ts +62 -62
  46. package/lib/cloud-gcp-integrations/index.js +32 -32
  47. package/lib/cloud-gcp-link-account/index.d.ts +10 -10
  48. package/lib/cloud-gcp-link-account/index.js +6 -6
  49. package/lib/cloud-oci-link-account/index.d.ts +20 -20
  50. package/lib/cloud-oci-link-account/index.js +6 -6
  51. package/lib/data-newrelic-account/index.d.ts +7 -7
  52. package/lib/data-newrelic-account/index.js +6 -6
  53. package/lib/data-newrelic-alert-channel/index.d.ts +6 -6
  54. package/lib/data-newrelic-alert-channel/index.js +8 -8
  55. package/lib/data-newrelic-alert-policy/index.d.ts +7 -7
  56. package/lib/data-newrelic-alert-policy/index.js +6 -6
  57. package/lib/data-newrelic-api-access-key/index.d.ts +10 -10
  58. package/lib/data-newrelic-api-access-key/index.js +6 -6
  59. package/lib/data-newrelic-application/index.d.ts +5 -5
  60. package/lib/data-newrelic-application/index.js +6 -6
  61. package/lib/data-newrelic-authentication-domain/index.d.ts +4 -4
  62. package/lib/data-newrelic-authentication-domain/index.js +6 -6
  63. package/lib/data-newrelic-cloud-account/index.d.ts +8 -8
  64. package/lib/data-newrelic-cloud-account/index.js +6 -6
  65. package/lib/data-newrelic-entity/index.d.ts +14 -14
  66. package/lib/data-newrelic-entity/index.js +8 -8
  67. package/lib/data-newrelic-fleet-configuration/index.d.ts +8 -8
  68. package/lib/data-newrelic-fleet-configuration/index.js +6 -6
  69. package/lib/data-newrelic-fleet-members/index.d.ts +6 -6
  70. package/lib/data-newrelic-fleet-members/index.js +8 -8
  71. package/lib/data-newrelic-group/index.d.ts +5 -5
  72. package/lib/data-newrelic-group/index.js +6 -6
  73. package/lib/data-newrelic-key-transaction/index.d.ts +7 -7
  74. package/lib/data-newrelic-key-transaction/index.js +6 -6
  75. package/lib/data-newrelic-notebook/index.d.ts +6 -6
  76. package/lib/data-newrelic-notebook/index.js +6 -6
  77. package/lib/data-newrelic-notification-destination/index.d.ts +12 -12
  78. package/lib/data-newrelic-notification-destination/index.js +11 -11
  79. package/lib/data-newrelic-obfuscation-expression/index.d.ts +6 -6
  80. package/lib/data-newrelic-obfuscation-expression/index.js +6 -6
  81. package/lib/data-newrelic-service-level-alert-helper/index.d.ts +11 -11
  82. package/lib/data-newrelic-service-level-alert-helper/index.js +6 -6
  83. package/lib/data-newrelic-synthetics-private-location/index.d.ts +7 -7
  84. package/lib/data-newrelic-synthetics-private-location/index.js +6 -6
  85. package/lib/data-newrelic-synthetics-secure-credential/index.d.ts +6 -6
  86. package/lib/data-newrelic-synthetics-secure-credential/index.js +6 -6
  87. package/lib/data-newrelic-teams-hierarchy-levels/index.d.ts +80 -0
  88. package/lib/data-newrelic-teams-hierarchy-levels/index.js +208 -0
  89. package/lib/data-newrelic-test-grok-pattern/index.d.ts +7 -7
  90. package/lib/data-newrelic-test-grok-pattern/index.js +10 -10
  91. package/lib/data-newrelic-user/index.d.ts +6 -6
  92. package/lib/data-newrelic-user/index.js +6 -6
  93. package/lib/data-partition-rule/index.d.ts +12 -12
  94. package/lib/data-partition-rule/index.js +7 -7
  95. package/lib/entity-tags/index.d.ts +10 -10
  96. package/lib/entity-tags/index.js +9 -9
  97. package/lib/events-to-metrics-rule/index.d.ts +9 -9
  98. package/lib/events-to-metrics-rule/index.js +6 -6
  99. package/lib/federated-logs-partition/index.d.ts +20 -20
  100. package/lib/federated-logs-partition/index.js +19 -19
  101. package/lib/federated-logs-setup/index.d.ts +29 -29
  102. package/lib/federated-logs-setup/index.js +22 -22
  103. package/lib/fleet/index.d.ts +10 -10
  104. package/lib/fleet/index.js +6 -6
  105. package/lib/fleet-configuration/index.d.ts +12 -12
  106. package/lib/fleet-configuration/index.js +6 -6
  107. package/lib/fleet-deployment/index.d.ts +13 -13
  108. package/lib/fleet-deployment/index.js +8 -8
  109. package/lib/fleet-members/index.d.ts +8 -8
  110. package/lib/fleet-members/index.js +8 -8
  111. package/lib/group/index.d.ts +7 -7
  112. package/lib/group/index.js +6 -6
  113. package/lib/index.d.ts +5 -0
  114. package/lib/index.js +7 -2
  115. package/lib/infra-alert-condition/index.d.ts +25 -25
  116. package/lib/infra-alert-condition/index.js +8 -8
  117. package/lib/insights-event/index.d.ts +11 -11
  118. package/lib/insights-event/index.js +10 -10
  119. package/lib/key-transaction/index.d.ts +9 -9
  120. package/lib/key-transaction/index.js +6 -6
  121. package/lib/lazy-index.js +6 -1
  122. package/lib/log-parsing-rule/index.d.ts +12 -12
  123. package/lib/log-parsing-rule/index.js +6 -6
  124. package/lib/metric-pruning-rule/index.d.ts +7 -7
  125. package/lib/metric-pruning-rule/index.js +6 -6
  126. package/lib/monitor-downtime/index.d.ts +20 -20
  127. package/lib/monitor-downtime/index.js +9 -9
  128. package/lib/notebook/index.d.ts +10 -10
  129. package/lib/notebook/index.js +7 -7
  130. package/lib/notification-channel/index.d.ts +18 -18
  131. package/lib/notification-channel/index.js +9 -9
  132. package/lib/notification-destination/index.d.ts +31 -31
  133. package/lib/notification-destination/index.js +15 -15
  134. package/lib/nrql-alert-condition/index.d.ts +78 -78
  135. package/lib/nrql-alert-condition/index.js +17 -17
  136. package/lib/nrql-drop-rule/index.d.ts +10 -10
  137. package/lib/nrql-drop-rule/index.js +7 -7
  138. package/lib/obfuscation-expression/index.d.ts +8 -8
  139. package/lib/obfuscation-expression/index.js +6 -6
  140. package/lib/obfuscation-rule/index.d.ts +13 -13
  141. package/lib/obfuscation-rule/index.js +8 -8
  142. package/lib/one-dashboard/index-structs/structs0.d.ts +364 -364
  143. package/lib/one-dashboard/index-structs/structs0.js +185 -185
  144. package/lib/one-dashboard/index-structs/structs400.d.ts +286 -286
  145. package/lib/one-dashboard/index-structs/structs400.js +130 -130
  146. package/lib/one-dashboard/index.d.ts +10 -10
  147. package/lib/one-dashboard/index.js +6 -6
  148. package/lib/one-dashboard-json/index.d.ts +9 -9
  149. package/lib/one-dashboard-json/index.js +7 -7
  150. package/lib/one-dashboard-raw/index.d.ts +20 -20
  151. package/lib/one-dashboard-raw/index.js +10 -10
  152. package/lib/pathpoint-flow/index.d.ts +72 -72
  153. package/lib/pathpoint-flow/index.js +29 -29
  154. package/lib/pipeline-cloud-rule/index.d.ts +8 -8
  155. package/lib/pipeline-cloud-rule/index.js +6 -6
  156. package/lib/provider/index.d.ts +17 -17
  157. package/lib/provider/index.js +6 -6
  158. package/lib/scorecard/index.d.ts +264 -0
  159. package/lib/scorecard/index.js +675 -0
  160. package/lib/scorecard-rule/index.d.ts +273 -0
  161. package/lib/scorecard-rule/index.js +703 -0
  162. package/lib/service-level/index.d.ts +38 -38
  163. package/lib/service-level/index.js +16 -16
  164. package/lib/synthetics-alert-condition/index.d.ts +9 -9
  165. package/lib/synthetics-alert-condition/index.js +6 -6
  166. package/lib/synthetics-broken-links-monitor/index.d.ts +17 -17
  167. package/lib/synthetics-broken-links-monitor/index.js +8 -8
  168. package/lib/synthetics-cert-check-monitor/index.d.ts +18 -18
  169. package/lib/synthetics-cert-check-monitor/index.js +8 -8
  170. package/lib/synthetics-monitor/index.d.ts +31 -31
  171. package/lib/synthetics-monitor/index.js +10 -10
  172. package/lib/synthetics-multilocation-alert-condition/index.d.ts +14 -14
  173. package/lib/synthetics-multilocation-alert-condition/index.js +8 -8
  174. package/lib/synthetics-private-location/index.d.ts +9 -9
  175. package/lib/synthetics-private-location/index.js +6 -6
  176. package/lib/synthetics-script-monitor/index.d.ts +26 -26
  177. package/lib/synthetics-script-monitor/index.js +10 -10
  178. package/lib/synthetics-secure-credential/index.d.ts +11 -11
  179. package/lib/synthetics-secure-credential/index.js +7 -7
  180. package/lib/synthetics-step-monitor/index.d.ts +25 -25
  181. package/lib/synthetics-step-monitor/index.js +12 -12
  182. package/lib/team/index.d.ts +328 -0
  183. package/lib/team/index.js +826 -0
  184. package/lib/teams-organization-settings/index.d.ts +230 -0
  185. package/lib/teams-organization-settings/index.js +578 -0
  186. package/lib/user/index.d.ts +8 -8
  187. package/lib/user/index.js +6 -6
  188. package/lib/workflow/index.d.ts +26 -26
  189. package/lib/workflow/index.js +16 -16
  190. package/lib/workflow-automation/index.d.ts +8 -8
  191. package/lib/workflow-automation/index.js +6 -6
  192. package/lib/workload/index.d.ts +37 -37
  193. package/lib/workload/index.js +20 -20
  194. package/package.json +3 -3
@@ -37,10 +37,10 @@ exports.DataNewrelicSyntheticsSecureCredential = void 0;
37
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
38
38
  const cdktn = __importStar(require("cdktn"));
39
39
  /**
40
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/synthetics_secure_credential newrelic_synthetics_secure_credential}
40
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/synthetics_secure_credential newrelic_synthetics_secure_credential}
41
41
  */
42
42
  class DataNewrelicSyntheticsSecureCredential extends cdktn.TerraformDataSource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.dataNewrelicSyntheticsSecureCredential.DataNewrelicSyntheticsSecureCredential", version: "16.3.4" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.dataNewrelicSyntheticsSecureCredential.DataNewrelicSyntheticsSecureCredential", version: "16.4.0" };
44
44
  // =================
45
45
  // STATIC PROPERTIES
46
46
  // =================
@@ -52,7 +52,7 @@ class DataNewrelicSyntheticsSecureCredential extends cdktn.TerraformDataSource {
52
52
  * Generates CDKTN code for importing a DataNewrelicSyntheticsSecureCredential resource upon running "cdktn plan <stack-name>"
53
53
  * @param scope The scope in which to define this construct
54
54
  * @param importToId The construct id used in the generated config for the DataNewrelicSyntheticsSecureCredential to import
55
- * @param importFromId The id of the existing DataNewrelicSyntheticsSecureCredential that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/synthetics_secure_credential#import import section} in the documentation of this resource for the id to use
55
+ * @param importFromId The id of the existing DataNewrelicSyntheticsSecureCredential that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/synthetics_secure_credential#import import section} in the documentation of this resource for the id to use
56
56
  * @param provider? Optional instance of the provider where the DataNewrelicSyntheticsSecureCredential to import is found
57
57
  */
58
58
  static generateConfigForImport(scope, importToId, importFromId, provider) {
@@ -62,7 +62,7 @@ class DataNewrelicSyntheticsSecureCredential extends cdktn.TerraformDataSource {
62
62
  // INITIALIZER
63
63
  // ===========
64
64
  /**
65
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/synthetics_secure_credential newrelic_synthetics_secure_credential} Data Source
65
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/synthetics_secure_credential newrelic_synthetics_secure_credential} Data Source
66
66
  *
67
67
  * @param scope The scope in which to define this construct
68
68
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
@@ -73,7 +73,7 @@ class DataNewrelicSyntheticsSecureCredential extends cdktn.TerraformDataSource {
73
73
  terraformResourceType: 'newrelic_synthetics_secure_credential',
74
74
  terraformGeneratorMetadata: {
75
75
  providerName: 'newrelic',
76
- providerVersion: '3.100.5',
76
+ providerVersion: '3.101.0',
77
77
  providerVersionConstraint: '~> 3.7'
78
78
  },
79
79
  provider: config.provider,
@@ -177,4 +177,4 @@ class DataNewrelicSyntheticsSecureCredential extends cdktn.TerraformDataSource {
177
177
  }
178
178
  }
179
179
  exports.DataNewrelicSyntheticsSecureCredential = DataNewrelicSyntheticsSecureCredential;
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1uZXdyZWxpYy1zeW50aGV0aWNzLXNlY3VyZS1jcmVkZW50aWFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSw2Q0FBK0I7QUEwQi9COztFQUVFO0FBQ0YsTUFBYSxzQ0FBdUMsU0FBUSxLQUFLLENBQUMsbUJBQW1COztJQUVuRixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNiLE1BQU0sQ0FBVSxjQUFjLEdBQUcsdUNBQXVDLENBQUM7SUFFaEYsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakI7Ozs7OztNQU1FO0lBQ0ssTUFBTSxDQUFDLHVCQUF1QixDQUFDLEtBQWdCLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFFBQWtDO1FBQzlILE9BQU8sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLHVDQUF1QyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvSixDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBb0Q7UUFDbkcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixxQkFBcUIsRUFBRSx1Q0FBdUM7WUFDOUQsMEJBQTBCLEVBQUU7Z0JBQzFCLFlBQVksRUFBRSxVQUFVO2dCQUN4QixlQUFlLEVBQUUsU0FBUztnQkFDMUIseUJBQXlCLEVBQUUsUUFBUTthQUNwQztZQUNELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsS0FBSyxFQUFFLE1BQU0s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QUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDNUMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBcEpILHdGQXFKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMC41L2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWxcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbENvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBUaGUgTmV3IFJlbGljIGFjY291bnQgSUQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2VjdXJlIGNyZWRlbnRpYWwuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMC41L2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwjYWNjb3VudF9pZCBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCNhY2NvdW50X2lkfVxuICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBudW1iZXI7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAwLjUvZG9jcy9kYXRhLXNvdXJjZXMvc3ludGhldGljc19zZWN1cmVfY3JlZGVudGlhbCNpZCBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCNpZH1cbiAgKlxuICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoZSBpZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGFsbCByZXNvdXJjZXMgaW4gVGVycmFmb3JtIHByb3ZpZGVycyB1c2luZyBhIFRlcnJhZm9ybSBwcm92aWRlciBTREsgdmVyc2lvbiBiZWxvdyAyLlxuICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgLyoqXG4gICogVGhlIHNlY3VyZSBjcmVkZW50aWFsJ3Mga2V5IG5hbWUuIFJlZ2FyZGxlc3Mgb2YgdGhlIGNhc2UgdXNlZCBpbiB0aGUgY29uZmlndXJhdGlvbiwgdGhlIHByb3ZpZGVyIHdpbGwgcHJvdmlkZSBhbiB1cGNhc2VkIGtleSB0byB0aGUgdW5kZXJseWluZyBBUEkuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMC41L2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwja2V5IERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsI2tleX1cbiAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMC41L2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwgbmV3cmVsaWNfc3ludGhldGljc19zZWN1cmVfY3JlZGVudGlhbH1cbiovXG5leHBvcnQgY2xhc3MgRGF0YU5ld3JlbGljU3ludGhldGljc1NlY3VyZUNyZWRlbnRpYWwgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1EYXRhU291cmNlIHtcblxuICAvLyA9PT09PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgUFJPUEVSVElFU1xuICAvLyA9PT09PT09PT09PT09PT09PVxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHRmUmVzb3VyY2VUeXBlID0gXCJuZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsXCI7XG5cbiAgLy8gPT09PT09PT09PT09PT1cbiAgLy8gU1RBVElDIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT1cbiAgLyoqXG4gICogR2VuZXJhdGVzIENES1ROIGNvZGUgZm9yIGltcG9ydGluZyBhIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsIHJlc291cmNlIHVwb24gcnVubmluZyBcImNka3RuIHBsYW4gPHN0YWNrLW5hbWU+XCJcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpbXBvcnRUb0lkIFRoZSBjb25zdHJ1Y3QgaWQgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvbmZpZyBmb3IgdGhlIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsIHRvIGltcG9ydFxuICAqIEBwYXJhbSBpbXBvcnRGcm9tSWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCB0aGF0IHNob3VsZCBiZSBpbXBvcnRlZC4gUmVmZXIgdG8gdGhlIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDAuNS9kb2NzL2RhdGEtc291cmNlcy9zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsI2ltcG9ydCBpbXBvcnQgc2VjdGlvbn0gaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhpcyByZXNvdXJjZSBmb3IgdGhlIGlkIHRvIHVzZVxuICAqIEBwYXJhbSBwcm92aWRlcj8gT3B0aW9uYWwgaW5zdGFuY2Ugb2YgdGhlIHByb3ZpZGVyIHdoZXJlIHRoZSBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCB0byBpbXBvcnQgaXMgZm91bmRcbiAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCJuZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsXCIsIGltcG9ydElkOiBpbXBvcnRGcm9tSWQsIHByb3ZpZGVyIH0pO1xuICAgICAgfVxuXG4gIC8vID09PT09PT09PT09XG4gIC8vIElOSVRJQUxJWkVSXG4gIC8vID09PT09PT09PT09XG5cbiAgLyoqXG4gICogQ3JlYXRlIGEgbmV3IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDAuNS9kb2NzL2RhdGEtc291cmNlcy9zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsIG5ld3JlbGljX3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWx9IERhdGEgU291cmNlXG4gICpcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncyBpbiB0aGUgc2FtZSBzY29wZVxuICAqIEBwYXJhbSBvcHRpb25zIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsQ29uZmlnXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICduZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ25ld3JlbGljJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uOiAnMy4xMDAuNScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjcnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fYWNjb3VudElkID0gY29uZmlnLmFjY291bnRJZDtcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9rZXkgPSBjb25maWcua2V5O1xuICB9XG5cbiAgLy8gPT09PT09PT09PVxuICAvLyBBVFRSSUJVVEVTXG4gIC8vID09PT09PT09PT1cblxuICAvLyBhY2NvdW50X2lkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfYWNjb3VudElkPzogbnVtYmVyOyBcbiAgcHVibGljIGdldCBhY2NvdW50SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdhY2NvdW50X2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBhY2NvdW50SWQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnRJZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldEFjY291bnRJZCgpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGFjY291bnRJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50SWQ7XG4gIH1cblxuICAvLyBkZXNjcmlwdGlvbiAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIGtleSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9rZXk/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2tleScpO1xuICB9XG4gIHB1YmxpYyBzZXQga2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQga2V5SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleTtcbiAgfVxuXG4gIC8vIGxhc3RfdXBkYXRlZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbGFzdF91cGRhdGVkJyk7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnRfaWQ6IGNka3RuLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX2FjY291bnRJZCksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAga2V5OiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9rZXkpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgYWNjb3VudF9pZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4ubnVtYmVyVG9IY2xUZXJyYWZvcm0odGhpcy5fYWNjb3VudElkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgaWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2lkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAga2V5OiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9rZXkpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1uZXdyZWxpYy1zeW50aGV0aWNzLXNlY3VyZS1jcmVkZW50aWFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSw2Q0FBK0I7QUEwQi9COztFQUVFO0FBQ0YsTUFBYSxzQ0FBdUMsU0FBUSxLQUFLLENBQUMsbUJBQW1COztJQUVuRixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNiLE1BQU0sQ0FBVSxjQUFjLEdBQUcsdUNBQXVDLENBQUM7SUFFaEYsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakI7Ozs7OztNQU1FO0lBQ0ssTUFBTSxDQUFDLHVCQUF1QixDQUFDLEtBQWdCLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFFBQWtDO1FBQzlILE9BQU8sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLHVDQUF1QyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvSixDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBb0Q7UUFDbkcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixxQkFBcUIsRUFBRSx1Q0FBdUM7WUFDOUQsMEJBQTBCLEVBQUU7Z0JBQzFCLFlBQVksRUFBRSxVQUFVO2dCQUN4QixlQUFlLEVBQUUsU0FBUztnQkFDMUIseUJBQXlCLEVBQUUsUUFBUTthQUNwQztZQUNELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsS0FBSyxFQUFFLE1BQU0s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QUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDNUMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBcEpILHdGQXFKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWxcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbENvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBUaGUgTmV3IFJlbGljIGFjY291bnQgSUQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2VjdXJlIGNyZWRlbnRpYWwuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwjYWNjb3VudF9pZCBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCNhY2NvdW50X2lkfVxuICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBudW1iZXI7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjAvZG9jcy9kYXRhLXNvdXJjZXMvc3ludGhldGljc19zZWN1cmVfY3JlZGVudGlhbCNpZCBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCNpZH1cbiAgKlxuICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoZSBpZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGFsbCByZXNvdXJjZXMgaW4gVGVycmFmb3JtIHByb3ZpZGVycyB1c2luZyBhIFRlcnJhZm9ybSBwcm92aWRlciBTREsgdmVyc2lvbiBiZWxvdyAyLlxuICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgLyoqXG4gICogVGhlIHNlY3VyZSBjcmVkZW50aWFsJ3Mga2V5IG5hbWUuIFJlZ2FyZGxlc3Mgb2YgdGhlIGNhc2UgdXNlZCBpbiB0aGUgY29uZmlndXJhdGlvbiwgdGhlIHByb3ZpZGVyIHdpbGwgcHJvdmlkZSBhbiB1cGNhc2VkIGtleSB0byB0aGUgdW5kZXJseWluZyBBUEkuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwja2V5IERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsI2tleX1cbiAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWwgbmV3cmVsaWNfc3ludGhldGljc19zZWN1cmVfY3JlZGVudGlhbH1cbiovXG5leHBvcnQgY2xhc3MgRGF0YU5ld3JlbGljU3ludGhldGljc1NlY3VyZUNyZWRlbnRpYWwgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1EYXRhU291cmNlIHtcblxuICAvLyA9PT09PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgUFJPUEVSVElFU1xuICAvLyA9PT09PT09PT09PT09PT09PVxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHRmUmVzb3VyY2VUeXBlID0gXCJuZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsXCI7XG5cbiAgLy8gPT09PT09PT09PT09PT1cbiAgLy8gU1RBVElDIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT1cbiAgLyoqXG4gICogR2VuZXJhdGVzIENES1ROIGNvZGUgZm9yIGltcG9ydGluZyBhIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsIHJlc291cmNlIHVwb24gcnVubmluZyBcImNka3RuIHBsYW4gPHN0YWNrLW5hbWU+XCJcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpbXBvcnRUb0lkIFRoZSBjb25zdHJ1Y3QgaWQgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvbmZpZyBmb3IgdGhlIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsIHRvIGltcG9ydFxuICAqIEBwYXJhbSBpbXBvcnRGcm9tSWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCB0aGF0IHNob3VsZCBiZSBpbXBvcnRlZC4gUmVmZXIgdG8gdGhlIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMC9kb2NzL2RhdGEtc291cmNlcy9zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsI2ltcG9ydCBpbXBvcnQgc2VjdGlvbn0gaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhpcyByZXNvdXJjZSBmb3IgdGhlIGlkIHRvIHVzZVxuICAqIEBwYXJhbSBwcm92aWRlcj8gT3B0aW9uYWwgaW5zdGFuY2Ugb2YgdGhlIHByb3ZpZGVyIHdoZXJlIHRoZSBEYXRhTmV3cmVsaWNTeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCB0byBpbXBvcnQgaXMgZm91bmRcbiAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCJuZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsXCIsIGltcG9ydElkOiBpbXBvcnRGcm9tSWQsIHByb3ZpZGVyIH0pO1xuICAgICAgfVxuXG4gIC8vID09PT09PT09PT09XG4gIC8vIElOSVRJQUxJWkVSXG4gIC8vID09PT09PT09PT09XG5cbiAgLyoqXG4gICogQ3JlYXRlIGEgbmV3IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMC9kb2NzL2RhdGEtc291cmNlcy9zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsIG5ld3JlbGljX3N5bnRoZXRpY3Nfc2VjdXJlX2NyZWRlbnRpYWx9IERhdGEgU291cmNlXG4gICpcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncyBpbiB0aGUgc2FtZSBzY29wZVxuICAqIEBwYXJhbSBvcHRpb25zIERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsQ29uZmlnXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IERhdGFOZXdyZWxpY1N5bnRoZXRpY3NTZWN1cmVDcmVkZW50aWFsQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICduZXdyZWxpY19zeW50aGV0aWNzX3NlY3VyZV9jcmVkZW50aWFsJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ25ld3JlbGljJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uOiAnMy4xMDEuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjcnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fYWNjb3VudElkID0gY29uZmlnLmFjY291bnRJZDtcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9rZXkgPSBjb25maWcua2V5O1xuICB9XG5cbiAgLy8gPT09PT09PT09PVxuICAvLyBBVFRSSUJVVEVTXG4gIC8vID09PT09PT09PT1cblxuICAvLyBhY2NvdW50X2lkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfYWNjb3VudElkPzogbnVtYmVyOyBcbiAgcHVibGljIGdldCBhY2NvdW50SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdhY2NvdW50X2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBhY2NvdW50SWQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnRJZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldEFjY291bnRJZCgpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGFjY291bnRJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50SWQ7XG4gIH1cblxuICAvLyBkZXNjcmlwdGlvbiAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIGtleSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9rZXk/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2tleScpO1xuICB9XG4gIHB1YmxpYyBzZXQga2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQga2V5SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleTtcbiAgfVxuXG4gIC8vIGxhc3RfdXBkYXRlZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbGFzdF91cGRhdGVkJyk7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnRfaWQ6IGNka3RuLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX2FjY291bnRJZCksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAga2V5OiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9rZXkpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgYWNjb3VudF9pZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4ubnVtYmVyVG9IY2xUZXJyYWZvcm0odGhpcy5fYWNjb3VudElkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgaWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2lkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAga2V5OiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9rZXkpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2026
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import { Construct } from 'constructs';
6
+ import * as cdktn from 'cdktn';
7
+ export interface DataNewrelicTeamsHierarchyLevelsConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels#id DataNewrelicTeamsHierarchyLevels#id}
10
+ *
11
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
12
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
13
+ */
14
+ readonly id?: string;
15
+ }
16
+ export interface DataNewrelicTeamsHierarchyLevelsLevels {
17
+ }
18
+ export declare function dataNewrelicTeamsHierarchyLevelsLevelsToTerraform(struct?: DataNewrelicTeamsHierarchyLevelsLevels): any;
19
+ export declare function dataNewrelicTeamsHierarchyLevelsLevelsToHclTerraform(struct?: DataNewrelicTeamsHierarchyLevelsLevels): any;
20
+ export declare class DataNewrelicTeamsHierarchyLevelsLevelsOutputReference extends cdktn.ComplexObject {
21
+ private isEmptyObject;
22
+ /**
23
+ * @param terraformResource The parent resource
24
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
25
+ * @param complexObjectIndex the index of this item in the list
26
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
27
+ */
28
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
29
+ get internalValue(): DataNewrelicTeamsHierarchyLevelsLevels | undefined;
30
+ set internalValue(value: DataNewrelicTeamsHierarchyLevelsLevels | undefined);
31
+ get id(): string;
32
+ get name(): string;
33
+ }
34
+ export declare class DataNewrelicTeamsHierarchyLevelsLevelsList extends cdktn.ComplexList {
35
+ /**
36
+ * @param terraformResource The parent resource
37
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
38
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
39
+ */
40
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
41
+ /**
42
+ * @param index the index of the item to return
43
+ */
44
+ get(index: number): DataNewrelicTeamsHierarchyLevelsLevelsOutputReference;
45
+ }
46
+ /**
47
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels newrelic_teams_hierarchy_levels}
48
+ */
49
+ export declare class DataNewrelicTeamsHierarchyLevels extends cdktn.TerraformDataSource {
50
+ static readonly tfResourceType = "newrelic_teams_hierarchy_levels";
51
+ /**
52
+ * Generates CDKTN code for importing a DataNewrelicTeamsHierarchyLevels resource upon running "cdktn plan <stack-name>"
53
+ * @param scope The scope in which to define this construct
54
+ * @param importToId The construct id used in the generated config for the DataNewrelicTeamsHierarchyLevels to import
55
+ * @param importFromId The id of the existing DataNewrelicTeamsHierarchyLevels that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels#import import section} in the documentation of this resource for the id to use
56
+ * @param provider? Optional instance of the provider where the DataNewrelicTeamsHierarchyLevels to import is found
57
+ */
58
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
59
+ /**
60
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels newrelic_teams_hierarchy_levels} Data Source
61
+ *
62
+ * @param scope The scope in which to define this construct
63
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
64
+ * @param options DataNewrelicTeamsHierarchyLevelsConfig = {}
65
+ */
66
+ constructor(scope: Construct, id: string, config?: DataNewrelicTeamsHierarchyLevelsConfig);
67
+ private _id?;
68
+ get id(): string;
69
+ set id(value: string);
70
+ resetId(): void;
71
+ get idInput(): string | undefined;
72
+ private _levels;
73
+ get levels(): DataNewrelicTeamsHierarchyLevelsLevelsList;
74
+ protected synthesizeAttributes(): {
75
+ [name: string]: any;
76
+ };
77
+ protected synthesizeHclAttributes(): {
78
+ [name: string]: any;
79
+ };
80
+ }
@@ -0,0 +1,208 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.DataNewrelicTeamsHierarchyLevels = exports.DataNewrelicTeamsHierarchyLevelsLevelsList = exports.DataNewrelicTeamsHierarchyLevelsLevelsOutputReference = void 0;
37
+ exports.dataNewrelicTeamsHierarchyLevelsLevelsToTerraform = dataNewrelicTeamsHierarchyLevelsLevelsToTerraform;
38
+ exports.dataNewrelicTeamsHierarchyLevelsLevelsToHclTerraform = dataNewrelicTeamsHierarchyLevelsLevelsToHclTerraform;
39
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
+ const cdktn = __importStar(require("cdktn"));
41
+ function dataNewrelicTeamsHierarchyLevelsLevelsToTerraform(struct) {
42
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
43
+ return struct;
44
+ }
45
+ if (cdktn.isComplexElement(struct)) {
46
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdktn.io/docs/concepts/resources#references");
47
+ }
48
+ return {};
49
+ }
50
+ function dataNewrelicTeamsHierarchyLevelsLevelsToHclTerraform(struct) {
51
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
52
+ return struct;
53
+ }
54
+ if (cdktn.isComplexElement(struct)) {
55
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdktn.io/docs/concepts/resources#references");
56
+ }
57
+ const attrs = {};
58
+ return attrs;
59
+ }
60
+ class DataNewrelicTeamsHierarchyLevelsLevelsOutputReference extends cdktn.ComplexObject {
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.dataNewrelicTeamsHierarchyLevels.DataNewrelicTeamsHierarchyLevelsLevelsOutputReference", version: "16.4.0" };
62
+ isEmptyObject = false;
63
+ /**
64
+ * @param terraformResource The parent resource
65
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
66
+ * @param complexObjectIndex the index of this item in the list
67
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
68
+ */
69
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
70
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
71
+ }
72
+ get internalValue() {
73
+ let hasAnyValues = this.isEmptyObject;
74
+ const internalValueResult = {};
75
+ return hasAnyValues ? internalValueResult : undefined;
76
+ }
77
+ set internalValue(value) {
78
+ if (value === undefined) {
79
+ this.isEmptyObject = false;
80
+ }
81
+ else {
82
+ this.isEmptyObject = Object.keys(value).length === 0;
83
+ }
84
+ }
85
+ // id - computed: true, optional: false, required: false
86
+ get id() {
87
+ return this.getStringAttribute('id');
88
+ }
89
+ // name - computed: true, optional: false, required: false
90
+ get name() {
91
+ return this.getStringAttribute('name');
92
+ }
93
+ }
94
+ exports.DataNewrelicTeamsHierarchyLevelsLevelsOutputReference = DataNewrelicTeamsHierarchyLevelsLevelsOutputReference;
95
+ class DataNewrelicTeamsHierarchyLevelsLevelsList extends cdktn.ComplexList {
96
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.dataNewrelicTeamsHierarchyLevels.DataNewrelicTeamsHierarchyLevelsLevelsList", version: "16.4.0" };
97
+ /**
98
+ * @param terraformResource The parent resource
99
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
100
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
101
+ */
102
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
103
+ super(terraformResource, terraformAttribute, wrapsSet);
104
+ }
105
+ /**
106
+ * @param index the index of the item to return
107
+ */
108
+ get(index) {
109
+ return new DataNewrelicTeamsHierarchyLevelsLevelsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
110
+ }
111
+ }
112
+ exports.DataNewrelicTeamsHierarchyLevelsLevelsList = DataNewrelicTeamsHierarchyLevelsLevelsList;
113
+ /**
114
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels newrelic_teams_hierarchy_levels}
115
+ */
116
+ class DataNewrelicTeamsHierarchyLevels extends cdktn.TerraformDataSource {
117
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.dataNewrelicTeamsHierarchyLevels.DataNewrelicTeamsHierarchyLevels", version: "16.4.0" };
118
+ // =================
119
+ // STATIC PROPERTIES
120
+ // =================
121
+ static tfResourceType = "newrelic_teams_hierarchy_levels";
122
+ // ==============
123
+ // STATIC Methods
124
+ // ==============
125
+ /**
126
+ * Generates CDKTN code for importing a DataNewrelicTeamsHierarchyLevels resource upon running "cdktn plan <stack-name>"
127
+ * @param scope The scope in which to define this construct
128
+ * @param importToId The construct id used in the generated config for the DataNewrelicTeamsHierarchyLevels to import
129
+ * @param importFromId The id of the existing DataNewrelicTeamsHierarchyLevels that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels#import import section} in the documentation of this resource for the id to use
130
+ * @param provider? Optional instance of the provider where the DataNewrelicTeamsHierarchyLevels to import is found
131
+ */
132
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
133
+ return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_teams_hierarchy_levels", importId: importFromId, provider });
134
+ }
135
+ // ===========
136
+ // INITIALIZER
137
+ // ===========
138
+ /**
139
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/teams_hierarchy_levels newrelic_teams_hierarchy_levels} Data Source
140
+ *
141
+ * @param scope The scope in which to define this construct
142
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
143
+ * @param options DataNewrelicTeamsHierarchyLevelsConfig = {}
144
+ */
145
+ constructor(scope, id, config = {}) {
146
+ super(scope, id, {
147
+ terraformResourceType: 'newrelic_teams_hierarchy_levels',
148
+ terraformGeneratorMetadata: {
149
+ providerName: 'newrelic',
150
+ providerVersion: '3.101.0',
151
+ providerVersionConstraint: '~> 3.7'
152
+ },
153
+ provider: config.provider,
154
+ dependsOn: config.dependsOn,
155
+ count: config.count,
156
+ lifecycle: config.lifecycle,
157
+ provisioners: config.provisioners,
158
+ connection: config.connection,
159
+ forEach: config.forEach
160
+ });
161
+ this._id = config.id;
162
+ }
163
+ // ==========
164
+ // ATTRIBUTES
165
+ // ==========
166
+ // id - computed: true, optional: true, required: false
167
+ _id;
168
+ get id() {
169
+ return this.getStringAttribute('id');
170
+ }
171
+ set id(value) {
172
+ this._id = value;
173
+ }
174
+ resetId() {
175
+ this._id = undefined;
176
+ }
177
+ // Temporarily expose input value. Use with caution.
178
+ get idInput() {
179
+ return this._id;
180
+ }
181
+ // levels - computed: true, optional: false, required: false
182
+ _levels = new DataNewrelicTeamsHierarchyLevelsLevelsList(this, "levels", false);
183
+ get levels() {
184
+ return this._levels;
185
+ }
186
+ // =========
187
+ // SYNTHESIS
188
+ // =========
189
+ synthesizeAttributes() {
190
+ return {
191
+ id: cdktn.stringToTerraform(this._id),
192
+ };
193
+ }
194
+ synthesizeHclAttributes() {
195
+ const attrs = {
196
+ id: {
197
+ value: cdktn.stringToHclTerraform(this._id),
198
+ isBlock: false,
199
+ type: "simple",
200
+ storageClassType: "string",
201
+ },
202
+ };
203
+ // remove undefined attributes
204
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
205
+ }
206
+ }
207
+ exports.DataNewrelicTeamsHierarchyLevels = DataNewrelicTeamsHierarchyLevels;
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1uZXdyZWxpYy10ZWFtcy1oaWVyYXJjaHktbGV2ZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSw4R0FPQztBQUdELG9IQVFDOztBQWxDRCw2Q0FBK0I7QUFnQi9CLFNBQWdCLGlEQUFpRCxDQUFDLE1BQStDO0lBQy9HLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHlIQUF5SCxDQUFDLENBQUM7SUFDN0ksQ0FBQztJQUNELE9BQU8sRUFDTixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLG9EQUFvRCxDQUFDLE1BQStDO0lBQ2xILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHlIQUF5SCxDQUFDLENBQUM7SUFDN0ksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEVBQ2IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQWEscURBQXNELFNBQVEsS0FBSyxDQUFDLGFBQWE7O0lBQ3BGLGFBQWEsR0FBRyxLQUFLLENB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QVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBbkdILDRFQW9HQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3RlYW1zX2hpZXJhcmNoeV9sZXZlbHNcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0NvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3RlYW1zX2hpZXJhcmNoeV9sZXZlbHMjaWQgRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHMjaWR9XG4gICpcbiAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0aGUgaWQgZmllbGQgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhbGwgcmVzb3VyY2VzIGluIFRlcnJhZm9ybSBwcm92aWRlcnMgdXNpbmcgYSBUZXJyYWZvcm0gcHJvdmlkZXIgU0RLIHZlcnNpb24gYmVsb3cgMi5cbiAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzTGV2ZWxzIHtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzTGV2ZWxzVG9UZXJyYWZvcm0oc3RydWN0PzogRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHNMZXZlbHMpOiBhbnkge1xuICBpZiAoIWNka3RuLmNhbkluc3BlY3Qoc3RydWN0KSB8fCBjZGt0bi5Ub2tlbml6YXRpb24uaXNSZXNvbHZhYmxlKHN0cnVjdCkpIHsgcmV0dXJuIHN0cnVjdDsgfVxuICBpZiAoY2RrdG4uaXNDb21wbGV4RWxlbWVudChzdHJ1Y3QpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQSBjb21wbGV4IGVsZW1lbnQgd2FzIHVzZWQgYXMgY29uZmlndXJhdGlvbiwgdGhpcyBpcyBub3Qgc3VwcG9ydGVkOiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvcmVzb3VyY2VzI3JlZmVyZW5jZXNcIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0xldmVsc1RvSGNsVGVycmFmb3JtKHN0cnVjdD86IERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzTGV2ZWxzKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL3Jlc291cmNlcyNyZWZlcmVuY2VzXCIpO1xuICB9XG4gIGNvbnN0IGF0dHJzID0ge1xuICB9O1xuICByZXR1cm4gYXR0cnM7XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0xldmVsc091dHB1dFJlZmVyZW5jZSBleHRlbmRzIGNka3RuLkNvbXBsZXhPYmplY3Qge1xuICBwcml2YXRlIGlzRW1wdHlPYmplY3QgPSBmYWxzZTtcblxuICAvKipcbiAgKiBAcGFyYW0gdGVycmFmb3JtUmVzb3VyY2UgVGhlIHBhcmVudCByZXNvdXJjZVxuICAqIEBwYXJhbSB0ZXJyYWZvcm1BdHRyaWJ1dGUgVGhlIGF0dHJpYnV0ZSBvbiB0aGUgcGFyZW50IHJlc291cmNlIHRoaXMgY2xhc3MgaXMgcmVmZXJlbmNpbmdcbiAgKiBAcGFyYW0gY29tcGxleE9iamVjdEluZGV4IHRoZSBpbmRleCBvZiB0aGlzIGl0ZW0gaW4gdGhlIGxpc3RcbiAgKiBAcGFyYW0gY29tcGxleE9iamVjdElzRnJvbVNldCB3aGV0aGVyIHRoZSBsaXN0IGlzIHdyYXBwaW5nIGEgc2V0ICh3aWxsIGFkZCB0b2xpc3QoKSB0byBiZSBhYmxlIHRvIGFjY2VzcyBhbiBpdGVtIHZpYSBhbiBpbmRleClcbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHRlcnJhZm9ybVJlc291cmNlOiBjZGt0bi5JSW50ZXJwb2xhdGluZ1BhcmVudCwgdGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcsIGNvbXBsZXhPYmplY3RJbmRleDogbnVtYmVyLCBjb21wbGV4T2JqZWN0SXNGcm9tU2V0OiBib29sZWFuKSB7XG4gICAgc3VwZXIodGVycmFmb3JtUmVzb3VyY2UsIHRlcnJhZm9ybUF0dHJpYnV0ZSwgY29tcGxleE9iamVjdElzRnJvbVNldCwgY29tcGxleE9iamVjdEluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZXJuYWxWYWx1ZSgpOiBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0xldmVscyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGhhc0FueVZhbHVlcyA9IHRoaXMuaXNFbXB0eU9iamVjdDtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlUmVzdWx0OiBhbnkgPSB7fTtcbiAgICByZXR1cm4gaGFzQW55VmFsdWVzID8gaW50ZXJuYWxWYWx1ZVJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW50ZXJuYWxWYWx1ZSh2YWx1ZTogRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHNMZXZlbHMgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcbiAgICB9XG4gIH1cblxuICAvLyBpZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuXG4gIC8vIG5hbWUgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbmFtZScpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0xldmVsc0xpc3QgZXh0ZW5kcyBjZGt0bi5Db21wbGV4TGlzdCB7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIHdyYXBzU2V0IHdoZXRoZXIgdGhlIGxpc3QgaXMgd3JhcHBpbmcgYSBzZXQgKHdpbGwgYWRkIHRvbGlzdCgpIHRvIGJlIGFibGUgdG8gYWNjZXNzIGFuIGl0ZW0gdmlhIGFuIGluZGV4KVxuICAqL1xuICBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCB3cmFwc1NldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIHdyYXBzU2V0KTtcbiAgfVxuXG4gIC8qKlxuICAqIEBwYXJhbSBpbmRleCB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gcmV0dXJuXG4gICovXG4gIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzTGV2ZWxzT3V0cHV0UmVmZXJlbmNlIHtcbiAgICByZXR1cm4gbmV3IERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzTGV2ZWxzT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cblxuLyoqXG4qIFJlcHJlc2VudHMgYSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjAvZG9jcy9kYXRhLXNvdXJjZXMvdGVhbXNfaGllcmFyY2h5X2xldmVscyBuZXdyZWxpY190ZWFtc19oaWVyYXJjaHlfbGV2ZWxzfVxuKi9cbmV4cG9ydCBjbGFzcyBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVscyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybURhdGFTb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcIm5ld3JlbGljX3RlYW1zX2hpZXJhcmNoeV9sZXZlbHNcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHMgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHMgdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3RlYW1zX2hpZXJhcmNoeV9sZXZlbHMjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIERhdGFOZXdyZWxpY1RlYW1zSGllcmFyY2h5TGV2ZWxzIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIm5ld3JlbGljX3RlYW1zX2hpZXJhcmNoeV9sZXZlbHNcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3RlYW1zX2hpZXJhcmNoeV9sZXZlbHMgbmV3cmVsaWNfdGVhbXNfaGllcmFyY2h5X2xldmVsc30gRGF0YSBTb3VyY2VcbiAgKlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGlkIFRoZSBzY29wZWQgY29uc3RydWN0IElELiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHNpYmxpbmdzIGluIHRoZSBzYW1lIHNjb3BlXG4gICogQHBhcmFtIG9wdGlvbnMgRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHNDb25maWcgPSB7fVxuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBEYXRhTmV3cmVsaWNUZWFtc0hpZXJhcmNoeUxldmVsc0NvbmZpZyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICduZXdyZWxpY190ZWFtc19oaWVyYXJjaHlfbGV2ZWxzJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ25ld3JlbGljJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uOiAnMy4xMDEuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjcnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5faWQgPSBjb25maWcuaWQ7XG4gIH1cblxuICAvLyA9PT09PT09PT09XG4gIC8vIEFUVFJJQlVURVNcbiAgLy8gPT09PT09PT09PVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIGxldmVscyAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9sZXZlbHMgPSBuZXcgRGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHNMZXZlbHNMaXN0KHRoaXMsIFwibGV2ZWxzXCIsIGZhbHNlKTtcbiAgcHVibGljIGdldCBsZXZlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xldmVscztcbiAgfVxuXG4gIC8vID09PT09PT09PVxuICAvLyBTWU5USEVTSVNcbiAgLy8gPT09PT09PT09XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2lkKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhdHRycyA9IHtcbiAgICAgIGlkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gcmVtb3ZlIHVuZGVmaW5lZCBhdHRyaWJ1dGVzXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhdHRycykuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQgKSlcbiAgfVxufVxuIl19
@@ -8,17 +8,17 @@ export interface DataNewrelicTestGrokPatternConfig extends cdktn.TerraformMetaAr
8
8
  /**
9
9
  * The account id associated with the test grok.
10
10
  *
11
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern#account_id DataNewrelicTestGrokPattern#account_id}
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern#account_id DataNewrelicTestGrokPattern#account_id}
12
12
  */
13
13
  readonly accountId?: number;
14
14
  /**
15
15
  * The Grok pattern to test.
16
16
  *
17
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern#grok DataNewrelicTestGrokPattern#grok}
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern#grok DataNewrelicTestGrokPattern#grok}
18
18
  */
19
19
  readonly grok: string;
20
20
  /**
21
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern#id DataNewrelicTestGrokPattern#id}
21
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern#id DataNewrelicTestGrokPattern#id}
22
22
  *
23
23
  * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
24
24
  * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -27,7 +27,7 @@ export interface DataNewrelicTestGrokPatternConfig extends cdktn.TerraformMetaAr
27
27
  /**
28
28
  * The log lines to test the Grok pattern against.
29
29
  *
30
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern#log_lines DataNewrelicTestGrokPattern#log_lines}
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern#log_lines DataNewrelicTestGrokPattern#log_lines}
31
31
  */
32
32
  readonly logLines: string[];
33
33
  }
@@ -94,7 +94,7 @@ export declare class DataNewrelicTestGrokPatternTestGrokList extends cdktn.Compl
94
94
  get(index: number): DataNewrelicTestGrokPatternTestGrokOutputReference;
95
95
  }
96
96
  /**
97
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern newrelic_test_grok_pattern}
97
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern newrelic_test_grok_pattern}
98
98
  */
99
99
  export declare class DataNewrelicTestGrokPattern extends cdktn.TerraformDataSource {
100
100
  static readonly tfResourceType = "newrelic_test_grok_pattern";
@@ -102,12 +102,12 @@ export declare class DataNewrelicTestGrokPattern extends cdktn.TerraformDataSour
102
102
  * Generates CDKTN code for importing a DataNewrelicTestGrokPattern resource upon running "cdktn plan <stack-name>"
103
103
  * @param scope The scope in which to define this construct
104
104
  * @param importToId The construct id used in the generated config for the DataNewrelicTestGrokPattern to import
105
- * @param importFromId The id of the existing DataNewrelicTestGrokPattern that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern#import import section} in the documentation of this resource for the id to use
105
+ * @param importFromId The id of the existing DataNewrelicTestGrokPattern that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern#import import section} in the documentation of this resource for the id to use
106
106
  * @param provider? Optional instance of the provider where the DataNewrelicTestGrokPattern to import is found
107
107
  */
108
108
  static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
109
109
  /**
110
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.100.5/docs/data-sources/test_grok_pattern newrelic_test_grok_pattern} Data Source
110
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.0/docs/data-sources/test_grok_pattern newrelic_test_grok_pattern} Data Source
111
111
  *
112
112
  * @param scope The scope in which to define this construct
113
113
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope