@microsoft/terraform-cdk-constructs 0.0.3-pre.6 → 0.0.3-pre.7

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 (85) hide show
  1. package/.jsii +909 -306
  2. package/API.md +2488 -255
  3. package/README.md +112 -18
  4. package/docs/images/ide-documentation.png +0 -0
  5. package/lib/azure-actiongroup/lib/actiongroup.d.ts +39 -0
  6. package/lib/azure-actiongroup/lib/actiongroup.js +40 -1
  7. package/lib/azure-applicationgateway/lib/gateway.d.ts +76 -0
  8. package/lib/azure-applicationgateway/lib/gateway.js +78 -2
  9. package/lib/azure-applicationinsights/lib/appinsights.d.ts +50 -0
  10. package/lib/azure-applicationinsights/lib/appinsights.js +52 -3
  11. package/lib/azure-containerregistry/lib/registry.d.ts +29 -0
  12. package/lib/azure-containerregistry/lib/registry.js +31 -2
  13. package/lib/azure-datalake/lib/datalake.d.ts +50 -0
  14. package/lib/azure-datalake/lib/datalake.js +51 -1
  15. package/lib/azure-datalake/lib/filesystem.d.ts +51 -0
  16. package/lib/azure-datalake/lib/filesystem.js +52 -1
  17. package/lib/azure-datalake/lib/path.d.ts +37 -0
  18. package/lib/azure-datalake/lib/path.js +38 -1
  19. package/lib/azure-eventhub/lib/authorization.d.ts +30 -0
  20. package/lib/azure-eventhub/lib/authorization.js +32 -2
  21. package/lib/azure-eventhub/lib/cluster.d.ts +29 -0
  22. package/lib/azure-eventhub/lib/cluster.js +31 -2
  23. package/lib/azure-eventhub/lib/consumer.d.ts +28 -0
  24. package/lib/azure-eventhub/lib/consumer.js +30 -2
  25. package/lib/azure-eventhub/lib/instance.d.ts +118 -0
  26. package/lib/azure-eventhub/lib/instance.js +120 -2
  27. package/lib/azure-eventhub/lib/kusto-connection.d.ts +41 -0
  28. package/lib/azure-eventhub/lib/kusto-connection.js +43 -2
  29. package/lib/azure-eventhub/lib/namespace.d.ts +74 -0
  30. package/lib/azure-eventhub/lib/namespace.js +76 -3
  31. package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
  32. package/lib/azure-keyvault/lib/certificate.d.ts +96 -2
  33. package/lib/azure-keyvault/lib/certificate.js +55 -3
  34. package/lib/azure-keyvault/lib/key.d.ts +36 -0
  35. package/lib/azure-keyvault/lib/key.js +38 -2
  36. package/lib/azure-keyvault/lib/policy.d.ts +30 -0
  37. package/lib/azure-keyvault/lib/policy.js +32 -2
  38. package/lib/azure-keyvault/lib/secret.d.ts +31 -0
  39. package/lib/azure-keyvault/lib/secret.js +33 -2
  40. package/lib/azure-keyvault/lib/vault.d.ts +188 -0
  41. package/lib/azure-keyvault/lib/vault.js +191 -7
  42. package/lib/azure-kubernetes/lib/cluster.d.ts +25 -4
  43. package/lib/azure-kubernetes/lib/cluster.js +27 -6
  44. package/lib/azure-kusto/lib/cluster.d.ts +53 -0
  45. package/lib/azure-kusto/lib/cluster.js +55 -2
  46. package/lib/azure-kusto/lib/compute-specification.js +1 -1
  47. package/lib/azure-kusto/lib/database.d.ts +103 -0
  48. package/lib/azure-kusto/lib/database.js +105 -2
  49. package/lib/azure-loganalytics/lib/workspace.d.ts +47 -0
  50. package/lib/azure-loganalytics/lib/workspace.js +49 -2
  51. package/lib/azure-metricalert/lib/metric-alert.d.ts +43 -4
  52. package/lib/azure-metricalert/lib/metric-alert.js +45 -6
  53. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
  54. package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +92 -0
  55. package/lib/azure-networksecuritygroup/lib/securitygroup.js +95 -5
  56. package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +35 -4
  57. package/lib/azure-queryrulealert/lib/query-rule-alert.js +37 -6
  58. package/lib/azure-resourcegroup/lib/resource-group.d.ts +28 -0
  59. package/lib/azure-resourcegroup/lib/resource-group.js +30 -2
  60. package/lib/azure-storageaccount/lib/account.d.ts +75 -48
  61. package/lib/azure-storageaccount/lib/account.js +77 -50
  62. package/lib/azure-storageaccount/lib/container.d.ts +94 -12
  63. package/lib/azure-storageaccount/lib/container.js +97 -15
  64. package/lib/azure-storageaccount/lib/fileshare.d.ts +36 -0
  65. package/lib/azure-storageaccount/lib/fileshare.js +39 -3
  66. package/lib/azure-storageaccount/lib/queue.d.ts +29 -0
  67. package/lib/azure-storageaccount/lib/queue.js +31 -2
  68. package/lib/azure-storageaccount/lib/table.d.ts +32 -0
  69. package/lib/azure-storageaccount/lib/table.js +34 -2
  70. package/lib/azure-virtualmachine/lib/image-references.js +2 -2
  71. package/lib/azure-virtualmachine/lib/vm.d.ts +84 -8
  72. package/lib/azure-virtualmachine/lib/vm.js +87 -11
  73. package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +98 -8
  74. package/lib/azure-virtualmachinescaleset/lib/cluster.js +101 -11
  75. package/lib/azure-virtualnetwork/lib/network.d.ts +61 -0
  76. package/lib/azure-virtualnetwork/lib/network.js +63 -3
  77. package/lib/azure-virtualnetwork/lib/peering.d.ts +39 -0
  78. package/lib/azure-virtualnetwork/lib/peering.js +41 -2
  79. package/lib/core-azure/lib/diagsettings.d.ts +37 -0
  80. package/lib/core-azure/lib/diagsettings.js +39 -2
  81. package/lib/core-azure/lib/rbac.d.ts +22 -4
  82. package/lib/core-azure/lib/rbac.js +24 -6
  83. package/lib/core-azure/lib/resource.d.ts +45 -0
  84. package/lib/core-azure/lib/resource.js +48 -4
  85. package/package.json +1 -1
@@ -9,11 +9,42 @@ const constructs_1 = require("constructs");
9
9
  const moment = require("moment");
