@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
@@ -6,6 +6,37 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const key_vault_secret_1 = require("@cdktf/provider-azurerm/lib/key-vault-secret");
7
7
  const constructs_1 = require("constructs");
8
8
  class Secret extends constructs_1.Construct {
9
+ /**
10
+ * Constructs a new Azure Key Vault Secret within a specified Key Vault.
11
+ *
12
+ * This class facilitates the creation and management of a secret, allowing sensitive information to be stored securely
13
+ * and accessed as needed while maintaining confidentiality and control through defined access policies.
14
+ *
15
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
16
+ * @param id - The unique identifier for this instance of the secret.
17
+ * @param props - The properties for creating the secret as defined in SecretProps. These include:
18
+ * - `keyVaultId`: The ID of the Key Vault in which to store the secret.
19
+ * - `name`: The name of the secret.
20
+ * - `value`: The confidential data to be stored as the secret.
21
+ * - `expirationDate`: Optional. The expiration date of the secret.
22
+ * - `contentType`: Optional. A label hinting at the content type of the secret's value.
23
+ * - `accessPolicies`: Access policies that dictate permissions for the secret.
24
+ *
25
+ * Example usage:
26
+ * ```typescript
27
+ * new Secret(this, 'mySecret', {
28
+ * keyVaultId: myKeyVault,
29
+ * name: 'dbPassword',
30
+ * value: 'p@ssw0rd!',
31
+ * expirationDate: '2030-01-01T00:00:00Z',
32
+ * contentType: 'password',
33
+ * accessPolicies: [{
34
+ * objectId: '12345-user-object-id',
35
+ * permissions: ['get', 'list']
36
+ * }]
37
+ * });
38
+ * ```
39
+ */
9
40
  constructor(scope, id, props) {
10
41
  super(scope, id);
11
42
  // Logic to add the secret to the provided keyVault instance
@@ -29,5 +60,5 @@ class Secret extends constructs_1.Construct {
29
60
  }
30
61
  exports.Secret = Secret;
31
62
  _a = JSII_RTTI_SYMBOL_1;
32
- Secret[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_keyvault.Secret", version: "0.0.3-pre.6" };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWtleXZhdWx0L2xpYi9zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtRkFBOEU7QUFDOUUsMkNBQXVDO0FBMEN2QyxNQUFhLE1BQU8sU0FBUSxzQkFBUztJQUduQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsNERBQTREO1FBQzVELGVBQWU7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEQsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRTFCLGlDQUFpQztRQUNqQyxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQ3pDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsd0NBQXdDO1FBQ3hDLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7O0FBMUJILHdCQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVZhdWx0U2VjcmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9rZXktdmF1bHQtc2VjcmV0XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQWNjZXNzUG9saWN5IH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQgeyBWYXVsdCB9IGZyb20gXCIuL3ZhdWx0XCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYW4gQXp1cmUgS2V5IFZhdWx0IFNlY3JldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWNyZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgS2V5IFZhdWx0IGluc3RhbmNlIHdoZXJlIHRoZSBzZWNyZXQgd2lsbCBiZSBzdG9yZWQuXG4gICAqL1xuICByZWFkb25seSBrZXlWYXVsdElkOiBWYXVsdDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlY3JldC4gVGhpcyBuYW1lIHNob3VsZCBiZSB1bmlxdWUgd2l0aGluIHRoZSBLZXkgVmF1bHQgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgc2VjcmV0LiBUaGlzIGNvdWxkIGJlIGFueSBzdHJpbmcsIGluY2x1ZGluZyB0b2tlbnMgb3IgcGFzc3dvcmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgZXhwaXJhdGlvbiBkYXRlIGZvciB0aGUgc2VjcmV0LiBUaGlzIHNob3VsZCBiZSBpbiBhbiBhcHByb3ByaWF0ZSBkYXRlIHN0cmluZyBmb3JtYXQuXG4gICAqIElmIHByb3ZpZGVkLCB0aGUgc2VjcmV0IHdpbGwgYmVjb21lIGludmFsaWQgYWZ0ZXIgdGhpcyBkYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJhdGlvbkRhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNvbnRlbnQgdHlwZSBmb3IgdGhlIHNlY3JldC4gVGhpcyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvblxuICAgKiB0aGUgc2VjcmV0IGNvbnRhaW5zLCBvciBob3cgaXQgY2FuIGJlIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50VHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGFjY2VzcyBwb2xpY2llcyB0aGF0IGRpY3RhdGUgd2hpY2ggaWRlbnRpdGllcyBoYXZlIHdoYXQga2luZCBvZiBhY2Nlc3MgdG8gdGhlIHNlY3JldC5cbiAgICogRWFjaCBwb2xpY3kgc2hvdWxkIGRldGFpbCB0aGUgcGVybWlzc2lvbnMgYW5kIHRoZSBpZGVudGl0eSBpdCBhcHBsaWVzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzUG9saWNpZXM6IEFjY2Vzc1BvbGljeVtdO1xufVxuXG5leHBvcnQgY2xhc3MgU2VjcmV0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHNlY3JldElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlY3JldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIExvZ2ljIHRvIGFkZCB0aGUgc2VjcmV0IHRvIHRoZSBwcm92aWRlZCBrZXlWYXVsdCBpbnN0YW5jZVxuICAgIC8vIEZvciBleGFtcGxlOlxuICAgIGNvbnN0IHNlY3JldCA9IG5ldyBLZXlWYXVsdFNlY3JldCh0aGlzLCBwcm9wcy5uYW1lLCB7XG4gICAgICBrZXlWYXVsdElkOiBwcm9wcy5rZXlWYXVsdElkLmlkLFxuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZSxcbiAgICAgIGNvbnRlbnRUeXBlOiBwcm9wcy5jb250ZW50VHlwZSxcbiAgICAgIGV4cGlyYXRpb25EYXRlOiBwcm9wcy5leHBpcmF0aW9uRGF0ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2VjcmV0SWQgPSBzZWNyZXQuaWQ7XG5cbiAgICAvLyBBY2N1bXVsYXRlIGFsbCB0aGUgZnFkbiB2YWx1ZXNcbiAgICBjb25zdCBkZXBlbmRlbmNpZXM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBwb2xpY3kgb2YgcHJvcHMuYWNjZXNzUG9saWNpZXMpIHtcbiAgICAgIGRlcGVuZGVuY2llcy5wdXNoKHBvbGljeS5mcWRuKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBvbiBhbGwgYWNjZXNzIHBvbGljaWVzXG4gICAgc2VjcmV0LmFkZE92ZXJyaWRlKFwiZGVwZW5kc19vblwiLCBkZXBlbmRlbmNpZXMpO1xuICB9XG59XG4iXX0=
63
+ Secret[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_keyvault.Secret", version: "0.0.3-pre.7" };
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWtleXZhdWx0L2xpYi9zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtRkFBOEU7QUFDOUUsMkNBQXVDO0FBMEN2QyxNQUFhLE1BQU8sU0FBUSxzQkFBUztJQUduQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BOEJHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFrQjtRQUMxRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLDREQUE0RDtRQUM1RCxlQUFlO1FBQ2YsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQ0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xELFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1NBQ3JDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUUxQixpQ0FBaUM7UUFDakMsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUN6QyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztRQUVELHdDQUF3QztRQUN4QyxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDOztBQXpESCx3QkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlWYXVsdFNlY3JldCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LXNlY3JldFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFjY2Vzc1BvbGljeSB9IGZyb20gXCIuL3BvbGljeVwiO1xuaW1wb3J0IHsgVmF1bHQgfSBmcm9tIFwiLi92YXVsdFwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGFuIEF6dXJlIEtleSBWYXVsdCBTZWNyZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0UHJvcHMge1xuICAvKipcbiAgICogVGhlIEtleSBWYXVsdCBpbnN0YW5jZSB3aGVyZSB0aGUgc2VjcmV0IHdpbGwgYmUgc3RvcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmF1bHRJZDogVmF1bHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZWNyZXQuIFRoaXMgbmFtZSBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgS2V5IFZhdWx0IGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHNlY3JldC4gVGhpcyBjb3VsZCBiZSBhbnkgc3RyaW5nLCBpbmNsdWRpbmcgdG9rZW5zIG9yIHBhc3N3b3Jkcy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV4cGlyYXRpb24gZGF0ZSBmb3IgdGhlIHNlY3JldC4gVGhpcyBzaG91bGQgYmUgaW4gYW4gYXBwcm9wcmlhdGUgZGF0ZSBzdHJpbmcgZm9ybWF0LlxuICAgKiBJZiBwcm92aWRlZCwgdGhlIHNlY3JldCB3aWxsIGJlY29tZSBpbnZhbGlkIGFmdGVyIHRoaXMgZGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGlyYXRpb25EYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb250ZW50IHR5cGUgZm9yIHRoZSBzZWNyZXQuIFRoaXMgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb25cbiAgICogdGhlIHNlY3JldCBjb250YWlucywgb3IgaG93IGl0IGNhbiBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhY2Nlc3MgcG9saWNpZXMgdGhhdCBkaWN0YXRlIHdoaWNoIGlkZW50aXRpZXMgaGF2ZSB3aGF0IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBzZWNyZXQuXG4gICAqIEVhY2ggcG9saWN5IHNob3VsZCBkZXRhaWwgdGhlIHBlcm1pc3Npb25zIGFuZCB0aGUgaWRlbnRpdHkgaXQgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc1BvbGljaWVzOiBBY2Nlc3NQb2xpY3lbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFNlY3JldCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyBzZWNyZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IEF6dXJlIEtleSBWYXVsdCBTZWNyZXQgd2l0aGluIGEgc3BlY2lmaWVkIEtleSBWYXVsdC5cbiAgICpcbiAgICogVGhpcyBjbGFzcyBmYWNpbGl0YXRlcyB0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgYSBzZWNyZXQsIGFsbG93aW5nIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiB0byBiZSBzdG9yZWQgc2VjdXJlbHlcbiAgICogYW5kIGFjY2Vzc2VkIGFzIG5lZWRlZCB3aGlsZSBtYWludGFpbmluZyBjb25maWRlbnRpYWxpdHkgYW5kIGNvbnRyb2wgdGhyb3VnaCBkZWZpbmVkIGFjY2VzcyBwb2xpY2llcy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNlY3JldC5cbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBzZWNyZXQgYXMgZGVmaW5lZCBpbiBTZWNyZXRQcm9wcy4gVGhlc2UgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBga2V5VmF1bHRJZGA6IFRoZSBJRCBvZiB0aGUgS2V5IFZhdWx0IGluIHdoaWNoIHRvIHN0b3JlIHRoZSBzZWNyZXQuXG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgc2VjcmV0LlxuICAgKiAgICAgICAgICAgICAgICAtIGB2YWx1ZWA6IFRoZSBjb25maWRlbnRpYWwgZGF0YSB0byBiZSBzdG9yZWQgYXMgdGhlIHNlY3JldC5cbiAgICogICAgICAgICAgICAgICAgLSBgZXhwaXJhdGlvbkRhdGVgOiBPcHRpb25hbC4gVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGUgc2VjcmV0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBjb250ZW50VHlwZWA6IE9wdGlvbmFsLiBBIGxhYmVsIGhpbnRpbmcgYXQgdGhlIGNvbnRlbnQgdHlwZSBvZiB0aGUgc2VjcmV0J3MgdmFsdWUuXG4gICAqICAgICAgICAgICAgICAgIC0gYGFjY2Vzc1BvbGljaWVzYDogQWNjZXNzIHBvbGljaWVzIHRoYXQgZGljdGF0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHNlY3JldC5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBuZXcgU2VjcmV0KHRoaXMsICdteVNlY3JldCcsIHtcbiAgICogICBrZXlWYXVsdElkOiBteUtleVZhdWx0LFxuICAgKiAgIG5hbWU6ICdkYlBhc3N3b3JkJyxcbiAgICogICB2YWx1ZTogJ3BAc3N3MHJkIScsXG4gICAqICAgZXhwaXJhdGlvbkRhdGU6ICcyMDMwLTAxLTAxVDAwOjAwOjAwWicsXG4gICAqICAgY29udGVudFR5cGU6ICdwYXNzd29yZCcsXG4gICAqICAgYWNjZXNzUG9saWNpZXM6IFt7XG4gICAqICAgICBvYmplY3RJZDogJzEyMzQ1LXVzZXItb2JqZWN0LWlkJyxcbiAgICogICAgIHBlcm1pc3Npb25zOiBbJ2dldCcsICdsaXN0J11cbiAgICogICB9XVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjcmV0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gTG9naWMgdG8gYWRkIHRoZSBzZWNyZXQgdG8gdGhlIHByb3ZpZGVkIGtleVZhdWx0IGluc3RhbmNlXG4gICAgLy8gRm9yIGV4YW1wbGU6XG4gICAgY29uc3Qgc2VjcmV0ID0gbmV3IEtleVZhdWx0U2VjcmV0KHRoaXMsIHByb3BzLm5hbWUsIHtcbiAgICAgIGtleVZhdWx0SWQ6IHByb3BzLmtleVZhdWx0SWQuaWQsXG4gICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgdmFsdWU6IHByb3BzLnZhbHVlLFxuICAgICAgY29udGVudFR5cGU6IHByb3BzLmNvbnRlbnRUeXBlLFxuICAgICAgZXhwaXJhdGlvbkRhdGU6IHByb3BzLmV4cGlyYXRpb25EYXRlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWNyZXRJZCA9IHNlY3JldC5pZDtcblxuICAgIC8vIEFjY3VtdWxhdGUgYWxsIHRoZSBmcWRuIHZhbHVlc1xuICAgIGNvbnN0IGRlcGVuZGVuY2llczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHBvbGljeSBvZiBwcm9wcy5hY2Nlc3NQb2xpY2llcykge1xuICAgICAgZGVwZW5kZW5jaWVzLnB1c2gocG9saWN5LmZxZG4pO1xuICAgIH1cblxuICAgIC8vIEFkZCBkZXBlbmRlbmN5IG9uIGFsbCBhY2Nlc3MgcG9saWNpZXNcbiAgICBzZWNyZXQuYWRkT3ZlcnJpZGUoXCJkZXBlbmRzX29uXCIsIGRlcGVuZGVuY2llcyk7XG4gIH1cbn1cbiJdfQ==
@@ -78,17 +78,205 @@ export declare class Vault extends AzureResource {
78
78
  resourceGroup: ResourceGroup;
79
79
  id: string;
80
80
  private accessPolicies;
81
+ /**
82
+ * Constructs a new Azure Key Vault resource.
83
+ *
84
+ * This class creates and configures an Azure Key Vault, a secure store for managing secrets, keys, certificates, and other sensitive data.
85
+ * It supports advanced configurations such as access policies, network rules, and data retention policies.
86
+ *
87
+ * @param scope - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
88
+ * @param id - The unique identifier for this instance of the Key Vault.
89
+ * @param props - The properties for creating the Key Vault as defined in VaultProps. These include settings for location, SKU, tenant ID, etc.
90
+ *
91
+ * Example usage:
92
+ * ```typescript
93
+ * new Vault(this, 'MyKeyVault', {
94
+ * name: 'mySecureVault',
95
+ * location: 'East US',
96
+ * resourceGroup: myResourceGroup,
97
+ * sku: 'premium',
98
+ * tenantId: 'my-tenant-id',
99
+ * softDeleteRetentionDays: 90,
100
+ * purgeProtection: true,
101
+ * tags: {
102
+ * project: 'My Application'
103
+ * }
104
+ * });
105
+ * ```
106
+ */
81
107
  constructor(scope: Construct, id: string, props: VaultProps);
108
+ /**
109
+ * Grants read-only access to secrets stored in the Key Vault to a specified Azure AD group.
110
+ *
111
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to secrets.
112
+ */
82
113
  grantSecretReaderAccess(azureAdGroupId: string): void;
114
+ /**
115
+ * Grants administrative access to secrets stored in the Key Vault to a specified Azure AD group.
116
+ *
117
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to secrets.
118
+ */
83
119
  grantSecretAdminAccess(azureAdGroupId: string): void;
120
+ /**
121
+ * Grants administrative access to certificates stored in the Key Vault to a specified Azure AD group.
122
+ *
123
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to certificates.
124
+ */
84
125
  grantCertAdminAccess(azureAdGroupId: string): void;
126
+ /**
127
+ * Grants read-only access to certificates stored in the Key Vault to a specified Azure AD group.
128
+ *
129
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to certificates.
130
+ */
85
131
  grantCertReaderAccess(azureAdGroupId: string): void;
132
+ /**
133
+ * Grants administrative access to keys stored in the Key Vault to a specified Azure AD group.
134
+ *
135
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to keys.
136
+ */
86
137
  grantKeyAdminAccess(azureAdGroupId: string): void;
138
+ /**
139
+ * Grants read-only access to keys stored in the Key Vault to a specified Azure AD group.
140
+ *
141
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to keys.
142
+ */
87
143
  grantKeyReaderAccess(azureAdGroupId: string): void;
144
+ /**
145
+ * Grants custom access based on specified options to an Azure AD group in the Key Vault.
146
+ *
147
+ * @param azureAdGroupId - The Azure Active Directory group ID that will receive the custom access.
148
+ * @param options - Custom access options specifying various permissions for secrets, keys, certificates, and storage.
149
+ */
88
150
  grantCustomAccess(azureAdGroupId: string, options: GrantCustomAccessOptions): void;
151
+ /**
152
+ * Creates a new secret within the Azure Key Vault.
153
+ *
154
+ * This method facilitates the storage of sensitive information in the form of a secret within the Key Vault.
155
+ * Secrets are protected items such as passwords, database connection strings, or any other piece of information
156
+ * that needs to be securely stored and accessed. This method allows setting additional properties such as
157
+ * expiration date and content type for better management and compliance.
158
+ *
159
+ * @param keyVaultSecretName - The unique name for the secret within the Key Vault.
160
+ * @param secretValue - The sensitive information or data that needs to be securely stored as a secret.
161
+ * @param expirationDate - Optional. The expiration date of the secret in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
162
+ * If provided, the secret will no longer be valid after this date.
163
+ * @param contentType - Optional. A description of the type of information the secret contains (e.g., 'password', 'connectionString').
164
+ * This can be used by applications to handle the secret appropriately.
165
+ *
166
+ * Example usage:
167
+ * ```typescript
168
+ * vault.addSecret(
169
+ * 'myDatabasePassword',
170
+ * 'p@ssw0rd123!',
171
+ * '2030-01-01',
172
+ * 'databasePassword'
173
+ * );
174
+ * ```
175
+ * This method does not return a value. It creates a secret within the Key Vault with the specified properties.
176
+ */
89
177
  addSecret(keyVaultSecretName: string, secretValue: string, expirationDate?: string, contentType?: string): void;
178
+ /**
179
+ * Creates an RSA cryptographic key within the Azure Key Vault.
180
+ *
181
+ * This method facilitates the creation of an RSA key, which is useful for a variety of cryptographic operations such as
182
+ * encryption, decryption, digital signature verification, and more. The RSA key created by this method is configurable
183
+ * with an optional expiration date and a default key size of 2048 bits. The key operations allowed include decryption,
184
+ * encryption, signing, verifying signatures, and key wrapping/unwrapping.
185
+ *
186
+ * @param keyVaultKeyName - The unique name for the RSA key within the Key Vault.
187
+ * @param expirationDate - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
188
+ * If provided, the key will no longer be valid after this date.
189
+ * @returns A KeyVaultKey object representing the newly created RSA key within the vault.
190
+ *
191
+ * Example usage:
192
+ * ```typescript
193
+ * const rsaKey = vault.addRSAKey(
194
+ * 'myRSAKey',
195
+ * '2030-01-01'
196
+ * );
197
+ * ```
198
+ * This method returns the created KeyVaultKey object, allowing further operations or references to the key.
199
+ */
90
200
  addRSAKey(keyVaultKeyName: string, expirationDate?: string): KeyVaultKey;
201
+ /**
202
+ * Creates a cryptographic key within the Azure Key Vault.
203
+ *
204
+ * This method allows the creation of a cryptographic key of specified type and size within the Key Vault. The key can be
205
+ * configured with specific operations it can perform, such as encryption, decryption, signing, etc. An optional expiration
206
+ * date can also be set to control the key's lifecycle. This method is flexible, supporting various key types and sizes,
207
+ * making it suitable for a wide range of cryptographic needs.
208
+ *
209
+ * @param keyVaultKeyName - The unique name for the cryptographic key within the Key Vault.
210
+ * @param keyType - The type of cryptographic key to create (e.g., 'RSA', 'EC', 'oct-HSM').
211
+ * @param keySize - The size of the cryptographic key in bits (e.g., 2048, 3072, 4096 for RSA).
212
+ * @param keyOpts - A list of cryptographic operations that the key is allowed to perform. Possible values might include
213
+ * 'encrypt', 'decrypt', 'sign', 'verify', 'wrapKey', 'unwrapKey'.
214
+ * @param expirationDate - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
215
+ * If provided, the key will no longer be valid after this date, aligning with best practices for key management.
216
+ * @returns A KeyVaultKey object representing the newly created cryptographic key within the vault.
217
+ *
218
+ * Example usage:
219
+ * ```typescript
220
+ * const myKey = vault.addKey(
221
+ * 'myKey',
222
+ * 'RSA',
223
+ * 2048,
224
+ * ['encrypt', 'decrypt', 'sign', 'verify'],
225
+ * '2030-12-31'
226
+ * );
227
+ * ```
228
+ * This method returns the created KeyVaultKey object, enabling immediate use within the application for cryptographic operations.
229
+ */
91
230
  addKey(keyVaultKeyName: string, keyType: string, keySize: number, keyOpts: string[], expirationDate?: string): KeyVaultKey;
231
+ /**
232
+ * Creates a self-signed certificate within the Azure Key Vault.
233
+ *
234
+ * This method facilitates the creation of a self-signed certificate, which is a digital certificate that is signed by
235
+ * its own creator rather than a trusted authority. Self-signed certificates can be useful for testing, internal
236
+ * communications, or any scenario where public trust is not required. The method allows specifying subject details,
237
+ * DNS names for the certificate, and managing its lifecycle with action types and expiry.
238
+ *
239
+ * @param certName - The unique name for the certificate within the Key Vault.
240
+ * @param subject - The subject name of the certificate, typically formatted as an X.500 Distinguished Name (e.g., "CN=example.com").
241
+ * @param dnsNames - An array of DNS names that should be associated with this certificate. This is useful for certificates
242
+ * that need to be valid for multiple hostnames.
243
+ * @param actionType - Optional. Specifies the action to be performed with the certificate, such as 'create' or 'renew'.
244
+ * @param daysBeforeExpiry - Optional. Number of days before expiry when an action should be taken, useful for auto-renewal scenarios.
245
+ * @returns A KeyVaultCertificate object representing the newly created self-signed certificate.
246
+ *
247
+ * Example usage:
248
+ * ```typescript
249
+ * const myCertificate = vault.addSelfSignedCert(
250
+ * 'myCert',
251
+ * 'CN=mydomain.com',
252
+ * ['mydomain.com', 'www.mydomain.com'],
253
+ * 'create',
254
+ * 30
255
+ * );
256
+ * ```
257
+ * This method returns the KeyVaultCertificate object, enabling it to be used immediately within the application or stored for future use.
258
+ */
92
259
  addSelfSignedCert(certName: string, subject: string, dnsNames: string[], actionType?: string, daysBeforeExpiry?: number): KeyVaultCertificate;
260
+ /**
261
+ * Adds a certificate issuer to the Azure Key Vault.
262
+ *
263
+ * This method configures a certificate issuer within the Key Vault, allowing the Key Vault to issue certificates
264
+ * through external providers. Configuring an issuer is essential for enabling automated certificate management
265
+ * processes, such as issuance and renewal, directly through the Key Vault with a specified Certificate Authority (CA).
266
+ *
267
+ * @param name - The unique name for the certificate issuer within the Key Vault.
268
+ * @param provider - The name of the external provider that will issue the certificates, such as 'DigiCert' or 'GlobalSign'.
269
+ *
270
+ * Example usage:
271
+ * ```typescript
272
+ * vault.addCertIssuer(
273
+ * 'myCertIssuer',
274
+ * 'DigiCert'
275
+ * );
276
+ * ```
277
+ * This method configures a certificate issuer but does not return any value. The issuer details, including provider name
278
+ * and any necessary credentials (managed externally or through additional method parameters), are set up in the Key Vault
279
+ * for future certificate operations.
280
+ */
93
281
  addCertIssuer(name: string, provider: string): void;
94
282
  }