10
10
  class QueryRuleAlert extends constructs_1.Construct {
11
11
  /**
12
- * Constructs a new instance of the AzureQueryRuleAlert class.
12
+ * Represents an Azure Monitor Scheduled Query Rule Alert.
13
13
  *
14
- * @param scope - The scope in which this construct is defined.
15
- * @param id - The ID of this construct.
16
- * @param props - The properties required for Azure Query Rule Alert.
14
+ * This class is responsible for the creation and management of a Scheduled Query Rule Alert in Azure Monitor.
15
+ * Scheduled Query Rule Alerts execute specified queries at regular intervals over the data collected in Log Analytics
16
+ * Workspaces or Application Insights, and alert based on the results of these queries. These alerts can be used to monitor
17
+ * application health, infrastructure changes, or compliance with certain conditions.
18
+ *
19
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
20
+ * @param id - The unique identifier for this instance of the Scheduled Query Rule Alert.
21
+ * @param props - The properties required to configure the Scheduled Query Rule Alert, as defined in the AzureQueryRuleAlertProps interface.
22
+ * These include:
23
+ * - `name`: The name of the Scheduled Query Rule.
24
+ * - `resourceGroup`: The Azure Resource Group under which the alert will be created.
25
+ * - `location`: The Azure region where the alert will be deployed.
26
+ * - `criteriaQuery`: The query to execute. The results of this query determine whether an alert should be triggered.
27
+ * - `evaluationFrequency`: How often the query should be run.
28
+ * - `windowDuration`: The time period over which data is collected for each execution of the query.
29
+ * - `severity`: The severity of the alert.
30
+ * - `actionActionGroupId`: The action group to invoke when the alert criteria are met.
31
+ * - `enabled`: Indicates whether the alert rule is enabled.
32
+ *
33
+ * Example usage:
34
+ * ```typescript
35
+ * new QueryRuleAlert(this, 'MyAlertRule', {
36
+ * name: 'HighErrorRateAlert',
37
+ * resourceGroup: myResourceGroup,
38
+ * location: 'West US 2',
39
+ * criteriaQuery: 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)',
40
+ * evaluationFrequency: 'PT5M',
41
+ * windowDuration: 'PT1H',
42
+ * severity: 3,
43
+ * actionActionGroupId: ['/subscriptions/sub-id/resourceGroups/rg/providers/microsoft.insights/actionGroups/myActionGroup'],
44
+ * enabled: true
45
+ * });
46
+ * ```
47
+ * This class sets up the alert rule and ensures it is ready to trigger actions based on the specified criteria and schedule.
17
48
  */
18
49
  constructor(scope, id, props) {
19
50
  super(scope, id);
@@ -170,5 +201,5 @@ class QueryRuleAlert extends constructs_1.Construct {
170
201
  }
171
202
  exports.QueryRuleAlert = QueryRuleAlert;
172
203
  _a = JSII_RTTI_SYMBOL_1;
173
- QueryRuleAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_queryrulealert.QueryRuleAlert", version: "0.0.3-pre.6" };
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcnVsZS1hbGVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1xdWVyeXJ1bGVhbGVydC9saWIvcXVlcnktcnVsZS1hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtIQUF1SDtBQUV2SCwrQkFBK0I7QUFDL0IsMkNBQXVDO0FBQ3ZDLGlDQUFpQztBQXVJakMsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFLM0M7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLHdCQUF3QjtRQUN4QixNQUFNLHlCQUF5QixHQUFHO1lBQ2hDLE1BQU07WUFDTixNQUFNO1lBQ04sT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDO1FBQ0YsTUFBTSxvQkFBb0IsR0FBRztZQUMzQixNQUFNO1lBQ04sTUFBTTtZQUNOLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUM7UUFDRixNQUFNLG1DQUFtQyxHQUFHO1lBQzFDLE1BQU07WUFDTixPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sS0FBSztZQUNMLEtBQUs7U0FDTixDQUFDO1FBQ0YsTUFBTSw0QkFBNEIsR0FBRztZQUNuQyxNQUFNO1lBQ04sT0FBTztZQUNQLE9BQU87WUFD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clNjaGVkdWxlZFF1ZXJ5UnVsZXNBbGVydFYyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9tb25pdG9yLXNjaGVkdWxlZC1xdWVyeS1ydWxlcy1hbGVydC12MlwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUF6dXJlUXVlcnlSdWxlQWxlcnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgTW9uaXRvciBTY2hlZHVsZWQgUXVlcnkgUnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSBncm91cCBpbiB3aGljaCB0aGUgTW9uaXRvciBTY2hlZHVsZWQgUXVlcnkgUnVsZSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiBvZiB0aGUgTW9uaXRvciBTY2hlZHVsZWQgUXVlcnkgUnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNyaXRlcmlhIG9wZXJhdG9yLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIEVxdWFsLCBHcmVhdGVyVGhhbiwgR3JlYXRlclRoYW5PckVxdWFsLCBMZXNzVGhhbixhbmQgTGVzc1RoYW5PckVxdWFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFPcGVyYXRvcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHF1ZXJ5IHRvIHJ1biBvbiBsb2dzLiBUaGUgcmVzdWx0cyByZXR1cm5lZCBieSB0aGlzIHF1ZXJ5IGFyZSB1c2VkIHRvIHBvcHVsYXRlIHRoZSBhbGVydC5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRlcmlhUXVlcnk6IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3JpdGVyaWEgdGhyZXNob2xkIHZhbHVlIHRoYXQgYWN0aXZhdGVzIHRoZSBhbGVydC5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRlcmlhVGhyZXNob2xkOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBhZ2dyZWdhdGlvbiB0byBhcHBseSB0byB0aGUgZGF0YSBwb2ludHMgaW4gYWdncmVnYXRpb24gZ3JhbnVsYXJpdHkuXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgQXZlcmFnZSwgQ291bnQsIE1heGltdW0sIE1pbmltdW0sYW5kIFRvdGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWF0aW1lQWdncmVnYXRpb25NZXRob2Q6IHN0cmluZztcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGRpbWVuc2lvbiBmb3IgY3JpdGVyaWEuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYURpbWVuc2lvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wZXJhdG9yIGZvciBkaW1lbnNpb24gdmFsdWVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIEV4Y2x1ZGUsIGFuZCBJbmNsdWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFEaW1lbnNpb25PcGVyYXRvcj86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBkaW1lbnNpb24gdmFsdWVzLiBVc2UgYSB3aWxkY2FyZCAqIHRvIGNvbGxlY3QgYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFEaW1lbnNpb25WYWx1ZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdmlvbGF0aW9ucyB0byB0cmlnZ2VyIGFuIGFsZXJ0LlxuICAgKiBTaG91bGQgYmUgc21hbGxlciBvciBlcXVhbCB0byBudW1iZXJfb2ZfZXZhbHVhdGlvbl9wZXJpb2RzLlxuICAgKiBQb3NzaWJsZSB2YWx1ZSBpcyBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgNi5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRlcmlhRmFpbE1pbmltdW1GYWlsaW5nUGVyaW9kc1RvVHJpZ2dlckFsZXJ0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBldmFsdWF0aW9uIHBlcmlvZHMuXG4gICAqIFBvc3NpYmxlIHZhbHVlIGlzIGludGVnZXIgYmV0d2VlbiAxIGFuZCA2LlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFGYWlsTnVtYmVyT2ZFdmFsdWF0aW9uUGVyaW9kcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY29sdW1uIGNvbnRhaW5pbmcgdGhlIG1ldHJpYyBtZWFzdXJlIG51bWJlci5cbiAgICogY3JpdGVyaWFNZXRyaWNNZWFzdXJlQ29sdW1uIGlzIHJlcXVpcmVkIGlmIGNyaXRlcmlhdGltZUFnZ3JlZ2F0aW9uTWV0aG9kIGlzIEF2ZXJhZ2UsIE1heGltdW0sIE1pbmltdW0sIG9yIFRvdGFsLlxuICAgKiBBbmQgY3JpdGVyaWFNZXRyaWNNZWFzdXJlQ29sdW1uIGNhbm5vdCBiZSBzcGVjaWZpZWQgaWYgY3JpdGVyaWF0aW1lQWdncmVnYXRpb25NZXRob2QgaXMgQ291bnQuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYU1ldHJpY01lYXN1cmVDb2x1bW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBIb3cgb2Z0ZW4gdGhlIHNjaGVkdWxlZCBxdWVyeSBydWxlIGlzIGV2YWx1YXRlZCwgcmVwcmVzZW50ZWQgaW4gSVNPIDg2MDEgZHVyYXRpb24gZm9ybWF0LlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIFBUMU0sIFBUNU0sIFBUMTBNLCBQVDE1TSwgUFQzME0sIFBUNDVNLCBQVDFILCBQVDJILCBQVDNILCBQVDRILCBQVDVILCBQVDZILCBQMUQuXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0aW9uRnJlcXVlbmN5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXZlcml0eSBvZiB0aGUgYWxlcnQuIFNob3VsZCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgNC4gVmFsdWUgb2YgMCBpcyBzZXZlcmVzdC5cbiAgICovXG4gIHJlYWRvbmx5IHNldmVyaXR5OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHBlcmlvZCBvZiB0aW1lIGluIElTTyA4NjAxIGR1cmF0aW9uIGZvcm1hdCBvbiB3aGljaCB0aGUgU2NoZWR1bGVkIFF1ZXJ5IFJ1bGUgd2lsbCBiZSBleGVjdXRlZCAoYmluIHNpemUpLlxuICAgKi9cbiAgcmVhZG9ubHkgd2luZG93RHVyYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgYWN0aW9uIGdyb3VwIElEcyB0byB0cmlnZ2VyIHdoZW4gdGhlIGFsZXJ0IGZpcmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uQWN0aW9uR3JvdXBJZD86IHN0cmluZ1tdO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGFsZXJ0IHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJlc29sdmVkIG9yIG5vdC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NaXRpZ2F0aW9uRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGZsYWcgd2hpY2ggaW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBzY2hlZHVsZWQgcXVlcnkgcnVsZSBjaGVjayBpZiBzdG9yYWdlIGlzIGNvbmZpZ3VyZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VBbGVydHNTdG9yYWdlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzY2hlZHVsZWQgcXVlcnkgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIGFsZXJ0IHJ1bGUuXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIHNjaGVkdWxlZCBxdWVyeSBydWxlIGlzIGVuYWJsZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogTXV0ZSBhY3Rpb25zIGZvciB0aGUgY2hvc2VuIHBlcmlvZCBvZiB0aW1lIGluIElTTyA4NjAxIGR1cmF0aW9uIGZvcm1hdCBhZnRlciB0aGUgYWxlcnQgaXMgZmlyZWQuXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgUFQ1TSwgUFQxME0sIFBUMTVNLCBQVDMwTSwgUFQ0NU0sIFBUMUgsIFBUMkgsIFBUM0gsIFBUNEgsIFBUNUgsIFBUNkgsIFAxRCBhbmQgUDJELlxuICAgKi9cbiAgcmVhZG9ubHkgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXQgdGhpcyBpZiB0aGUgYWxlcnQgZXZhbHVhdGlvbiBwZXJpb2QgaXMgZGlmZmVyZW50IGZyb20gdGhlIHF1ZXJ5IHRpbWUgcmFuZ2UuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHRoZSB2YWx1ZSBpcyB3aW5kb3dfZHVyYXRpb24qbnVtYmVyX29mX2V2YWx1YXRpb25fcGVyaW9kcy5cbiAgICogUG9zc2libGUgdmFsdWVzIGFyZSBQVDVNLCBQVDEwTSwgUFQxNU0sIFBUMjBNLCBQVDMwTSwgUFQ0NU0sIFBUMUgsIFBUMkgsIFBUM0gsIFBUNEgsIFBUNUgsIFBUNkgsIFAxRCBhbmQgUDJELlxuICAgKi9cbiAgcmVhZG9ubHkgcXVlcnlUaW1lUmFuZ2VPdmVycmlkZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQgcXVlcnkgc2hvdWxkIGJlIHZhbGlkYXRlZCBvciBub3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNraXBRdWVyeVZhbGlkYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBtYXBwaW5nIG9mIHRhZ3Mgd2hpY2ggc2hvdWxkIGJlIGFzc2lnbmVkIHRvIHRoZSBNb25pdG9yIFNjaGVkdWxlZCBRdWVyeSBSdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzIGV4dGVuZHMgQmFzZUF6dXJlUXVlcnlSdWxlQWxlcnRQcm9wcyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGxpc3Qgb2YgcmVzb3VyY2UgSURzIHRoYXQgdGhpcyBzY2hlZHVsZWQgcXVlcnkgcnVsZSBpcyBzY29wZWQgdG8uXG4gICAqL1xuICByZWFkb25seSBzY29wZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgUXVlcnlSdWxlQWxlcnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBxdWVyeVJ1bGVBbGVydFByb3BzOiBBenVyZVF1ZXJ5UnVsZUFsZXJ0UHJvcHM7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQXp1cmVRdWVyeVJ1bGVBbGVydCBjbGFzcy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRoaXMgY29uc3RydWN0IGlzIGRlZmluZWQuXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBJRCBvZiB0aGlzIGNvbnN0cnVjdC5cbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHByb3BlcnRpZXMgcmVxdWlyZWQgZm9yIEF6dXJlIFF1ZXJ5IFJ1bGUgQWxlcnQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFByb3BlcnRpZXMgdmFsaWRhdGlvblxuICAgIGNvbnN0IGV2YWx1YXRpb25GcmVxdWVuY3lPcHRpb24gPSBbXG4gICAgICBcIlBUMU1cIixcbiAgICAgIFwiUFQ1TVwiLFxuICAgICAgXCJQVDEwTVwiLFxuICAgICAgXCJQVDE1TVwiLFxuICAgICAgXCJQVDMwTVwiLFxuICAgICAgXCJQVDQ1TVwiLFxuICAgICAgXCJQVDFIXCIsXG4gICAgICBcIlBUMkhcIixcbiAgICAgIFwiUFQzSFwiLFxuICAgICAgXCJQVDRIXCIsXG4gICAgICBcIlBUNUhcIixcbiAgICAgIFwiUFQ2SFwiLFxuICAgICAgXCJQMURcIixcbiAgICBdO1xuICAgIGNvbnN0IHdpbmRvd0R1cmF0aW9uT3B0aW9uID0gW1xuICAgICAgXCJQVDFNXCIsXG4gICAgICBcIlBUNU1cIixcbiAgICAgIFwiUFQxME1cIixcbiAgICAgIFwiUFQxNU1cIixcbiAgICAgIFwiUFQzME1cIixcbiAgICAgIFwiUFQ0NU1cIixcbiAgICAgIFwiUFQxSFwiLFxuICAgICAgXCJQVDJIXCIsXG4gICAgICBcIlBUM0hcIixcbiAgICAgIFwiUFQ0SFwiLFxuICAgICAgXCJQVDVIXCIsXG4gICAgICBcIlBUNkhcIixcbiAgICAgIFwiUDFEXCIsXG4gICAgICBcIlAyRFwiLFxuICAgIF07XG4gICAgY29uc3QgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25PcHRpb24gPSBbXG4gICAgICBcIlBUNU1cIixcbiAgICAgIFwiUFQxME1cIixcbiAgICAgIFwiUFQxNU1cIixcbiAgICAgIFwiUFQzME1cIixcbiAgICAgIFwiUFQ0NU1cIixcbiAgICAgIFwiUFQxSFwiLFxuICAgICAgXCJQVDJIXCIsXG4gICAgICBcIlBUM0hcIixcbiAgICAgIFwiUFQ0SFwiLFxuICAgICAgXCJQVDVIXCIsXG4gICAgICBcIlBUNkhcIixcbiAgICAgIFwiUDFEXCIsXG4gICAgICBcIlAyRFwiLFxuICAgIF07XG4gICAgY29uc3QgcXVlcnlUaW1lUmFuZ2VPdmVycmlkZU9wdGlvbiA9IFtcbiAgICAgIFwiUFQ1TVwiLFxuICAgICAgXCJQVDEwTVwiLFxuICAgICAgXCJQVDE1TVwiLFxuICAgICAgXCJQVDIwTVwiLFxuICAgICAgXCJQVDMwTVwiLFxuICAgICAgXCJQVDQ1TVwiLFxuICAgICAgXCJQVDFIXCIsXG4gICAgICBcIlBUMkhcIixcbiAgICAgIFwiUFQzSFwiLFxuICAgICAgXCJQVDRIXCIsXG4gICAgICBcIlBUNUhcIixcbiAgICAgIFwiUFQ2SFwiLFxuICAgICAgXCJQMURcIixcbiAgICAgIFwiUDJEXCIsXG4gICAgXTtcblxuICAgIC8vIFZhbGlkYXRlIGV2YWx1YXRpb25GcmVxdWVuY3lcbiAgICBpZiAoIWV2YWx1YXRpb25GcmVxdWVuY3lPcHRpb24uaW5jbHVkZXMocHJvcHMuZXZhbHVhdGlvbkZyZXF1ZW5jeSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgZXZhbHVhdGlvbkZyZXF1ZW5jeVwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgd2luZG93RHVyYXRpb25cbiAgICBpZiAoIXdpbmRvd0R1cmF0aW9uT3B0aW9uLmluY2x1ZGVzKHByb3BzLndpbmRvd0R1cmF0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCB3aW5kb3dEdXJhdGlvblwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25cbiAgICBpZiAoXG4gICAgICBwcm9wcy5tdXRlQWN0aW9uc0FmdGVyQWxlcnREdXJhdGlvbiAmJlxuICAgICAgIW11dGVBY3Rpb25zQWZ0ZXJBbGVydER1cmF0aW9uT3B0aW9uLmluY2x1ZGVzKFxuICAgICAgICBwcm9wcy5tdXRlQWN0aW9uc0FmdGVyQWxlcnREdXJhdGlvbixcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25cIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHF1ZXJ5VGltZVJhbmdlT3ZlcnJpZGVcbiAgICBpZiAoXG4gICAgICBwcm9wcy5xdWVyeVRpbWVSYW5nZU92ZXJyaWRlICYmXG4gICAgICAhcXVlcnlUaW1lUmFuZ2VPdmVycmlkZU9wdGlvbi5pbmNsdWRlcyhwcm9wcy5xdWVyeVRpbWVSYW5nZU92ZXJyaWRlKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCBxdWVyeVRpbWVSYW5nZU92ZXJyaWRlXCIpO1xuICAgIH1cbiAgICAvLyBUaGUgcXVlcnkgbG9vayBiYWNrIHdoaWNoIGlzIHdpbmRvd0R1cmF0aW9uICogbnVtYmVyT2ZFdmFsdWF0aW9uUGVyaW9kcyBjYW5ub3QgZXhjZWVkIDQ4IGhvdXJzLlxuICAgIGlmIChwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzKSB7XG4gICAgICBjb25zdCB3aW5kb3dEdXJhdGlvbkhvdXJzID0gbW9tZW50XG4gICAgICAgIC5kdXJhdGlvbihwcm9wcy53aW5kb3dEdXJhdGlvbilcbiAgICAgICAgLmFzSG91cnMoKTtcbiAgICAgIGNvbnN0IG51bWJlck9mRXZhbHVhdGlvblBlcmlvZHMgPVxuICAgICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzO1xuICAgICAgaWYgKHdpbmRvd0R1cmF0aW9uSG91cnMgKiBudW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzID4gNDgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicXVlcnlUaW1lUmFuZ2VPdmVycmlkZSBjYW5ub3QgZXhjZWVkIDQ4IGhvdXJzXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucXVlcnlSdWxlQWxlcnRQcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHByb3BzLnJlc291cmNlR3JvdXA7XG5cbiAgICAvLyBQcm9wZXJ0aWVzIHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGF1dG9NaXRpZ2F0aW9uRW5hYmxlZDogcHJvcHMuYXV0b01pdGlnYXRpb25FbmFibGVkIHx8IGZhbHNlLFxuICAgICAgd29ya3NwYWNlQWxlcnRzU3RvcmFnZUVuYWJsZWQ6XG4gICAgICAgIHByb3BzLndvcmtzcGFjZUFsZXJ0c1N0b3JhZ2VFbmFibGVkIHx8IGZhbHNlLFxuICAgICAgZW5hYmxlZDogcHJvcHMuZW5hYmxlZCB8fCB0cnVlLFxuICAgICAgc2tpcFF1ZXJ5VmFsaWRhdGlvbjogcHJvcHMuc2tpcFF1ZXJ5VmFsaWRhdGlvbiB8fCB0cnVlLFxuICAgICAgbWV0cmljTWVhc3VyZUNvbHVtbjogcHJvcHMuY3JpdGVyaWFNZXRyaWNNZWFzdXJlQ29sdW1uIHx8IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgY29uc3QgY3JpdGVyaWFGYWlsaW5nUGVyaW9kcyA9XG4gICAgICBwcm9wcy5jcml0ZXJpYUZhaWxNaW5pbXVtRmFpbGluZ1BlcmlvZHNUb1RyaWdnZXJBbGVydCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBtaW5pbXVtRmFpbGluZ1BlcmlvZHNUb1RyaWdnZXJBbGVydDpcbiAgICAgICAgICAgICAgcHJvcHMuY3JpdGVyaWFGYWlsTWluaW11bUZhaWxpbmdQZXJpb2RzVG9UcmlnZ2VyQWxlcnQsXG4gICAgICAgICAgICBudW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzOlxuICAgICAgICAgICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBkaW1lbnNpb24gPVxuICAgICAgcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25OYW1lICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYURpbWVuc2lvbk9wZXJhdG9yICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYURpbWVuc2lvblZhbHVlc1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25OYW1lLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25PcGVyYXRvcixcbiAgICAgICAgICAgICAgdmFsdWVzOiBwcm9wcy5jcml0ZXJpYURpbWVuc2lvblZhbHVlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGF6dXJlcm1Nb25pdG9yUXVlcnlSdWxlQWxlcnQgPSBuZXcgTW9uaXRvclNjaGVkdWxlZFF1ZXJ5UnVsZXNBbGVydFYyKFxuICAgICAgdGhpcyxcbiAgICAgIFwicXVlcnlydWxlYWxlcnRcIixcbiAgICAgIHtcbiAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbixcbiAgICAgICAgc2NvcGVzOiBwcm9wcy5zY29wZXMsXG4gICAgICAgIHdpbmRvd0R1cmF0aW9uOiBwcm9wcy53aW5kb3dEdXJhdGlvbixcbiAgICAgICAgZXZhbHVhdGlvbkZyZXF1ZW5jeTogcHJvcHMuZXZhbHVhdGlvbkZyZXF1ZW5jeSxcbiAgICAgICAgc2V2ZXJpdHk6IHByb3BzLnNldmVyaXR5LFxuICAgICAgICBjcml0ZXJpYTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9wZXJhdG9yOiBwcm9wcy5jcml0ZXJpYU9wZXJhdG9yLFxuICAgICAgICAgICAgcXVlcnk6IHByb3BzLmNyaXRlcmlhUXVlcnksXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IHByb3BzLmNyaXRlcmlhVGhyZXNob2xkLFxuICAgICAgICAgICAgdGltZUFnZ3JlZ2F0aW9uTWV0aG9kOiBwcm9wcy5jcml0ZXJpYXRpbWVBZ2dyZWdhdGlvbk1ldGhvZCxcbiAgICAgICAgICAgIGRpbWVuc2lvbjogZGltZW5zaW9uLFxuICAgICAgICAgICAgZmFpbGluZ1BlcmlvZHM6IGNyaXRlcmlhRmFpbGluZ1BlcmlvZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgYWN0aW9uOiBwcm9wcy5hY3Rpb25BY3Rpb25Hcm91cElkXG4gICAgICAgICAgPyB7IGFjdGlvbkdyb3VwczogcHJvcHMuYWN0aW9uQWN0aW9uR3JvdXBJZCB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBPdXRwdXRcbiAgICB0aGlzLmlkID0gYXp1cmVybU1vbml0b3JRdWVyeVJ1bGVBbGVydC5pZDtcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFF1ZXJ5UnVsZUFsZXJ0SWQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiaWRcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGF6dXJlcm1Nb25pdG9yUXVlcnlSdWxlQWxlcnQuaWQsXG4gICAgICB9LFxuICAgICk7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRRdWVyeVJ1bGVBbGVydElkLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgXCJxdWVyeV9ydWxlX2FsZXJ0X2lkXCIsXG4gICAgKTtcbiAgfVxufVxuIl19
204
+ QueryRuleAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_queryrulealert.QueryRuleAlert", version: "0.0.3-pre.7" };
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcnVsZS1hbGVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1xdWVyeXJ1bGVhbGVydC9saWIvcXVlcnktcnVsZS1hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtIQUF1SDtBQUV2SCwrQkFBK0I7QUFDL0IsMkNBQXVDO0FBQ3ZDLGlDQUFpQztBQXVJakMsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFLM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQ0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsd0JBQXdCO1FBQ3hCLE1BQU0seUJBQXlCLEdBQUc7WUFDaEMsTUFBTTtZQUNOLE1BQU07WUFDTixPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sS0FBSztTQUNOLENBQUM7UUFDRixNQUFNLG9CQUFvQixHQUFHO1lBQzNCLE1BQU07WUFDTixNQUFNO1lBQ04sT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLEtBQUs7WUFDTCxLQUFLO1NBQ04sQ0FBQztRQUNGLE1BQU0sbUNBQW1DLEdBQUc7WUFDMUMsTUFBTTtZQUNOLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixLQUFLO1lBQ0wsS0FBSztTQUNOLENBQUM7UUFDRixNQUFNLDRCQUE0QixHQUFHO1lBQ25DLE1BQU07WUFDTixPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNO1lBQ04sTUFBTTtZQUNOLEtBQUs7WUFDTCxLQUFLO1NBQ04sQ0FBQztRQUVGLCtCQUErQjtRQUMvQixJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELDBCQUEwQjtRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDM0M7UUFDRCx5Q0FBeUM7UUFDekMsSUFDRSxLQUFLLENBQUMsNkJBQTZCO1lBQ25DLENBQUMsbUNBQW1DLENBQUMsUUFBUSxDQUMzQyxLQUFLLENBQUMsNkJBQTZCLENBQ3BDLEVBQ0Q7WUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxrQ0FBa0M7UUFDbEMsSUFDRSxLQUFLLENBQUMsc0JBQXNCO1lBQzVCLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUNwRTtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUNELGtHQUFrRztRQUNsRyxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRTtZQUMvQyxNQUFNLG1CQUFtQixHQUFHLE1BQU07aUJBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO2lCQUM5QixPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0seUJBQXlCLEdBQzdCLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQztZQUM5QyxJQUFJLG1CQUFtQixHQUFHLHlCQUF5QixHQUFHLEVBQUUsRUFBRTtnQkFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2FBQ2xFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUV6QyxpQ0FBaUM7UUFDakMsTUFBTSxRQUFRLEdBQUc7WUFDZixxQkFBcUIsRUFBRSxLQUFLLENBQUMscUJBQXFCLElBQUksS0FBSztZQUMzRCw2QkFBNkIsRUFDM0IsS0FBSyxDQUFDLDZCQUE2QixJQUFJLEtBQUs7WUFDOUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSTtZQUM5QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CLElBQUksSUFBSTtZQUN0RCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsMkJBQTJCLElBQUksU0FBUztTQUNwRSxDQUFDO1FBRUYsTUFBTSxzQkFBc0IsR0FDMUIsS0FBSyxDQUFDLCtDQUErQyxLQUFLLFNBQVM7WUFDbkUsS0FBSyxDQUFDLHFDQUFxQyxLQUFLLFNBQVM7WUFDdkQsQ0FBQyxDQUFDO2dCQUNFLG1DQUFtQyxFQUNqQyxLQUFLLENBQUMsK0NBQStDO2dCQUN2RCx5QkFBeUIsRUFDdkIsS0FBSyxDQUFDLHFDQUFxQzthQUM5QztZQUNILENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsTUFBTSxTQUFTLEdBQ2IsS0FBSyxDQUFDLHFCQUFxQjtZQUMzQixLQUFLLENBQUMseUJBQXlCO1lBQy9CLEtBQUssQ0FBQyx1QkFBdUI7WUFDM0IsQ0FBQyxDQUFDO2dCQUNFO29CQUNFLElBQUksRUFBRSxLQUFLLENBQUMscUJBQXFCO29CQUNqQyxRQUFRLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtvQkFDekMsTUFBTSxFQUFFLEtBQUssQ0FBQyx1QkFBdUI7aUJBQ3RDO2FBQ0Y7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWhCLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSwwRUFBaUMsQ0FDeEUsSUFBSSxFQUNKLGdCQUFnQixFQUNoQjtZQUNFLEdBQUcsUUFBUTtZQUNYLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDM0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsUUFBUSxFQUFFO2dCQUNSO29CQUNFLFFBQVEsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO29CQUNoQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWE7b0JBQzFCLFNBQVMsRUFBRSxLQUFLLENBQUMsaUJBQWlCO29CQUNsQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsNkJBQTZCO29CQUMxRCxTQUFTLEVBQUUsU0FBUztvQkFDcEIsY0FBYyxFQUFFLHNCQUFzQjtpQkFDdkM7YUFDRjtZQUNELE1BQU0sRUFBRSxLQUFLLENBQUMsbUJBQW1CO2dCQUMvQixDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixFQUFFO2dCQUM3QyxDQUFDLENBQUMsU0FBUztZQUNiLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNqQixDQUNGLENBQUM7UUFFRixTQUFTO1FBQ1QsSUFBSSxDQUFDLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQ3BFLElBQUksRUFDSixJQUFJLEVBQ0o7WUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsRUFBRTtTQUN2QyxDQUNGLENBQUM7UUFDRixvQ0FBb0MsQ0FBQyxpQkFBaUIsQ0FDcEQscUJBQXFCLENBQ3RCLENBQUM7SUFDSixDQUFDOztBQWhPSCx3Q0FpT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb25pdG9yU2NoZWR1bGVkUXVlcnlSdWxlc0FsZXJ0VjIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL21vbml0b3Itc2NoZWR1bGVkLXF1ZXJ5LXJ1bGVzLWFsZXJ0LXYyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBNb25pdG9yIFNjaGVkdWxlZCBRdWVyeSBSdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIGdyb3VwIGluIHdoaWNoIHRoZSBNb25pdG9yIFNjaGVkdWxlZCBRdWVyeSBSdWxlIGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIG9mIHRoZSBNb25pdG9yIFNjaGVkdWxlZCBRdWVyeSBSdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3JpdGVyaWEgb3BlcmF0b3IuXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgRXF1YWwsIEdyZWF0ZXJUaGFuLCBHcmVhdGVyVGhhbk9yRXF1YWwsIExlc3NUaGFuLGFuZCBMZXNzVGhhbk9yRXF1YWwuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYU9wZXJhdG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgdG8gcnVuIG9uIGxvZ3MuIFRoZSByZXN1bHRzIHJldHVybmVkIGJ5IHRoaXMgcXVlcnkgYXJlIHVzZWQgdG8gcG9wdWxhdGUgdGhlIGFsZXJ0LlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFRdWVyeTogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjcml0ZXJpYSB0aHJlc2hvbGQgdmFsdWUgdGhhdCBhY3RpdmF0ZXMgdGhlIGFsZXJ0LlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFUaHJlc2hvbGQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGFnZ3JlZ2F0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHBvaW50cyBpbiBhZ2dyZWdhdGlvbiBncmFudWxhcml0eS5cbiAgICogUG9zc2libGUgdmFsdWVzIGFyZSBBdmVyYWdlLCBDb3VudCwgTWF4aW11bSwgTWluaW11bSxhbmQgVG90YWwuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYXRpbWVBZ2dyZWdhdGlvbk1ldGhvZDogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGltZW5zaW9uIGZvciBjcml0ZXJpYS5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRlcmlhRGltZW5zaW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogT3BlcmF0b3IgZm9yIGRpbWVuc2lvbiB2YWx1ZXMuIFBvc3NpYmxlIHZhbHVlcyBhcmUgRXhjbHVkZSwgYW5kIEluY2x1ZGUuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYURpbWVuc2lvbk9wZXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGRpbWVuc2lvbiB2YWx1ZXMuIFVzZSBhIHdpbGRjYXJkICogdG8gY29sbGVjdCBhbGwuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYURpbWVuc2lvblZhbHVlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiB2aW9sYXRpb25zIHRvIHRyaWdnZXIgYW4gYWxlcnQuXG4gICAqIFNob3VsZCBiZSBzbWFsbGVyIG9yIGVxdWFsIHRvIG51bWJlcl9vZl9ldmFsdWF0aW9uX3BlcmlvZHMuXG4gICAqIFBvc3NpYmxlIHZhbHVlIGlzIGludGVnZXIgYmV0d2VlbiAxIGFuZCA2LlxuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGVyaWFGYWlsTWluaW11bUZhaWxpbmdQZXJpb2RzVG9UcmlnZ2VyQWxlcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGV2YWx1YXRpb24gcGVyaW9kcy5cbiAgICogUG9zc2libGUgdmFsdWUgaXMgaW50ZWdlciBiZXR3ZWVuIDEgYW5kIDYuXG4gICAqL1xuICByZWFkb25seSBjcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjb2x1bW4gY29udGFpbmluZyB0aGUgbWV0cmljIG1lYXN1cmUgbnVtYmVyLlxuICAgKiBjcml0ZXJpYU1ldHJpY01lYXN1cmVDb2x1bW4gaXMgcmVxdWlyZWQgaWYgY3JpdGVyaWF0aW1lQWdncmVnYXRpb25NZXRob2QgaXMgQXZlcmFnZSwgTWF4aW11bSwgTWluaW11bSwgb3IgVG90YWwuXG4gICAqIEFuZCBjcml0ZXJpYU1ldHJpY01lYXN1cmVDb2x1bW4gY2Fubm90IGJlIHNwZWNpZmllZCBpZiBjcml0ZXJpYXRpbWVBZ2dyZWdhdGlvbk1ldGhvZCBpcyBDb3VudC5cbiAgICovXG4gIHJlYWRvbmx5IGNyaXRlcmlhTWV0cmljTWVhc3VyZUNvbHVtbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEhvdyBvZnRlbiB0aGUgc2NoZWR1bGVkIHF1ZXJ5IHJ1bGUgaXMgZXZhbHVhdGVkLCByZXByZXNlbnRlZCBpbiBJU08gODYwMSBkdXJhdGlvbiBmb3JtYXQuXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgUFQxTSwgUFQ1TSwgUFQxME0sIFBUMTVNLCBQVDMwTSwgUFQ0NU0sIFBUMUgsIFBUMkgsIFBUM0gsIFBUNEgsIFBUNUgsIFBUNkgsIFAxRC5cbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25GcmVxdWVuY3k6IHN0cmluZztcbiAgLyoqXG4gICAqIFNldmVyaXR5IG9mIHRoZSBhbGVydC4gU2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA0LiBWYWx1ZSBvZiAwIGlzIHNldmVyZXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2V2ZXJpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcGVyaW9kIG9mIHRpbWUgaW4gSVNPIDg2MDEgZHVyYXRpb24gZm9ybWF0IG9uIHdoaWNoIHRoZSBTY2hlZHVsZWQgUXVlcnkgUnVsZSB3aWxsIGJlIGV4ZWN1dGVkIChiaW4gc2l6ZSkuXG4gICAqL1xuICByZWFkb25seSB3aW5kb3dEdXJhdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBhY3Rpb24gZ3JvdXAgSURzIHRvIHRyaWdnZXIgd2hlbiB0aGUgYWxlcnQgZmlyZXMuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb25BY3Rpb25Hcm91cElkPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgcmVzb2x2ZWQgb3Igbm90LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01pdGlnYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIHNjaGVkdWxlZCBxdWVyeSBydWxlIGNoZWNrIGlmIHN0b3JhZ2UgaXMgY29uZmlndXJlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtzcGFjZUFsZXJ0c1N0b3JhZ2VFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVkdWxlZCBxdWVyeSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgYWxlcnQgcnVsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmbGFnIHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIHRoaXMgc2NoZWR1bGVkIHF1ZXJ5IHJ1bGUgaXMgZW5hYmxlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNdXRlIGFjdGlvbnMgZm9yIHRoZSBjaG9zZW4gcGVyaW9kIG9mIHRpbWUgaW4gSVNPIDg2MDEgZHVyYXRpb24gZm9ybWF0IGFmdGVyIHRoZSBhbGVydCBpcyBmaXJlZC5cbiAgICogUG9zc2libGUgdmFsdWVzIGFyZSBQVDVNLCBQVDEwTSwgUFQxNU0sIFBUMzBNLCBQVDQ1TSwgUFQxSCwgUFQySCwgUFQzSCwgUFQ0SCwgUFQ1SCwgUFQ2SCwgUDFEIGFuZCBQMkQuXG4gICAqL1xuICByZWFkb25seSBtdXRlQWN0aW9uc0FmdGVyQWxlcnREdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldCB0aGlzIGlmIHRoZSBhbGVydCBldmFsdWF0aW9uIHBlcmlvZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcXVlcnkgdGltZSByYW5nZS5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgdGhlIHZhbHVlIGlzIHdpbmRvd19kdXJhdGlvbipudW1iZXJfb2ZfZXZhbHVhdGlvbl9wZXJpb2RzLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIFBUNU0sIFBUMTBNLCBQVDE1TSwgUFQyME0sIFBUMzBNLCBQVDQ1TSwgUFQxSCwgUFQySCwgUFQzSCwgUFQ0SCwgUFQ1SCwgUFQ2SCwgUDFEIGFuZCBQMkQuXG4gICAqL1xuICByZWFkb25seSBxdWVyeVRpbWVSYW5nZU92ZXJyaWRlPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmbGFnIHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm92aWRlZCBxdWVyeSBzaG91bGQgYmUgdmFsaWRhdGVkIG9yIG5vdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcFF1ZXJ5VmFsaWRhdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIG1hcHBpbmcgb2YgdGFncyB3aGljaCBzaG91bGQgYmUgYXNzaWduZWQgdG8gdGhlIE1vbml0b3IgU2NoZWR1bGVkIFF1ZXJ5IFJ1bGUuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBenVyZVF1ZXJ5UnVsZUFsZXJ0UHJvcHMgZXh0ZW5kcyBCYXNlQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbGlzdCBvZiByZXNvdXJjZSBJRHMgdGhhdCB0aGlzIHNjaGVkdWxlZCBxdWVyeSBydWxlIGlzIHNjb3BlZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3Blczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVJ1bGVBbGVydCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHF1ZXJ5UnVsZUFsZXJ0UHJvcHM6IEF6dXJlUXVlcnlSdWxlQWxlcnRQcm9wcztcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIEF6dXJlIE1vbml0b3IgU2NoZWR1bGVkIFF1ZXJ5IFJ1bGUgQWxlcnQuXG4gICAqXG4gICAqIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjcmVhdGlvbiBhbmQgbWFuYWdlbWVudCBvZiBhIFNjaGVkdWxlZCBRdWVyeSBSdWxlIEFsZXJ0IGluIEF6dXJlIE1vbml0b3IuXG4gICAqIFNjaGVkdWxlZCBRdWVyeSBSdWxlIEFsZXJ0cyBleGVjdXRlIHNwZWNpZmllZCBxdWVyaWVzIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzIG92ZXIgdGhlIGRhdGEgY29sbGVjdGVkIGluIExvZyBBbmFseXRpY3NcbiAgICogV29ya3NwYWNlcyBvciBBcHBsaWNhdGlvbiBJbnNpZ2h0cywgYW5kIGFsZXJ0IGJhc2VkIG9uIHRoZSByZXN1bHRzIG9mIHRoZXNlIHF1ZXJpZXMuIFRoZXNlIGFsZXJ0cyBjYW4gYmUgdXNlZCB0byBtb25pdG9yXG4gICAqIGFwcGxpY2F0aW9uIGhlYWx0aCwgaW5mcmFzdHJ1Y3R1cmUgY2hhbmdlcywgb3IgY29tcGxpYW5jZSB3aXRoIGNlcnRhaW4gY29uZGl0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIFNjaGVkdWxlZCBRdWVyeSBSdWxlIEFsZXJ0LlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcHJvcGVydGllcyByZXF1aXJlZCB0byBjb25maWd1cmUgdGhlIFNjaGVkdWxlZCBRdWVyeSBSdWxlIEFsZXJ0LCBhcyBkZWZpbmVkIGluIHRoZSBBenVyZVF1ZXJ5UnVsZUFsZXJ0UHJvcHMgaW50ZXJmYWNlLlxuICAgKiAgICAgICAgICAgICAgICBUaGVzZSBpbmNsdWRlOlxuICAgKiAgICAgICAgICAgICAgICAtIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIFNjaGVkdWxlZCBRdWVyeSBSdWxlLlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXNvdXJjZUdyb3VwYDogVGhlIEF6dXJlIFJlc291cmNlIEdyb3VwIHVuZGVyIHdoaWNoIHRoZSBhbGVydCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGxvY2F0aW9uYDogVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgYWxlcnQgd2lsbCBiZSBkZXBsb3llZC5cbiAgICogICAgICAgICAgICAgICAgLSBgY3JpdGVyaWFRdWVyeWA6IFRoZSBxdWVyeSB0byBleGVjdXRlLiBUaGUgcmVzdWx0cyBvZiB0aGlzIHF1ZXJ5IGRldGVybWluZSB3aGV0aGVyIGFuIGFsZXJ0IHNob3VsZCBiZSB0cmlnZ2VyZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGV2YWx1YXRpb25GcmVxdWVuY3lgOiBIb3cgb2Z0ZW4gdGhlIHF1ZXJ5IHNob3VsZCBiZSBydW4uXG4gICAqICAgICAgICAgICAgICAgIC0gYHdpbmRvd0R1cmF0aW9uYDogVGhlIHRpbWUgcGVyaW9kIG92ZXIgd2hpY2ggZGF0YSBpcyBjb2xsZWN0ZWQgZm9yIGVhY2ggZXhlY3V0aW9uIG9mIHRoZSBxdWVyeS5cbiAgICogICAgICAgICAgICAgICAgLSBgc2V2ZXJpdHlgOiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGFsZXJ0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBhY3Rpb25BY3Rpb25Hcm91cElkYDogVGhlIGFjdGlvbiBncm91cCB0byBpbnZva2Ugd2hlbiB0aGUgYWxlcnQgY3JpdGVyaWEgYXJlIG1ldC5cbiAgICogICAgICAgICAgICAgICAgLSBgZW5hYmxlZGA6IEluZGljYXRlcyB3aGV0aGVyIHRoZSBhbGVydCBydWxlIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbmV3IFF1ZXJ5UnVsZUFsZXJ0KHRoaXMsICdNeUFsZXJ0UnVsZScsIHtcbiAgICogICBuYW1lOiAnSGlnaEVycm9yUmF0ZUFsZXJ0JyxcbiAgICogICByZXNvdXJjZUdyb3VwOiBteVJlc291cmNlR3JvdXAsXG4gICAqICAgbG9jYXRpb246ICdXZXN0IFVTIDInLFxuICAgKiAgIGNyaXRlcmlhUXVlcnk6ICdIZWFydGJlYXQgfCBzdW1tYXJpemUgQWdncmVnYXRlZFZhbHVlID0gY291bnQoKSBieSBiaW4oVGltZUdlbmVyYXRlZCwgNW0pJyxcbiAgICogICBldmFsdWF0aW9uRnJlcXVlbmN5OiAnUFQ1TScsXG4gICAqICAgd2luZG93RHVyYXRpb246ICdQVDFIJyxcbiAgICogICBzZXZlcml0eTogMyxcbiAgICogICBhY3Rpb25BY3Rpb25Hcm91cElkOiBbJy9zdWJzY3JpcHRpb25zL3N1Yi1pZC9yZXNvdXJjZUdyb3Vwcy9yZy9wcm92aWRlcnMvbWljcm9zb2Z0Lmluc2lnaHRzL2FjdGlvbkdyb3Vwcy9teUFjdGlvbkdyb3VwJ10sXG4gICAqICAgZW5hYmxlZDogdHJ1ZVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgY2xhc3Mgc2V0cyB1cCB0aGUgYWxlcnQgcnVsZSBhbmQgZW5zdXJlcyBpdCBpcyByZWFkeSB0byB0cmlnZ2VyIGFjdGlvbnMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBjcml0ZXJpYSBhbmQgc2NoZWR1bGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFByb3BlcnRpZXMgdmFsaWRhdGlvblxuICAgIGNvbnN0IGV2YWx1YXRpb25GcmVxdWVuY3lPcHRpb24gPSBbXG4gICAgICBcIlBUMU1cIixcbiAgICAgIFwiUFQ1TVwiLFxuICAgICAgXCJQVDEwTVwiLFxuICAgICAgXCJQVDE1TVwiLFxuICAgICAgXCJQVDMwTVwiLFxuICAgICAgXCJQVDQ1TVwiLFxuICAgICAgXCJQVDFIXCIsXG4gICAgICBcIlBUMkhcIixcbiAgICAgIFwiUFQzSFwiLFxuICAgICAgXCJQVDRIXCIsXG4gICAgICBcIlBUNUhcIixcbiAgICAgIFwiUFQ2SFwiLFxuICAgICAgXCJQMURcIixcbiAgICBdO1xuICAgIGNvbnN0IHdpbmRvd0R1cmF0aW9uT3B0aW9uID0gW1xuICAgICAgXCJQVDFNXCIsXG4gICAgICBcIlBUNU1cIixcbiAgICAgIFwiUFQxME1cIixcbiAgICAgIFwiUFQxNU1cIixcbiAgICAgIFwiUFQzME1cIixcbiAgICAgIFwiUFQ0NU1cIixcbiAgICAgIFwiUFQxSFwiLFxuICAgICAgXCJQVDJIXCIsXG4gICAgICBcIlBUM0hcIixcbiAgICAgIFwiUFQ0SFwiLFxuICAgICAgXCJQVDVIXCIsXG4gICAgICBcIlBUNkhcIixcbiAgICAgIFwiUDFEXCIsXG4gICAgICBcIlAyRFwiLFxuICAgIF07XG4gICAgY29uc3QgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25PcHRpb24gPSBbXG4gICAgICBcIlBUNU1cIixcbiAgICAgIFwiUFQxME1cIixcbiAgICAgIFwiUFQxNU1cIixcbiAgICAgIFwiUFQzME1cIixcbiAgICAgIFwiUFQ0NU1cIixcbiAgICAgIFwiUFQxSFwiLFxuICAgICAgXCJQVDJIXCIsXG4gICAgICBcIlBUM0hcIixcbiAgICAgIFwiUFQ0SFwiLFxuICAgICAgXCJQVDVIXCIsXG4gICAgICBcIlBUNkhcIixcbiAgICAgIFwiUDFEXCIsXG4gICAgICBcIlAyRFwiLFxuICAgIF07XG4gICAgY29uc3QgcXVlcnlUaW1lUmFuZ2VPdmVycmlkZU9wdGlvbiA9IFtcbiAgICAgIFwiUFQ1TVwiLFxuICAgICAgXCJQVDEwTVwiLFxuICAgICAgXCJQVDE1TVwiLFxuICAgICAgXCJQVDIwTVwiLFxuICAgICAgXCJQVDMwTVwiLFxuICAgICAgXCJQVDQ1TVwiLFxuICAgICAgXCJQVDFIXCIsXG4gICAgICBcIlBUMkhcIixcbiAgICAgIFwiUFQzSFwiLFxuICAgICAgXCJQVDRIXCIsXG4gICAgICBcIlBUNUhcIixcbiAgICAgIFwiUFQ2SFwiLFxuICAgICAgXCJQMURcIixcbiAgICAgIFwiUDJEXCIsXG4gICAgXTtcblxuICAgIC8vIFZhbGlkYXRlIGV2YWx1YXRpb25GcmVxdWVuY3lcbiAgICBpZiAoIWV2YWx1YXRpb25GcmVxdWVuY3lPcHRpb24uaW5jbHVkZXMocHJvcHMuZXZhbHVhdGlvbkZyZXF1ZW5jeSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgZXZhbHVhdGlvbkZyZXF1ZW5jeVwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgd2luZG93RHVyYXRpb25cbiAgICBpZiAoIXdpbmRvd0R1cmF0aW9uT3B0aW9uLmluY2x1ZGVzKHByb3BzLndpbmRvd0R1cmF0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCB3aW5kb3dEdXJhdGlvblwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25cbiAgICBpZiAoXG4gICAgICBwcm9wcy5tdXRlQWN0aW9uc0FmdGVyQWxlcnREdXJhdGlvbiAmJlxuICAgICAgIW11dGVBY3Rpb25zQWZ0ZXJBbGVydER1cmF0aW9uT3B0aW9uLmluY2x1ZGVzKFxuICAgICAgICBwcm9wcy5tdXRlQWN0aW9uc0FmdGVyQWxlcnREdXJhdGlvbixcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgbXV0ZUFjdGlvbnNBZnRlckFsZXJ0RHVyYXRpb25cIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHF1ZXJ5VGltZVJhbmdlT3ZlcnJpZGVcbiAgICBpZiAoXG4gICAgICBwcm9wcy5xdWVyeVRpbWVSYW5nZU92ZXJyaWRlICYmXG4gICAgICAhcXVlcnlUaW1lUmFuZ2VPdmVycmlkZU9wdGlvbi5pbmNsdWRlcyhwcm9wcy5xdWVyeVRpbWVSYW5nZU92ZXJyaWRlKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCBxdWVyeVRpbWVSYW5nZU92ZXJyaWRlXCIpO1xuICAgIH1cbiAgICAvLyBUaGUgcXVlcnkgbG9vayBiYWNrIHdoaWNoIGlzIHdpbmRvd0R1cmF0aW9uICogbnVtYmVyT2ZFdmFsdWF0aW9uUGVyaW9kcyBjYW5ub3QgZXhjZWVkIDQ4IGhvdXJzLlxuICAgIGlmIChwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzKSB7XG4gICAgICBjb25zdCB3aW5kb3dEdXJhdGlvbkhvdXJzID0gbW9tZW50XG4gICAgICAgIC5kdXJhdGlvbihwcm9wcy53aW5kb3dEdXJhdGlvbilcbiAgICAgICAgLmFzSG91cnMoKTtcbiAgICAgIGNvbnN0IG51bWJlck9mRXZhbHVhdGlvblBlcmlvZHMgPVxuICAgICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzO1xuICAgICAgaWYgKHdpbmRvd0R1cmF0aW9uSG91cnMgKiBudW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzID4gNDgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicXVlcnlUaW1lUmFuZ2VPdmVycmlkZSBjYW5ub3QgZXhjZWVkIDQ4IGhvdXJzXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucXVlcnlSdWxlQWxlcnRQcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHByb3BzLnJlc291cmNlR3JvdXA7XG5cbiAgICAvLyBQcm9wZXJ0aWVzIHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGF1dG9NaXRpZ2F0aW9uRW5hYmxlZDogcHJvcHMuYXV0b01pdGlnYXRpb25FbmFibGVkIHx8IGZhbHNlLFxuICAgICAgd29ya3NwYWNlQWxlcnRzU3RvcmFnZUVuYWJsZWQ6XG4gICAgICAgIHByb3BzLndvcmtzcGFjZUFsZXJ0c1N0b3JhZ2VFbmFibGVkIHx8IGZhbHNlLFxuICAgICAgZW5hYmxlZDogcHJvcHMuZW5hYmxlZCB8fCB0cnVlLFxuICAgICAgc2tpcFF1ZXJ5VmFsaWRhdGlvbjogcHJvcHMuc2tpcFF1ZXJ5VmFsaWRhdGlvbiB8fCB0cnVlLFxuICAgICAgbWV0cmljTWVhc3VyZUNvbHVtbjogcHJvcHMuY3JpdGVyaWFNZXRyaWNNZWFzdXJlQ29sdW1uIHx8IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgY29uc3QgY3JpdGVyaWFGYWlsaW5nUGVyaW9kcyA9XG4gICAgICBwcm9wcy5jcml0ZXJpYUZhaWxNaW5pbXVtRmFpbGluZ1BlcmlvZHNUb1RyaWdnZXJBbGVydCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBtaW5pbXVtRmFpbGluZ1BlcmlvZHNUb1RyaWdnZXJBbGVydDpcbiAgICAgICAgICAgICAgcHJvcHMuY3JpdGVyaWFGYWlsTWluaW11bUZhaWxpbmdQZXJpb2RzVG9UcmlnZ2VyQWxlcnQsXG4gICAgICAgICAgICBudW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzOlxuICAgICAgICAgICAgICBwcm9wcy5jcml0ZXJpYUZhaWxOdW1iZXJPZkV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBkaW1lbnNpb24gPVxuICAgICAgcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25OYW1lICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYURpbWVuc2lvbk9wZXJhdG9yICYmXG4gICAgICBwcm9wcy5jcml0ZXJpYURpbWVuc2lvblZhbHVlc1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25OYW1lLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogcHJvcHMuY3JpdGVyaWFEaW1lbnNpb25PcGVyYXRvcixcbiAgICAgICAgICAgICAgdmFsdWVzOiBwcm9wcy5jcml0ZXJpYURpbWVuc2lvblZhbHVlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGF6dXJlcm1Nb25pdG9yUXVlcnlSdWxlQWxlcnQgPSBuZXcgTW9uaXRvclNjaGVkdWxlZFF1ZXJ5UnVsZXNBbGVydFYyKFxuICAgICAgdGhpcyxcbiAgICAgIFwicXVlcnlydWxlYWxlcnRcIixcbiAgICAgIHtcbiAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbixcbiAgICAgICAgc2NvcGVzOiBwcm9wcy5zY29wZXMsXG4gICAgICAgIHdpbmRvd0R1cmF0aW9uOiBwcm9wcy53aW5kb3dEdXJhdGlvbixcbiAgICAgICAgZXZhbHVhdGlvbkZyZXF1ZW5jeTogcHJvcHMuZXZhbHVhdGlvbkZyZXF1ZW5jeSxcbiAgICAgICAgc2V2ZXJpdHk6IHByb3BzLnNldmVyaXR5LFxuICAgICAgICBjcml0ZXJpYTogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9wZXJhdG9yOiBwcm9wcy5jcml0ZXJpYU9wZXJhdG9yLFxuICAgICAgICAgICAgcXVlcnk6IHByb3BzLmNyaXRlcmlhUXVlcnksXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IHByb3BzLmNyaXRlcmlhVGhyZXNob2xkLFxuICAgICAgICAgICAgdGltZUFnZ3JlZ2F0aW9uTWV0aG9kOiBwcm9wcy5jcml0ZXJpYXRpbWVBZ2dyZWdhdGlvbk1ldGhvZCxcbiAgICAgICAgICAgIGRpbWVuc2lvbjogZGltZW5zaW9uLFxuICAgICAgICAgICAgZmFpbGluZ1BlcmlvZHM6IGNyaXRlcmlhRmFpbGluZ1BlcmlvZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgYWN0aW9uOiBwcm9wcy5hY3Rpb25BY3Rpb25Hcm91cElkXG4gICAgICAgICAgPyB7IGFjdGlvbkdyb3VwczogcHJvcHMuYWN0aW9uQWN0aW9uR3JvdXBJZCB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBPdXRwdXRcbiAgICB0aGlzLmlkID0gYXp1cmVybU1vbml0b3JRdWVyeVJ1bGVBbGVydC5pZDtcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFF1ZXJ5UnVsZUFsZXJ0SWQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiaWRcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGF6dXJlcm1Nb25pdG9yUXVlcnlSdWxlQWxlcnQuaWQsXG4gICAgICB9LFxuICAgICk7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRRdWVyeVJ1bGVBbGVydElkLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgXCJxdWVyeV9ydWxlX2FsZXJ0X2lkXCIsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -34,5 +34,33 @@ export declare class Group extends AzureResource {
34
34
  id: string;
35
35
  readonly location: string;
36
36
  readonly name: string;
37
+ /**
38
+ * Represents an Azure Resource Group.
39
+ *
40
+ * This class is responsible for the creation and management of an Azure Resource Group, which is a container that holds
41
+ * related resources for an Azure solution. A resource group includes those resources that you want to manage as a group.
42
+ * You decide how to allocate resources to resource groups based on what makes the most sense for your organization.
43
+ *
44
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
45
+ * @param id - The unique identifier for this instance of the Resource Group.
46
+ * @param props - Optional properties for configuring the Resource Group. These can include:
47
+ * - `location`: The Azure region where the Resource Group will be created.
48
+ * - `name`: The name of the Resource Group, which must be unique within your Azure subscription.
49
+ * - `tags`: A dictionary of tags to apply to the Resource Group for organizational, billing, or other purposes.
50
+ * - `ignoreChanges`: A list of properties which should be ignored if changes are made after initial deployment,
51
+ * useful in certain scenarios where properties are externally managed or should not trigger updates.
52
+ *
53
+ * Example usage:
54
+ * ```typescript
55
+ * new Group(this, 'MyResourceGroup', {
56
+ * location: 'East US',
57
+ * name: 'ApplicationResources',
58
+ * tags: {
59
+ * environment: 'production'
60
+ * }
61
+ * });
62
+ * ```
63
+ * This class sets up the resource group and applies any specified configurations, making it ready to hold other Azure resources.
64
+ */
37
65
  constructor(scope: Construct, id: string, props?: GroupProps);
38
66
  }
@@ -7,6 +7,34 @@ const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
7
7
  const cdktf = require("cdktf");
8
8
  const lib_1 = require("../../core-azure/lib");
9
9
  class Group extends lib_1.AzureResource {
10
+ /**
11
+ * Represents an Azure Resource Group.
12
+ *
13
+ * This class is responsible for the creation and management of an Azure Resource Group, which is a container that holds
14
+ * related resources for an Azure solution. A resource group includes those resources that you want to manage as a group.
15
+ * You decide how to allocate resources to resource groups based on what makes the most sense for your organization.
16
+ *
17
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
18
+ * @param id - The unique identifier for this instance of the Resource Group.
19
+ * @param props - Optional properties for configuring the Resource Group. These can include:
20
+ * - `location`: The Azure region where the Resource Group will be created.
21
+ * - `name`: The name of the Resource Group, which must be unique within your Azure subscription.
22
+ * - `tags`: A dictionary of tags to apply to the Resource Group for organizational, billing, or other purposes.
23
+ * - `ignoreChanges`: A list of properties which should be ignored if changes are made after initial deployment,
24
+ * useful in certain scenarios where properties are externally managed or should not trigger updates.
25
+ *
26
+ * Example usage:
27
+ * ```typescript
28
+ * new Group(this, 'MyResourceGroup', {
29
+ * location: 'East US',
30
+ * name: 'ApplicationResources',
31
+ * tags: {
32
+ * environment: 'production'
33
+ * }
34
+ * });
35
+ * ```
36
+ * This class sets up the resource group and applies any specified configurations, making it ready to hold other Azure resources.
37
+ */
10
38
  constructor(scope, id, props = {}) {
11
39
  super(scope, id);
12
40
  this.props = props;
@@ -45,5 +73,5 @@ class Group extends lib_1.AzureResource {
45
73
  }
46
74
  exports.Group = Group;
47
75
  _a = JSII_RTTI_SYMBOL_1;
48
- Group[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_resourcegroup.Group", version: "0.0.3-pre.6" };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9saWIvcmVzb3VyY2UtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBRS9CLDhDQUFxRDtBQTBCckQsTUFBYSxLQUFNLFNBQVEsbUJBQWE7SUFXdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFvQixFQUFFO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsTUFBTSxRQUFRLEdBQUc7WUFDZixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRO1NBQ3JDLENBQUM7UUFFRixNQUFNLHNCQUFzQixHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzNELEdBQUcsUUFBUTtZQUNYLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlDO2dCQUNFLGNBQWMsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUU7YUFDMUM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxHQUFHLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLHNCQUFzQixDQUFDO1FBRTVDLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFFBQVE7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsc0JBQXNCLENBQUMsSUFBSTtTQUNuQyxDQUFDLENBQUM7UUFFSCxnSUFBZ0k7UUFDaEksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUFwREgsc0JBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF6dXJlUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWJcIjtcblxuLy8gQ29uc3RydWN0XG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSByZXNvdXJjZSBncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwUHJvcHMge1xuICAvKipcbiAgICogVGhlIEF6dXJlIFJlZ2lvbiB0byBkZXBsb3kuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBenVyZSBSZXNvdXJjZSBHcm91cC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFzc2lnbiB0byB0aGUgUmVzb3VyY2UgR3JvdXAuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBHcm91cCBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgcmVhZG9ubHkgcHJvcHM6IEdyb3VwUHJvcHM7XG4gIGlkT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIGxvY2F0aW9uT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEdyb3VwUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUgfHwgYHJnLSR7dGhpcy5ub2RlLnBhdGguc3BsaXQoXCIvXCIpWzBdfWAsXG4gICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24gfHwgXCJlYXN0dXNcIixcbiAgICB9O1xuXG4gICAgY29uc3QgYXp1cmVybVJlc291cmNlR3JvdXBSZyA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgIH0pO1xuXG4gICAgYXp1cmVybVJlc291cmNlR3JvdXBSZy5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCBbXG4gICAgICB7XG4gICAgICAgIGlnbm9yZV9jaGFuZ2VzOiBwcm9wcy5pZ25vcmVDaGFuZ2VzIHx8IFtdLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIHRoaXMuaWQgPSBhenVyZXJtUmVzb3VyY2VHcm91cFJnLmlkO1xuICAgIHRoaXMubmFtZSA9IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmcubmFtZTtcbiAgICB0aGlzLmxvY2F0aW9uID0gYXp1cmVybVJlc291cmNlR3JvdXBSZy5sb2NhdGlvbjtcbiAgICB0aGlzLnJlc291cmNlR3JvdXAgPSBhenVyZXJtUmVzb3VyY2VHcm91cFJnO1xuXG4gICAgLy8gVGVycmFmb3JtIE91dHB1dHNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiBhenVyZXJtUmVzb3VyY2VHcm91cFJnLmlkLFxuICAgIH0pO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibG9jYXRpb25cIiwge1xuICAgICAgdmFsdWU6IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmcubG9jYXRpb24sXG4gICAgfSk7XG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmcubmFtZSxcbiAgICB9KTtcblxuICAgIC8qVGhpcyBhbGxvd3MgdGhlIFRlcnJhZm9ybSByZXNvdXJjZSBuYW1lIHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBuYW1lLiBZb3UgY2FuIHJlbW92ZSB0aGUgY2FsbCBpZiB5b3UgZG9uJ3QgbmVlZCB0aGVtIHRvIG1hdGNoLiovXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImxvY2F0aW9uXCIpO1xuICAgIHRoaXMubmFtZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcIm5hbWVcIik7XG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICB9XG59XG4iXX0=
76
+ Group[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_resourcegroup.Group", version: "0.0.3-pre.7" };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9saWIvcmVzb3VyY2UtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBRS9CLDhDQUFxRDtBQTBCckQsTUFBYSxLQUFNLFNBQVEsbUJBQWE7SUFXdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTJCRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBb0IsRUFBRTtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sUUFBUSxHQUFHO1lBQ2YsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtTQUNyQyxDQUFDO1FBRUYsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUMzRCxHQUFHLFFBQVE7WUFDWCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsc0JBQXNCLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUM5QztnQkFDRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxFQUFFO2FBQzFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQztRQUU1QyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsc0JBQXNCLENBQUMsRUFBRTtTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2hFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxRQUFRO1NBQ3ZDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEQsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUk7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsZ0lBQWdJO1FBQ2hJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBaEZILHNCQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbi8vIENvbnN0cnVjdFxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgcmVzb3VyY2UgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBenVyZSBSZWdpb24gdG8gZGVwbG95LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAuXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFncyB0byBhc3NpZ24gdG8gdGhlIFJlc291cmNlIEdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGlnbm9yZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgR3JvdXAgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHJlYWRvbmx5IHByb3BzOiBHcm91cFByb3BzO1xuICBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBsb2NhdGlvbk91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBuYW1lT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIEF6dXJlIFJlc291cmNlIEdyb3VwLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgYW4gQXp1cmUgUmVzb3VyY2UgR3JvdXAsIHdoaWNoIGlzIGEgY29udGFpbmVyIHRoYXQgaG9sZHNcbiAgICogcmVsYXRlZCByZXNvdXJjZXMgZm9yIGFuIEF6dXJlIHNvbHV0aW9uLiBBIHJlc291cmNlIGdyb3VwIGluY2x1ZGVzIHRob3NlIHJlc291cmNlcyB0aGF0IHlvdSB3YW50IHRvIG1hbmFnZSBhcyBhIGdyb3VwLlxuICAgKiBZb3UgZGVjaWRlIGhvdyB0byBhbGxvY2F0ZSByZXNvdXJjZXMgdG8gcmVzb3VyY2UgZ3JvdXBzIGJhc2VkIG9uIHdoYXQgbWFrZXMgdGhlIG1vc3Qgc2Vuc2UgZm9yIHlvdXIgb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgc3RhY2suXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgUmVzb3VyY2UgR3JvdXAuXG4gICAqIEBwYXJhbSBwcm9wcyAtIE9wdGlvbmFsIHByb3BlcnRpZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBSZXNvdXJjZSBHcm91cC4gVGhlc2UgY2FuIGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYGxvY2F0aW9uYDogVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgUmVzb3VyY2UgR3JvdXAgd2lsbCBiZSBjcmVhdGVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGBuYW1lYDogVGhlIG5hbWUgb2YgdGhlIFJlc291cmNlIEdyb3VwLCB3aGljaCBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4geW91ciBBenVyZSBzdWJzY3JpcHRpb24uXG4gICAqICAgICAgICAgICAgICAgIC0gYHRhZ3NgOiBBIGRpY3Rpb25hcnkgb2YgdGFncyB0byBhcHBseSB0byB0aGUgUmVzb3VyY2UgR3JvdXAgZm9yIG9yZ2FuaXphdGlvbmFsLCBiaWxsaW5nLCBvciBvdGhlciBwdXJwb3Nlcy5cbiAgICogICAgICAgICAgICAgICAgLSBgaWdub3JlQ2hhbmdlc2A6IEEgbGlzdCBvZiBwcm9wZXJ0aWVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGlmIGNoYW5nZXMgYXJlIG1hZGUgYWZ0ZXIgaW5pdGlhbCBkZXBsb3ltZW50LFxuICAgKiAgICAgICAgICAgICAgICAgIHVzZWZ1bCBpbiBjZXJ0YWluIHNjZW5hcmlvcyB3aGVyZSBwcm9wZXJ0aWVzIGFyZSBleHRlcm5hbGx5IG1hbmFnZWQgb3Igc2hvdWxkIG5vdCB0cmlnZ2VyIHVwZGF0ZXMuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbmV3IEdyb3VwKHRoaXMsICdNeVJlc291cmNlR3JvdXAnLCB7XG4gICAqICAgbG9jYXRpb246ICdFYXN0IFVTJyxcbiAgICogICBuYW1lOiAnQXBwbGljYXRpb25SZXNvdXJjZXMnLFxuICAgKiAgIHRhZ3M6IHtcbiAgICogICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbidcbiAgICogICB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogVGhpcyBjbGFzcyBzZXRzIHVwIHRoZSByZXNvdXJjZSBncm91cCBhbmQgYXBwbGllcyBhbnkgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb25zLCBtYWtpbmcgaXQgcmVhZHkgdG8gaG9sZCBvdGhlciBBenVyZSByZXNvdXJjZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogR3JvdXBQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSB8fCBgcmctJHt0aGlzLm5vZGUucGF0aC5zcGxpdChcIi9cIilbMF19YCxcbiAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbiB8fCBcImVhc3R1c1wiLFxuICAgIH07XG5cbiAgICBjb25zdCBhenVyZXJtUmVzb3VyY2VHcm91cFJnID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgfSk7XG5cbiAgICBhenVyZXJtUmVzb3VyY2VHcm91cFJnLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIFtcbiAgICAgIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHByb3BzLmlnbm9yZUNoYW5nZXMgfHwgW10sXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgdGhpcy5pZCA9IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmcuaWQ7XG4gICAgdGhpcy5uYW1lID0gYXp1cmVybVJlc291cmNlR3JvdXBSZy5uYW1lO1xuICAgIHRoaXMubG9jYXRpb24gPSBhenVyZXJtUmVzb3VyY2VHcm91cFJnLmxvY2F0aW9uO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmc7XG5cbiAgICAvLyBUZXJyYWZvcm0gT3V0cHV0c1xuICAgIHRoaXMuaWRPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwiaWRcIiwge1xuICAgICAgdmFsdWU6IGF6dXJlcm1SZXNvdXJjZUdyb3VwUmcuaWQsXG4gICAgfSk7XG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYXp1cmVybVJlc291cmNlR3JvdXBSZy5sb2NhdGlvbixcbiAgICB9KTtcbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYXp1cmVybVJlc291cmNlR3JvdXBSZy5uYW1lLFxuICAgIH0pO1xuXG4gICAgLypUaGlzIGFsbG93cyB0aGUgVGVycmFmb3JtIHJlc291cmNlIG5hbWUgdG8gbWF0Y2ggdGhlIG9yaWdpbmFsIG5hbWUuIFlvdSBjYW4gcmVtb3ZlIHRoZSBjYWxsIGlmIHlvdSBkb24ndCBuZWVkIHRoZW0gdG8gbWF0Y2guKi9cbiAgICB0aGlzLmxvY2F0aW9uT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibG9jYXRpb25cIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gIH1cbn1cbiJdfQ==
@@ -95,23 +95,6 @@ export interface AccountProps {
95
95
  */
96
96
  readonly accountKind?: string;
97
97
  }
98
- /**
99
- * Represents an Azure Storage Account within a Terraform deployment.
100
- * This class provides methods to easily manage storage resources such as Containers,
101
- * File Shares, Tables, Queues, and Network Rules.
102
- *
103
- * Example usage:
104
- * ```typescript
105
- * const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
106
- * name: 'myStorageAccount',
107
- * location: 'East US',
108
- * resourceGroup: myResourceGroup,
109
- * accountReplicationType: 'LRS',
110
- * accountTier: 'Standard',
111
- * // other properties
112
- * });
113
- * ```
114
- */
115
98
  export declare class Account extends AzureResourceWithAlert {
116
99
  readonly props: AccountProps;
117
100
  id: string;
@@ -124,23 +107,55 @@ export declare class Account extends AzureResourceWithAlert {
124
107
  private readonly shares;
125
108
  private readonly tables;
126
109
  /**
127
- * Initializes a new AzureStorageAccount.
128
- * @param scope The scope in which to define this construct.
129
- * @param id The scoped construct ID.
130
- * @param props Configuration properties for the Azure Storage Account.
110
+ * Represents an Azure Storage Account within a Terraform deployment.
111
+ *
112
+ * This class is responsible for the creation and management of an Azure Storage Account, which is a scalable and secure service
113
+ * for storing large amounts of unstructured data that can be accessed from anywhere in the world over HTTP or HTTPS. Common uses
114
+ * of the Azure Storage Account include storing of blobs (objects), file shares, tables, and queues. This class provides methods
115
+ * to manage storage resources, configure network rules, and integrate with Azure Active Directory for secure access management.
116
+ *
117
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
118
+ * @param id - The unique identifier for this instance of the storage account.
119
+ * @param props - The properties required to configure the Azure Storage Account, as defined in the AccountProps interface. These include:
120
+ * - `name`: The name of the storage account, which must be unique within the Azure region.
121
+ * - `location`: The Azure region where the storage account will be created.
122
+ * - `resourceGroup`: The Azure Resource Group under which the storage account will be deployed.
123
+ * - `accountReplicationType`: The type of data replication to ensure data durability and availability.
124
+ * - `accountTier`: The performance tier that affects the type of hardware used for the storage account.
125
+ * - `tags`: A dictionary of tags to apply to the storage account for organizational purposes.
126
+ *
127
+ * Example usage:
128
+ * ```typescript
129
+ * const storageAccount = new Account(this, 'MyStorageAccount', {
130
+ * location: 'East US',
131
+ * name: 'myStorageAccount',
132
+ * resourceGroup: myResourceGroup,
133
+ * accountReplicationType: 'LRS',
134
+ * accountTier: 'Standard',
135
+ * enableHttpsTrafficOnly: true,
136
+ * tags: {
137
+ * environment: 'production'
138
+ * }
139
+ * });
140
+ * ```
141
+ * This class sets up the storage account with the specified configurations, handles resource allocation, and applies security
142
+ * settings based on the properties provided.
131
143
  */
132
144
  constructor(scope: Construct, id: string, props: AccountProps);
133
145
  /**
134
146
  * Adds a new container to the storage account.
135
- * @param name The name of the container.
136
- * @param containerAccessType The access type of the container (e.g., 'blob', 'private').
137
- * @param metadata Metadata for the container.
138
- * @returns The created AzureStorageContainer.
139
- * @throws Error if a container with the same name already exists.
147
+ * @param name The name of the container. It must be unique within the storage account.
148
+ * @param containerAccessType The level of public access to the container. Defaults to 'private'.
149
+ * @param metadata Optional metadata for the container as key-value pairs.
150
+ * @returns The created Container instance.
151
+ * @throws Error if a container with the same name already exists within the storage account.
152
+ *
153
+ * This method creates a new container within the Azure storage account, allowing for the specification of access
154
+ * level and metadata. If the container already exists, it throws an error to prevent duplication.
140
155
  *
141
156
  * Example usage:
142
157
  * ```typescript
143
- * const container = storageAccount.addContainer('myContainer', 'private');
158
+ * const container = storageAccount.addContainer('myContainer', 'private', { owner: 'IT' });
144
159
  * ```
145
160
  */
146
161
  addContainer(name: string, containerAccessType?: string, metadata?: {
@@ -148,57 +163,69 @@ export declare class Account extends AzureResourceWithAlert {
148
163
  }): Container;
149
164
  /**
150
165
  * Adds a new file share to the storage account.
151
- * @param name The name of the file share.
152
- * @param props Optional properties for the file share (e.g., quota, access tier).
153
- * @returns The created AzureStorageShare.
154
- * @throws Error if a share with the same name already exists.
166
+ * @param name The name of the file share. Must be unique within the storage account.
167
+ * @param props Optional properties for configuring the file share, such as quota and access tier.
168
+ * @returns The created FileShare instance.
169
+ * @throws Error if a file share with the same name already exists.
170
+ *
171
+ * This method facilitates the addition of a file share to the storage account, with optional settings for
172
+ * capacity (quota) and data access frequency (access tier). If a file share with the same name exists, an error is thrown.
155
173
  *
156
174
  * Example usage:
157
175
  * ```typescript
158
- * const fileShare = storageAccount.addShare('myFileShare', { quota: 1024, accessTier: 'Hot' });
176
+ * const fileShare = storageAccount.addFileShare('myFileShare', { quota: 1024, accessTier: 'Hot' });
159
177
  * ```
160
178
  */
161
179
  addFileShare(name: string, props?: FileShareProps): FileShare;
162
180
  /**
163
181
  * Adds a new table to the storage account.
164
- * @param name The name of the table.
165
- * @param acl Optional access control list for the table.
166
- * @returns The created AzureStorageTable.
182
+ * @param name The name of the table. Must be unique within the storage account.
183
+ * @param acl Optional access control list for the table, specifying permissions.
184
+ * @returns The created Table instance.
167
185
  * @throws Error if a table with the same name already exists.
168
186
  *
187
+ * This method creates a new table within the storage account, optionally allowing for access control configurations.
188
+ * It throws an error if a table with the same name already exists, ensuring uniqueness within the account.
189
+ *
169
190
  * Example usage:
170
191
  * ```typescript
171
- * const table = storageAccount.addTable('myTable');
192
+ * const table = storageAccount.addTable('myTable', [{ id: 'policy1', type: 'read' }]);
172
193
  * ```
173
194
  */
174
195
  addTable(name: string, acl?: StorageTableAcl[]): Table;
175
196
  /**
176
197
  * Adds a new queue to the storage account.
177
- * @param name The name of the queue.
178
- * @param metadata Optional metadata for the queue.
179
- * @returns The created AzureStorageQueue.
198
+ * @param name The name of the queue. Must be unique within the storage account.
199
+ * @param metadata Optional metadata for the queue as key-value pairs.
200
+ * @returns The created Queue instance.
201
+ *
202
+ * This method creates a new queue in the storage account, with optional metadata. It is useful for message queuing
203
+ * in applications, enabling asynchronous task processing and inter-service communication.
180
204
  *
181
205
  * Example usage:
182
206
  * ```typescript
183
- * const queue = storageAccount.addQueue('myQueue');
207
+ * const queue = storageAccount.addQueue('myQueue', { priority: 'high' });
184
208
  * ```
185
209
  */
186
210
  addQueue(name: string, metadata?: {
187
211
  [key: string]: string;
188
212
  }): Queue;
189
213
  /**
190
- * Adds network rules to the storage account.
191
- * @param props Configuration properties for the network rules.
192
- * @returns The configured StorageAccountNetworkRulesA.
214
+ * Adds network rules to the storage account to control access based on IP and virtual network settings.
215
+ * @param props Configuration properties for the network rules, including allowed IPs and virtual network subnet IDs.
216
+ * @returns The configured network rules.
217
+ *
218
+ * This method configures network rules for the storage account, specifying which IPs and virtual networks can access
219
+ * the storage resources. It allows detailed control over data security and access management.
193
220
  *
194
221
  * Example usage:
195
222
  * ```typescript
196
223
  * storageAccount.addNetworkRules({
197
- * bypass: ['AzureServices'],
198
- * defaultAction: 'Deny',
199
- * ipRules: ['1.2.3.4/32'],
200
- * virtualNetworkSubnetIds: ['subnetId'],
201
- * });
224
+ * bypass: ['AzureServices'],
225
+ * defaultAction: 'Deny',
226
+ * ipRules: ['1.2.3.4/32'],
227
+ * virtualNetworkSubnetIds: ['subnetId'],
228
+ * });
202
229
  * ```
203
230
  */
204
231
  addNetworkRules(props: NetworkRulesProps): StorageAccountNetworkRulesA;