microsoft-cdktfconstructs 0.0.3.dev11__py3-none-any.whl
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.
- microsoft_cdktfconstructs/__init__.py +217 -0
- microsoft_cdktfconstructs/_jsii/__init__.py +31 -0
- microsoft_cdktfconstructs/_jsii/terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz +0 -0
- microsoft_cdktfconstructs/azure_applicationgateway/__init__.py +823 -0
- microsoft_cdktfconstructs/azure_applicationinsights/__init__.py +397 -0
- microsoft_cdktfconstructs/azure_containerregistry/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_eventhub/__init__.py +2213 -0
- microsoft_cdktfconstructs/azure_functionapp/__init__.py +908 -0
- microsoft_cdktfconstructs/azure_keyvault/__init__.py +1982 -0
- microsoft_cdktfconstructs/azure_kubernetes/__init__.py +400 -0
- microsoft_cdktfconstructs/azure_kusto/__init__.py +2485 -0
- microsoft_cdktfconstructs/azure_loganalytics/__init__.py +652 -0
- microsoft_cdktfconstructs/azure_metricalert/__init__.py +1260 -0
- microsoft_cdktfconstructs/azure_networksecuritygroup/__init__.py +1742 -0
- microsoft_cdktfconstructs/azure_queryrulealert/__init__.py +1189 -0
- microsoft_cdktfconstructs/azure_resourcegroup/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_storageaccount/__init__.py +1910 -0
- microsoft_cdktfconstructs/azure_virtualmachine/__init__.py +1460 -0
- microsoft_cdktfconstructs/azure_virtualmachinescaleset/__init__.py +1185 -0
- microsoft_cdktfconstructs/azure_virtualnetwork/__init__.py +707 -0
- microsoft_cdktfconstructs/core_azure/__init__.py +931 -0
- microsoft_cdktfconstructs/py.typed +1 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/LICENSE +19 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/METADATA +188 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/RECORD +27 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/WHEEL +5 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1982 @@
|
|
|
1
|
+
'''
|
|
2
|
+
# Azure Key Vault Construct
|
|
3
|
+
|
|
4
|
+
This class represents a Key Vault in Azure. It provides a convenient way to manage Azure Key Vault resources.
|
|
5
|
+
|
|
6
|
+
## What is Azure Key Vault?
|
|
7
|
+
|
|
8
|
+
Azure Key Vault is a service for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, or cryptographic keys.
|
|
9
|
+
|
|
10
|
+
You can learn more about Azure Key Vault in the [official Azure documentation](https://docs.microsoft.com/en-us/azure/key-vault/general/overview).
|
|
11
|
+
|
|
12
|
+
## Key Vault Best Practices
|
|
13
|
+
|
|
14
|
+
* Consolidate your secrets, keys, and certificates into as few key vaults as possible.
|
|
15
|
+
* Use Azure RBAC roles for Key Vault for fine-grained access control.
|
|
16
|
+
* Enable soft delete and purge protection to prevent accidental deletion of secrets.
|
|
17
|
+
* Use Managed identities with Key Vault where possible.
|
|
18
|
+
|
|
19
|
+
## Key Vault Class Properties
|
|
20
|
+
|
|
21
|
+
This class has several properties that control the Key Vault's behaviour:
|
|
22
|
+
|
|
23
|
+
* `name`: The name of the Key Vault.
|
|
24
|
+
* `location`: The Azure Region where the Key Vault will be deployed.
|
|
25
|
+
* `resource_group_name`: The name of the Azure Resource Group.
|
|
26
|
+
* `tags`: The tags to assign to the Key Vault.
|
|
27
|
+
* `sku`: The Name of the SKU used for this Key Vault. Possible values are `standard` and `premium`.
|
|
28
|
+
* `tenant_id`: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.
|
|
29
|
+
|
|
30
|
+
## Deploying the Key Vault
|
|
31
|
+
|
|
32
|
+
You can deploy a Key Vault using this class like so:
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
const azureKeyVault = new AzureKeyVault(this, 'myKeyVault', {
|
|
36
|
+
name: 'myKeyVault',
|
|
37
|
+
location: 'West US',
|
|
38
|
+
resource_group_name: 'myResourceGroup',
|
|
39
|
+
sku: 'standard',
|
|
40
|
+
tenant_id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
|
|
41
|
+
tags: {
|
|
42
|
+
'env': 'production',
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This code will create a new Key Vault named myKeyVault in the West US Azure region with a production environment tag. The vault belongs to the resource group myResourceGroup, uses the standard pricing model, and will authenticate requests using the provided tenant ID.
|
|
48
|
+
'''
|
|
49
|
+
from pkgutil import extend_path
|
|
50
|
+
__path__ = extend_path(__path__, __name__)
|
|
51
|
+
|
|
52
|
+
import abc
|
|
53
|
+
import builtins
|
|
54
|
+
import datetime
|
|
55
|
+
import enum
|
|
56
|
+
import typing
|
|
57
|
+
|
|
58
|
+
import jsii
|
|
59
|
+
import publication
|
|
60
|
+
import typing_extensions
|
|
61
|
+
|
|
62
|
+
from typeguard import check_type
|
|
63
|
+
|
|
64
|
+
from .._jsii import *
|
|
65
|
+
|
|
66
|
+
import cdktf_cdktf_provider_azurerm.key_vault as _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf
|
|
67
|
+
import cdktf_cdktf_provider_azurerm.key_vault_certificate as _cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf
|
|
68
|
+
import cdktf_cdktf_provider_azurerm.key_vault_key as _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf
|
|
69
|
+
import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
|
|
70
|
+
import constructs as _constructs_77d1e7e8
|
|
71
|
+
from ..core_azure import AzureResource as _AzureResource_74eec1c4
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class AccessPolicy(
|
|
75
|
+
_constructs_77d1e7e8.Construct,
|
|
76
|
+
metaclass=jsii.JSIIMeta,
|
|
77
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.AccessPolicy",
|
|
78
|
+
):
|
|
79
|
+
def __init__(
|
|
80
|
+
self,
|
|
81
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
82
|
+
id: builtins.str,
|
|
83
|
+
*,
|
|
84
|
+
key_vault_id: "Vault",
|
|
85
|
+
object_id: builtins.str,
|
|
86
|
+
tenant_id: builtins.str,
|
|
87
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
88
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
89
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
90
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
91
|
+
) -> None:
|
|
92
|
+
'''Constructs a new Access Policy for Azure Key Vault.
|
|
93
|
+
|
|
94
|
+
This class is responsible for setting up access policies that define what operations an Azure AD identity
|
|
95
|
+
can perform on the keys, secrets, certificates, and storage accounts within a specified Azure Key Vault.
|
|
96
|
+
|
|
97
|
+
:param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
|
|
98
|
+
:param id: - The unique identifier for this instance of the access policy.
|
|
99
|
+
:param key_vault_id: The Azure Key Vault instance or its identifier.
|
|
100
|
+
:param object_id: The Azure Active Directory object ID for which the policy will be applied. This can be a user, group, or service principal.
|
|
101
|
+
:param tenant_id: The Azure Active Directory tenant ID where the Key Vault is hosted. This is typically the directory ID of your Azure AD.
|
|
102
|
+
:param certificate_permissions: The permissions to certificates stored in the Key Vault. Possible values might include: 'get', 'list', 'create', 'update', etc. If not provided, no certificate permissions are set.
|
|
103
|
+
:param key_permissions: The permissions to keys stored in the Key Vault. Possible values might include: 'get', 'list', 'create', 'sign', etc. If not provided, no key permissions are set.
|
|
104
|
+
:param secret_permissions: The permissions to secrets stored in the Key Vault. Possible values might include: 'get', 'list', 'set', 'delete', etc. If not provided, no secret permissions are set.
|
|
105
|
+
:param storage_permissions: The permissions to storage accounts linked to the Key Vault. Possible values might include: 'get', 'list', 'delete', 'set', etc. If not provided, no storage permissions are set.
|
|
106
|
+
'''
|
|
107
|
+
if __debug__:
|
|
108
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fd7fc0b79a19acf1e5e94e93e6997a8d5f2b15e90adea376529cae5a756db705)
|
|
109
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
110
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
111
|
+
props = AccessPolicyProps(
|
|
112
|
+
key_vault_id=key_vault_id,
|
|
113
|
+
object_id=object_id,
|
|
114
|
+
tenant_id=tenant_id,
|
|
115
|
+
certificate_permissions=certificate_permissions,
|
|
116
|
+
key_permissions=key_permissions,
|
|
117
|
+
secret_permissions=secret_permissions,
|
|
118
|
+
storage_permissions=storage_permissions,
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
122
|
+
|
|
123
|
+
@builtins.property
|
|
124
|
+
@jsii.member(jsii_name="fqdn")
|
|
125
|
+
def fqdn(self) -> builtins.str:
|
|
126
|
+
return typing.cast(builtins.str, jsii.get(self, "fqdn"))
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
@jsii.data_type(
|
|
130
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.AccessPolicyProps",
|
|
131
|
+
jsii_struct_bases=[],
|
|
132
|
+
name_mapping={
|
|
133
|
+
"key_vault_id": "keyVaultId",
|
|
134
|
+
"object_id": "objectId",
|
|
135
|
+
"tenant_id": "tenantId",
|
|
136
|
+
"certificate_permissions": "certificatePermissions",
|
|
137
|
+
"key_permissions": "keyPermissions",
|
|
138
|
+
"secret_permissions": "secretPermissions",
|
|
139
|
+
"storage_permissions": "storagePermissions",
|
|
140
|
+
},
|
|
141
|
+
)
|
|
142
|
+
class AccessPolicyProps:
|
|
143
|
+
def __init__(
|
|
144
|
+
self,
|
|
145
|
+
*,
|
|
146
|
+
key_vault_id: "Vault",
|
|
147
|
+
object_id: builtins.str,
|
|
148
|
+
tenant_id: builtins.str,
|
|
149
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
150
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
151
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
152
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
153
|
+
) -> None:
|
|
154
|
+
'''
|
|
155
|
+
:param key_vault_id: The Azure Key Vault instance or its identifier.
|
|
156
|
+
:param object_id: The Azure Active Directory object ID for which the policy will be applied. This can be a user, group, or service principal.
|
|
157
|
+
:param tenant_id: The Azure Active Directory tenant ID where the Key Vault is hosted. This is typically the directory ID of your Azure AD.
|
|
158
|
+
:param certificate_permissions: The permissions to certificates stored in the Key Vault. Possible values might include: 'get', 'list', 'create', 'update', etc. If not provided, no certificate permissions are set.
|
|
159
|
+
:param key_permissions: The permissions to keys stored in the Key Vault. Possible values might include: 'get', 'list', 'create', 'sign', etc. If not provided, no key permissions are set.
|
|
160
|
+
:param secret_permissions: The permissions to secrets stored in the Key Vault. Possible values might include: 'get', 'list', 'set', 'delete', etc. If not provided, no secret permissions are set.
|
|
161
|
+
:param storage_permissions: The permissions to storage accounts linked to the Key Vault. Possible values might include: 'get', 'list', 'delete', 'set', etc. If not provided, no storage permissions are set.
|
|
162
|
+
'''
|
|
163
|
+
if __debug__:
|
|
164
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5cfe410d8def41b97bf697999052e8eae3ba4691c72f03f9db1d7275baf6ed07)
|
|
165
|
+
check_type(argname="argument key_vault_id", value=key_vault_id, expected_type=type_hints["key_vault_id"])
|
|
166
|
+
check_type(argname="argument object_id", value=object_id, expected_type=type_hints["object_id"])
|
|
167
|
+
check_type(argname="argument tenant_id", value=tenant_id, expected_type=type_hints["tenant_id"])
|
|
168
|
+
check_type(argname="argument certificate_permissions", value=certificate_permissions, expected_type=type_hints["certificate_permissions"])
|
|
169
|
+
check_type(argname="argument key_permissions", value=key_permissions, expected_type=type_hints["key_permissions"])
|
|
170
|
+
check_type(argname="argument secret_permissions", value=secret_permissions, expected_type=type_hints["secret_permissions"])
|
|
171
|
+
check_type(argname="argument storage_permissions", value=storage_permissions, expected_type=type_hints["storage_permissions"])
|
|
172
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
173
|
+
"key_vault_id": key_vault_id,
|
|
174
|
+
"object_id": object_id,
|
|
175
|
+
"tenant_id": tenant_id,
|
|
176
|
+
}
|
|
177
|
+
if certificate_permissions is not None:
|
|
178
|
+
self._values["certificate_permissions"] = certificate_permissions
|
|
179
|
+
if key_permissions is not None:
|
|
180
|
+
self._values["key_permissions"] = key_permissions
|
|
181
|
+
if secret_permissions is not None:
|
|
182
|
+
self._values["secret_permissions"] = secret_permissions
|
|
183
|
+
if storage_permissions is not None:
|
|
184
|
+
self._values["storage_permissions"] = storage_permissions
|
|
185
|
+
|
|
186
|
+
@builtins.property
|
|
187
|
+
def key_vault_id(self) -> "Vault":
|
|
188
|
+
'''The Azure Key Vault instance or its identifier.'''
|
|
189
|
+
result = self._values.get("key_vault_id")
|
|
190
|
+
assert result is not None, "Required property 'key_vault_id' is missing"
|
|
191
|
+
return typing.cast("Vault", result)
|
|
192
|
+
|
|
193
|
+
@builtins.property
|
|
194
|
+
def object_id(self) -> builtins.str:
|
|
195
|
+
'''The Azure Active Directory object ID for which the policy will be applied.
|
|
196
|
+
|
|
197
|
+
This can be a user, group, or service principal.
|
|
198
|
+
'''
|
|
199
|
+
result = self._values.get("object_id")
|
|
200
|
+
assert result is not None, "Required property 'object_id' is missing"
|
|
201
|
+
return typing.cast(builtins.str, result)
|
|
202
|
+
|
|
203
|
+
@builtins.property
|
|
204
|
+
def tenant_id(self) -> builtins.str:
|
|
205
|
+
'''The Azure Active Directory tenant ID where the Key Vault is hosted.
|
|
206
|
+
|
|
207
|
+
This is typically the directory ID of your Azure AD.
|
|
208
|
+
'''
|
|
209
|
+
result = self._values.get("tenant_id")
|
|
210
|
+
assert result is not None, "Required property 'tenant_id' is missing"
|
|
211
|
+
return typing.cast(builtins.str, result)
|
|
212
|
+
|
|
213
|
+
@builtins.property
|
|
214
|
+
def certificate_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
215
|
+
'''The permissions to certificates stored in the Key Vault.
|
|
216
|
+
|
|
217
|
+
Possible values might include: 'get', 'list', 'create', 'update', etc.
|
|
218
|
+
If not provided, no certificate permissions are set.
|
|
219
|
+
'''
|
|
220
|
+
result = self._values.get("certificate_permissions")
|
|
221
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
222
|
+
|
|
223
|
+
@builtins.property
|
|
224
|
+
def key_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
225
|
+
'''The permissions to keys stored in the Key Vault.
|
|
226
|
+
|
|
227
|
+
Possible values might include: 'get', 'list', 'create', 'sign', etc.
|
|
228
|
+
If not provided, no key permissions are set.
|
|
229
|
+
'''
|
|
230
|
+
result = self._values.get("key_permissions")
|
|
231
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
232
|
+
|
|
233
|
+
@builtins.property
|
|
234
|
+
def secret_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
235
|
+
'''The permissions to secrets stored in the Key Vault.
|
|
236
|
+
|
|
237
|
+
Possible values might include: 'get', 'list', 'set', 'delete', etc.
|
|
238
|
+
If not provided, no secret permissions are set.
|
|
239
|
+
'''
|
|
240
|
+
result = self._values.get("secret_permissions")
|
|
241
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
242
|
+
|
|
243
|
+
@builtins.property
|
|
244
|
+
def storage_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
245
|
+
'''The permissions to storage accounts linked to the Key Vault.
|
|
246
|
+
|
|
247
|
+
Possible values might include: 'get', 'list', 'delete', 'set', etc.
|
|
248
|
+
If not provided, no storage permissions are set.
|
|
249
|
+
'''
|
|
250
|
+
result = self._values.get("storage_permissions")
|
|
251
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
252
|
+
|
|
253
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
254
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
255
|
+
|
|
256
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
257
|
+
return not (rhs == self)
|
|
258
|
+
|
|
259
|
+
def __repr__(self) -> str:
|
|
260
|
+
return "AccessPolicyProps(%s)" % ", ".join(
|
|
261
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
class CertificateIssuer(
|
|
266
|
+
_constructs_77d1e7e8.Construct,
|
|
267
|
+
metaclass=jsii.JSIIMeta,
|
|
268
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.CertificateIssuer",
|
|
269
|
+
):
|
|
270
|
+
def __init__(
|
|
271
|
+
self,
|
|
272
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
273
|
+
id: builtins.str,
|
|
274
|
+
*,
|
|
275
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
276
|
+
key_vault_id: "Vault",
|
|
277
|
+
name: builtins.str,
|
|
278
|
+
provider_name: builtins.str,
|
|
279
|
+
password: typing.Optional[builtins.str] = None,
|
|
280
|
+
username: typing.Optional[builtins.str] = None,
|
|
281
|
+
) -> None:
|
|
282
|
+
'''Constructs a new Certificate Issuer within an Azure Key Vault.
|
|
283
|
+
|
|
284
|
+
This class is responsible for setting up a certificate issuer in Azure Key Vault. A certificate issuer is an entity
|
|
285
|
+
that issues digital certificates for use in SSL/TLS and other cryptographic security contexts. By configuring an issuer,
|
|
286
|
+
you can manage certificate lifecycle (issue, renew, revoke) through Azure Key Vault in conjunction with external certificate
|
|
287
|
+
authorities (CAs).
|
|
288
|
+
|
|
289
|
+
:param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
|
|
290
|
+
:param id: - The unique identifier for this instance of the certificate issuer.
|
|
291
|
+
:param access_policies: Access policies defining who can manage this issuer and the certificates it issues within the Key Vault.
|
|
292
|
+
:param key_vault_id: The ID of the Azure Key Vault where the issuer will be configured.
|
|
293
|
+
:param name: The name of the certificate issuer as it will appear in Azure Key Vault.
|
|
294
|
+
:param provider_name: The name of the provider that will issue the certificate, such as 'DigiCert' or 'GlobalSign'.
|
|
295
|
+
:param password: The password required to authenticate with the certificate provider (if applicable).
|
|
296
|
+
:param username: The username required to authenticate with the certificate provider (if applicable).
|
|
297
|
+
'''
|
|
298
|
+
if __debug__:
|
|
299
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0fd1d912631fc8dde1a769566e3ea99baf2954d0af16be561aae29ad55ace25b)
|
|
300
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
301
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
302
|
+
props = CertificateIssuerProps(
|
|
303
|
+
access_policies=access_policies,
|
|
304
|
+
key_vault_id=key_vault_id,
|
|
305
|
+
name=name,
|
|
306
|
+
provider_name=provider_name,
|
|
307
|
+
password=password,
|
|
308
|
+
username=username,
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
@jsii.data_type(
|
|
315
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.CertificateIssuerProps",
|
|
316
|
+
jsii_struct_bases=[],
|
|
317
|
+
name_mapping={
|
|
318
|
+
"access_policies": "accessPolicies",
|
|
319
|
+
"key_vault_id": "keyVaultId",
|
|
320
|
+
"name": "name",
|
|
321
|
+
"provider_name": "providerName",
|
|
322
|
+
"password": "password",
|
|
323
|
+
"username": "username",
|
|
324
|
+
},
|
|
325
|
+
)
|
|
326
|
+
class CertificateIssuerProps:
|
|
327
|
+
def __init__(
|
|
328
|
+
self,
|
|
329
|
+
*,
|
|
330
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
331
|
+
key_vault_id: "Vault",
|
|
332
|
+
name: builtins.str,
|
|
333
|
+
provider_name: builtins.str,
|
|
334
|
+
password: typing.Optional[builtins.str] = None,
|
|
335
|
+
username: typing.Optional[builtins.str] = None,
|
|
336
|
+
) -> None:
|
|
337
|
+
'''Properties required to configure a certificate issuer within Azure Key Vault.
|
|
338
|
+
|
|
339
|
+
:param access_policies: Access policies defining who can manage this issuer and the certificates it issues within the Key Vault.
|
|
340
|
+
:param key_vault_id: The ID of the Azure Key Vault where the issuer will be configured.
|
|
341
|
+
:param name: The name of the certificate issuer as it will appear in Azure Key Vault.
|
|
342
|
+
:param provider_name: The name of the provider that will issue the certificate, such as 'DigiCert' or 'GlobalSign'.
|
|
343
|
+
:param password: The password required to authenticate with the certificate provider (if applicable).
|
|
344
|
+
:param username: The username required to authenticate with the certificate provider (if applicable).
|
|
345
|
+
'''
|
|
346
|
+
if __debug__:
|
|
347
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5040b69059943a548e408c33cf899a9e5cd1230fcfac175e830c76b10642f504)
|
|
348
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
349
|
+
check_type(argname="argument key_vault_id", value=key_vault_id, expected_type=type_hints["key_vault_id"])
|
|
350
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
351
|
+
check_type(argname="argument provider_name", value=provider_name, expected_type=type_hints["provider_name"])
|
|
352
|
+
check_type(argname="argument password", value=password, expected_type=type_hints["password"])
|
|
353
|
+
check_type(argname="argument username", value=username, expected_type=type_hints["username"])
|
|
354
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
355
|
+
"access_policies": access_policies,
|
|
356
|
+
"key_vault_id": key_vault_id,
|
|
357
|
+
"name": name,
|
|
358
|
+
"provider_name": provider_name,
|
|
359
|
+
}
|
|
360
|
+
if password is not None:
|
|
361
|
+
self._values["password"] = password
|
|
362
|
+
if username is not None:
|
|
363
|
+
self._values["username"] = username
|
|
364
|
+
|
|
365
|
+
@builtins.property
|
|
366
|
+
def access_policies(self) -> typing.List[AccessPolicy]:
|
|
367
|
+
'''Access policies defining who can manage this issuer and the certificates it issues within the Key Vault.'''
|
|
368
|
+
result = self._values.get("access_policies")
|
|
369
|
+
assert result is not None, "Required property 'access_policies' is missing"
|
|
370
|
+
return typing.cast(typing.List[AccessPolicy], result)
|
|
371
|
+
|
|
372
|
+
@builtins.property
|
|
373
|
+
def key_vault_id(self) -> "Vault":
|
|
374
|
+
'''The ID of the Azure Key Vault where the issuer will be configured.'''
|
|
375
|
+
result = self._values.get("key_vault_id")
|
|
376
|
+
assert result is not None, "Required property 'key_vault_id' is missing"
|
|
377
|
+
return typing.cast("Vault", result)
|
|
378
|
+
|
|
379
|
+
@builtins.property
|
|
380
|
+
def name(self) -> builtins.str:
|
|
381
|
+
'''The name of the certificate issuer as it will appear in Azure Key Vault.'''
|
|
382
|
+
result = self._values.get("name")
|
|
383
|
+
assert result is not None, "Required property 'name' is missing"
|
|
384
|
+
return typing.cast(builtins.str, result)
|
|
385
|
+
|
|
386
|
+
@builtins.property
|
|
387
|
+
def provider_name(self) -> builtins.str:
|
|
388
|
+
'''The name of the provider that will issue the certificate, such as 'DigiCert' or 'GlobalSign'.'''
|
|
389
|
+
result = self._values.get("provider_name")
|
|
390
|
+
assert result is not None, "Required property 'provider_name' is missing"
|
|
391
|
+
return typing.cast(builtins.str, result)
|
|
392
|
+
|
|
393
|
+
@builtins.property
|
|
394
|
+
def password(self) -> typing.Optional[builtins.str]:
|
|
395
|
+
'''The password required to authenticate with the certificate provider (if applicable).'''
|
|
396
|
+
result = self._values.get("password")
|
|
397
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
398
|
+
|
|
399
|
+
@builtins.property
|
|
400
|
+
def username(self) -> typing.Optional[builtins.str]:
|
|
401
|
+
'''The username required to authenticate with the certificate provider (if applicable).'''
|
|
402
|
+
result = self._values.get("username")
|
|
403
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
404
|
+
|
|
405
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
406
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
407
|
+
|
|
408
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
409
|
+
return not (rhs == self)
|
|
410
|
+
|
|
411
|
+
def __repr__(self) -> str:
|
|
412
|
+
return "CertificateIssuerProps(%s)" % ", ".join(
|
|
413
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
414
|
+
)
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
@jsii.data_type(
|
|
418
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.GrantCustomAccessOptions",
|
|
419
|
+
jsii_struct_bases=[],
|
|
420
|
+
name_mapping={
|
|
421
|
+
"certificate_permissions": "certificatePermissions",
|
|
422
|
+
"key_permissions": "keyPermissions",
|
|
423
|
+
"secret_permissions": "secretPermissions",
|
|
424
|
+
"storage_permissions": "storagePermissions",
|
|
425
|
+
},
|
|
426
|
+
)
|
|
427
|
+
class GrantCustomAccessOptions:
|
|
428
|
+
def __init__(
|
|
429
|
+
self,
|
|
430
|
+
*,
|
|
431
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
432
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
433
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
434
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
435
|
+
) -> None:
|
|
436
|
+
'''Options for granting custom access permissions in Azure Key Vault.
|
|
437
|
+
|
|
438
|
+
:param certificate_permissions: Optional: A list of permissions to grant for certificates in the Key Vault. Example permissions include 'get', 'list', 'create', 'delete', etc.
|
|
439
|
+
:param key_permissions: Optional: A list of permissions to grant for keys in the Key Vault. Example permissions include 'encrypt', 'decrypt', 'wrapKey', 'unwrapKey', etc.
|
|
440
|
+
:param secret_permissions: Optional: A list of permissions to grant for secrets in the Key Vault. Example permissions include 'get', 'list', 'set', 'delete', etc.
|
|
441
|
+
:param storage_permissions: Optional: A list of permissions to grant for storage accounts in the Key Vault. Example permissions include 'get', 'list', 'delete', 'set', 'update', etc.
|
|
442
|
+
'''
|
|
443
|
+
if __debug__:
|
|
444
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3436fd84bf104b1bc8cd30d3eb2faadc0f58a40d1eabbb47d487be7507134cd7)
|
|
445
|
+
check_type(argname="argument certificate_permissions", value=certificate_permissions, expected_type=type_hints["certificate_permissions"])
|
|
446
|
+
check_type(argname="argument key_permissions", value=key_permissions, expected_type=type_hints["key_permissions"])
|
|
447
|
+
check_type(argname="argument secret_permissions", value=secret_permissions, expected_type=type_hints["secret_permissions"])
|
|
448
|
+
check_type(argname="argument storage_permissions", value=storage_permissions, expected_type=type_hints["storage_permissions"])
|
|
449
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
450
|
+
if certificate_permissions is not None:
|
|
451
|
+
self._values["certificate_permissions"] = certificate_permissions
|
|
452
|
+
if key_permissions is not None:
|
|
453
|
+
self._values["key_permissions"] = key_permissions
|
|
454
|
+
if secret_permissions is not None:
|
|
455
|
+
self._values["secret_permissions"] = secret_permissions
|
|
456
|
+
if storage_permissions is not None:
|
|
457
|
+
self._values["storage_permissions"] = storage_permissions
|
|
458
|
+
|
|
459
|
+
@builtins.property
|
|
460
|
+
def certificate_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
461
|
+
'''Optional: A list of permissions to grant for certificates in the Key Vault.
|
|
462
|
+
|
|
463
|
+
Example permissions include 'get', 'list', 'create', 'delete', etc.
|
|
464
|
+
'''
|
|
465
|
+
result = self._values.get("certificate_permissions")
|
|
466
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
467
|
+
|
|
468
|
+
@builtins.property
|
|
469
|
+
def key_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
470
|
+
'''Optional: A list of permissions to grant for keys in the Key Vault.
|
|
471
|
+
|
|
472
|
+
Example permissions include 'encrypt', 'decrypt', 'wrapKey', 'unwrapKey', etc.
|
|
473
|
+
'''
|
|
474
|
+
result = self._values.get("key_permissions")
|
|
475
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
476
|
+
|
|
477
|
+
@builtins.property
|
|
478
|
+
def secret_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
479
|
+
'''Optional: A list of permissions to grant for secrets in the Key Vault.
|
|
480
|
+
|
|
481
|
+
Example permissions include 'get', 'list', 'set', 'delete', etc.
|
|
482
|
+
'''
|
|
483
|
+
result = self._values.get("secret_permissions")
|
|
484
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
485
|
+
|
|
486
|
+
@builtins.property
|
|
487
|
+
def storage_permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
488
|
+
'''Optional: A list of permissions to grant for storage accounts in the Key Vault.
|
|
489
|
+
|
|
490
|
+
Example permissions include 'get', 'list', 'delete', 'set', 'update', etc.
|
|
491
|
+
'''
|
|
492
|
+
result = self._values.get("storage_permissions")
|
|
493
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
494
|
+
|
|
495
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
496
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
497
|
+
|
|
498
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
499
|
+
return not (rhs == self)
|
|
500
|
+
|
|
501
|
+
def __repr__(self) -> str:
|
|
502
|
+
return "GrantCustomAccessOptions(%s)" % ", ".join(
|
|
503
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
504
|
+
)
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
class Key(
|
|
508
|
+
_constructs_77d1e7e8.Construct,
|
|
509
|
+
metaclass=jsii.JSIIMeta,
|
|
510
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.Key",
|
|
511
|
+
):
|
|
512
|
+
def __init__(
|
|
513
|
+
self,
|
|
514
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
515
|
+
id: builtins.str,
|
|
516
|
+
*,
|
|
517
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
518
|
+
key_opts: typing.Sequence[builtins.str],
|
|
519
|
+
key_type: builtins.str,
|
|
520
|
+
key_vault_id: "Vault",
|
|
521
|
+
name: builtins.str,
|
|
522
|
+
expires: typing.Optional[builtins.str] = None,
|
|
523
|
+
key_size: typing.Optional[jsii.Number] = None,
|
|
524
|
+
rotation_policy: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
525
|
+
) -> None:
|
|
526
|
+
'''Constructs a new Key resource in Azure Key Vault.
|
|
527
|
+
|
|
528
|
+
This class is responsible for the creation and management of a cryptographic key stored in Azure Key Vault.
|
|
529
|
+
The key can be used for a variety of cryptographic operations, such as encryption, decryption, signing, or
|
|
530
|
+
verifying signatures, depending on the permissions granted. It supports different key types and configurations,
|
|
531
|
+
allowing for customization to meet specific security requirements.
|
|
532
|
+
|
|
533
|
+
:param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
|
|
534
|
+
:param id: - The unique identifier for this instance of the Key.
|
|
535
|
+
:param access_policies:
|
|
536
|
+
:param key_opts: Additional options or attributes related to the key.
|
|
537
|
+
:param key_type: The type of key to create (e.g., RSA, EC, etc.).
|
|
538
|
+
:param key_vault_id:
|
|
539
|
+
:param name: The name of the key in the Azure Key Vault.
|
|
540
|
+
:param expires: Expiration date of the key. Format: UTC, YYYY-MM-DDTHH:MM:SSZ.
|
|
541
|
+
:param key_size: The size of the key, typically specified for RSA keys.
|
|
542
|
+
:param rotation_policy: The policy for key rotation.
|
|
543
|
+
'''
|
|
544
|
+
if __debug__:
|
|
545
|
+
type_hints = typing.get_type_hints(_typecheckingstub__764ad04fbd1fc7abfe91c3ca71a3f0df1b038969bfda7c952f3021ce45b03094)
|
|
546
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
547
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
548
|
+
props = KeyProps(
|
|
549
|
+
access_policies=access_policies,
|
|
550
|
+
key_opts=key_opts,
|
|
551
|
+
key_type=key_type,
|
|
552
|
+
key_vault_id=key_vault_id,
|
|
553
|
+
name=name,
|
|
554
|
+
expires=expires,
|
|
555
|
+
key_size=key_size,
|
|
556
|
+
rotation_policy=rotation_policy,
|
|
557
|
+
)
|
|
558
|
+
|
|
559
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
560
|
+
|
|
561
|
+
@builtins.property
|
|
562
|
+
@jsii.member(jsii_name="vaultKey")
|
|
563
|
+
def vault_key(
|
|
564
|
+
self,
|
|
565
|
+
) -> _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey:
|
|
566
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey, jsii.get(self, "vaultKey"))
|
|
567
|
+
|
|
568
|
+
@vault_key.setter
|
|
569
|
+
def vault_key(
|
|
570
|
+
self,
|
|
571
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey,
|
|
572
|
+
) -> None:
|
|
573
|
+
if __debug__:
|
|
574
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1f2906c60b67daeedd0649a513a69c7c29965637edc934b937264e3d9e84d21f)
|
|
575
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
576
|
+
jsii.set(self, "vaultKey", value)
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
@jsii.data_type(
|
|
580
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.KeyProps",
|
|
581
|
+
jsii_struct_bases=[],
|
|
582
|
+
name_mapping={
|
|
583
|
+
"access_policies": "accessPolicies",
|
|
584
|
+
"key_opts": "keyOpts",
|
|
585
|
+
"key_type": "keyType",
|
|
586
|
+
"key_vault_id": "keyVaultId",
|
|
587
|
+
"name": "name",
|
|
588
|
+
"expires": "expires",
|
|
589
|
+
"key_size": "keySize",
|
|
590
|
+
"rotation_policy": "rotationPolicy",
|
|
591
|
+
},
|
|
592
|
+
)
|
|
593
|
+
class KeyProps:
|
|
594
|
+
def __init__(
|
|
595
|
+
self,
|
|
596
|
+
*,
|
|
597
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
598
|
+
key_opts: typing.Sequence[builtins.str],
|
|
599
|
+
key_type: builtins.str,
|
|
600
|
+
key_vault_id: "Vault",
|
|
601
|
+
name: builtins.str,
|
|
602
|
+
expires: typing.Optional[builtins.str] = None,
|
|
603
|
+
key_size: typing.Optional[jsii.Number] = None,
|
|
604
|
+
rotation_policy: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
605
|
+
) -> None:
|
|
606
|
+
'''
|
|
607
|
+
:param access_policies:
|
|
608
|
+
:param key_opts: Additional options or attributes related to the key.
|
|
609
|
+
:param key_type: The type of key to create (e.g., RSA, EC, etc.).
|
|
610
|
+
:param key_vault_id:
|
|
611
|
+
:param name: The name of the key in the Azure Key Vault.
|
|
612
|
+
:param expires: Expiration date of the key. Format: UTC, YYYY-MM-DDTHH:MM:SSZ.
|
|
613
|
+
:param key_size: The size of the key, typically specified for RSA keys.
|
|
614
|
+
:param rotation_policy: The policy for key rotation.
|
|
615
|
+
'''
|
|
616
|
+
if isinstance(rotation_policy, dict):
|
|
617
|
+
rotation_policy = _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy(**rotation_policy)
|
|
618
|
+
if __debug__:
|
|
619
|
+
type_hints = typing.get_type_hints(_typecheckingstub__995ed0d726015be1e472d81cda4bb9836358aa4c155e115c8314614e4171b257)
|
|
620
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
621
|
+
check_type(argname="argument key_opts", value=key_opts, expected_type=type_hints["key_opts"])
|
|
622
|
+
check_type(argname="argument key_type", value=key_type, expected_type=type_hints["key_type"])
|
|
623
|
+
check_type(argname="argument key_vault_id", value=key_vault_id, expected_type=type_hints["key_vault_id"])
|
|
624
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
625
|
+
check_type(argname="argument expires", value=expires, expected_type=type_hints["expires"])
|
|
626
|
+
check_type(argname="argument key_size", value=key_size, expected_type=type_hints["key_size"])
|
|
627
|
+
check_type(argname="argument rotation_policy", value=rotation_policy, expected_type=type_hints["rotation_policy"])
|
|
628
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
629
|
+
"access_policies": access_policies,
|
|
630
|
+
"key_opts": key_opts,
|
|
631
|
+
"key_type": key_type,
|
|
632
|
+
"key_vault_id": key_vault_id,
|
|
633
|
+
"name": name,
|
|
634
|
+
}
|
|
635
|
+
if expires is not None:
|
|
636
|
+
self._values["expires"] = expires
|
|
637
|
+
if key_size is not None:
|
|
638
|
+
self._values["key_size"] = key_size
|
|
639
|
+
if rotation_policy is not None:
|
|
640
|
+
self._values["rotation_policy"] = rotation_policy
|
|
641
|
+
|
|
642
|
+
@builtins.property
|
|
643
|
+
def access_policies(self) -> typing.List[AccessPolicy]:
|
|
644
|
+
result = self._values.get("access_policies")
|
|
645
|
+
assert result is not None, "Required property 'access_policies' is missing"
|
|
646
|
+
return typing.cast(typing.List[AccessPolicy], result)
|
|
647
|
+
|
|
648
|
+
@builtins.property
|
|
649
|
+
def key_opts(self) -> typing.List[builtins.str]:
|
|
650
|
+
'''Additional options or attributes related to the key.'''
|
|
651
|
+
result = self._values.get("key_opts")
|
|
652
|
+
assert result is not None, "Required property 'key_opts' is missing"
|
|
653
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
654
|
+
|
|
655
|
+
@builtins.property
|
|
656
|
+
def key_type(self) -> builtins.str:
|
|
657
|
+
'''The type of key to create (e.g., RSA, EC, etc.).'''
|
|
658
|
+
result = self._values.get("key_type")
|
|
659
|
+
assert result is not None, "Required property 'key_type' is missing"
|
|
660
|
+
return typing.cast(builtins.str, result)
|
|
661
|
+
|
|
662
|
+
@builtins.property
|
|
663
|
+
def key_vault_id(self) -> "Vault":
|
|
664
|
+
result = self._values.get("key_vault_id")
|
|
665
|
+
assert result is not None, "Required property 'key_vault_id' is missing"
|
|
666
|
+
return typing.cast("Vault", result)
|
|
667
|
+
|
|
668
|
+
@builtins.property
|
|
669
|
+
def name(self) -> builtins.str:
|
|
670
|
+
'''The name of the key in the Azure Key Vault.'''
|
|
671
|
+
result = self._values.get("name")
|
|
672
|
+
assert result is not None, "Required property 'name' is missing"
|
|
673
|
+
return typing.cast(builtins.str, result)
|
|
674
|
+
|
|
675
|
+
@builtins.property
|
|
676
|
+
def expires(self) -> typing.Optional[builtins.str]:
|
|
677
|
+
'''Expiration date of the key.
|
|
678
|
+
|
|
679
|
+
Format: UTC, YYYY-MM-DDTHH:MM:SSZ.
|
|
680
|
+
'''
|
|
681
|
+
result = self._values.get("expires")
|
|
682
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
683
|
+
|
|
684
|
+
@builtins.property
|
|
685
|
+
def key_size(self) -> typing.Optional[jsii.Number]:
|
|
686
|
+
'''The size of the key, typically specified for RSA keys.'''
|
|
687
|
+
result = self._values.get("key_size")
|
|
688
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
689
|
+
|
|
690
|
+
@builtins.property
|
|
691
|
+
def rotation_policy(
|
|
692
|
+
self,
|
|
693
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy]:
|
|
694
|
+
'''The policy for key rotation.'''
|
|
695
|
+
result = self._values.get("rotation_policy")
|
|
696
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy], result)
|
|
697
|
+
|
|
698
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
699
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
700
|
+
|
|
701
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
702
|
+
return not (rhs == self)
|
|
703
|
+
|
|
704
|
+
def __repr__(self) -> str:
|
|
705
|
+
return "KeyProps(%s)" % ", ".join(
|
|
706
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
707
|
+
)
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
class Secret(
|
|
711
|
+
_constructs_77d1e7e8.Construct,
|
|
712
|
+
metaclass=jsii.JSIIMeta,
|
|
713
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.Secret",
|
|
714
|
+
):
|
|
715
|
+
def __init__(
|
|
716
|
+
self,
|
|
717
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
718
|
+
id: builtins.str,
|
|
719
|
+
*,
|
|
720
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
721
|
+
key_vault_id: "Vault",
|
|
722
|
+
name: builtins.str,
|
|
723
|
+
value: builtins.str,
|
|
724
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
725
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
726
|
+
) -> None:
|
|
727
|
+
'''Constructs a new Azure Key Vault Secret within a specified Key Vault.
|
|
728
|
+
|
|
729
|
+
This class facilitates the creation and management of a secret, allowing sensitive information to be stored securely
|
|
730
|
+
and accessed as needed while maintaining confidentiality and control through defined access policies.
|
|
731
|
+
|
|
732
|
+
:param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
733
|
+
:param id: - The unique identifier for this instance of the secret.
|
|
734
|
+
:param access_policies: A list of access policies that dictate which identities have what kind of access to the secret. Each policy should detail the permissions and the identity it applies to.
|
|
735
|
+
:param key_vault_id: The Key Vault instance where the secret will be stored.
|
|
736
|
+
:param name: The name of the secret. This name should be unique within the Key Vault instance.
|
|
737
|
+
:param value: The value of the secret. This could be any string, including tokens or passwords.
|
|
738
|
+
:param content_type: Optional content type for the secret. This can be used to describe the type of information the secret contains, or how it can be used.
|
|
739
|
+
:param expiration_date: Optional expiration date for the secret. This should be in an appropriate date string format. If provided, the secret will become invalid after this date.
|
|
740
|
+
'''
|
|
741
|
+
if __debug__:
|
|
742
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c78df4e95e03e93ef044f647b9b99dcad3c39f1844594b182e977b52617317f7)
|
|
743
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
744
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
745
|
+
props = SecretProps(
|
|
746
|
+
access_policies=access_policies,
|
|
747
|
+
key_vault_id=key_vault_id,
|
|
748
|
+
name=name,
|
|
749
|
+
value=value,
|
|
750
|
+
content_type=content_type,
|
|
751
|
+
expiration_date=expiration_date,
|
|
752
|
+
)
|
|
753
|
+
|
|
754
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
755
|
+
|
|
756
|
+
@builtins.property
|
|
757
|
+
@jsii.member(jsii_name="secretId")
|
|
758
|
+
def secret_id(self) -> builtins.str:
|
|
759
|
+
return typing.cast(builtins.str, jsii.get(self, "secretId"))
|
|
760
|
+
|
|
761
|
+
@secret_id.setter
|
|
762
|
+
def secret_id(self, value: builtins.str) -> None:
|
|
763
|
+
if __debug__:
|
|
764
|
+
type_hints = typing.get_type_hints(_typecheckingstub__000957c0b227f3cb3e6b4710c4ff0c1439839536ed2dd1e6444c6440ae47007c)
|
|
765
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
766
|
+
jsii.set(self, "secretId", value)
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
@jsii.data_type(
|
|
770
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.SecretProps",
|
|
771
|
+
jsii_struct_bases=[],
|
|
772
|
+
name_mapping={
|
|
773
|
+
"access_policies": "accessPolicies",
|
|
774
|
+
"key_vault_id": "keyVaultId",
|
|
775
|
+
"name": "name",
|
|
776
|
+
"value": "value",
|
|
777
|
+
"content_type": "contentType",
|
|
778
|
+
"expiration_date": "expirationDate",
|
|
779
|
+
},
|
|
780
|
+
)
|
|
781
|
+
class SecretProps:
|
|
782
|
+
def __init__(
|
|
783
|
+
self,
|
|
784
|
+
*,
|
|
785
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
786
|
+
key_vault_id: "Vault",
|
|
787
|
+
name: builtins.str,
|
|
788
|
+
value: builtins.str,
|
|
789
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
790
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
791
|
+
) -> None:
|
|
792
|
+
'''Properties for defining an Azure Key Vault Secret.
|
|
793
|
+
|
|
794
|
+
:param access_policies: A list of access policies that dictate which identities have what kind of access to the secret. Each policy should detail the permissions and the identity it applies to.
|
|
795
|
+
:param key_vault_id: The Key Vault instance where the secret will be stored.
|
|
796
|
+
:param name: The name of the secret. This name should be unique within the Key Vault instance.
|
|
797
|
+
:param value: The value of the secret. This could be any string, including tokens or passwords.
|
|
798
|
+
:param content_type: Optional content type for the secret. This can be used to describe the type of information the secret contains, or how it can be used.
|
|
799
|
+
:param expiration_date: Optional expiration date for the secret. This should be in an appropriate date string format. If provided, the secret will become invalid after this date.
|
|
800
|
+
'''
|
|
801
|
+
if __debug__:
|
|
802
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0d36fbfdf3b4d23e5fe773f0713f10351c70db1fa84f549499f9d58b8ed1ee3f)
|
|
803
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
804
|
+
check_type(argname="argument key_vault_id", value=key_vault_id, expected_type=type_hints["key_vault_id"])
|
|
805
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
806
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
807
|
+
check_type(argname="argument content_type", value=content_type, expected_type=type_hints["content_type"])
|
|
808
|
+
check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
|
|
809
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
810
|
+
"access_policies": access_policies,
|
|
811
|
+
"key_vault_id": key_vault_id,
|
|
812
|
+
"name": name,
|
|
813
|
+
"value": value,
|
|
814
|
+
}
|
|
815
|
+
if content_type is not None:
|
|
816
|
+
self._values["content_type"] = content_type
|
|
817
|
+
if expiration_date is not None:
|
|
818
|
+
self._values["expiration_date"] = expiration_date
|
|
819
|
+
|
|
820
|
+
@builtins.property
|
|
821
|
+
def access_policies(self) -> typing.List[AccessPolicy]:
|
|
822
|
+
'''A list of access policies that dictate which identities have what kind of access to the secret.
|
|
823
|
+
|
|
824
|
+
Each policy should detail the permissions and the identity it applies to.
|
|
825
|
+
'''
|
|
826
|
+
result = self._values.get("access_policies")
|
|
827
|
+
assert result is not None, "Required property 'access_policies' is missing"
|
|
828
|
+
return typing.cast(typing.List[AccessPolicy], result)
|
|
829
|
+
|
|
830
|
+
@builtins.property
|
|
831
|
+
def key_vault_id(self) -> "Vault":
|
|
832
|
+
'''The Key Vault instance where the secret will be stored.'''
|
|
833
|
+
result = self._values.get("key_vault_id")
|
|
834
|
+
assert result is not None, "Required property 'key_vault_id' is missing"
|
|
835
|
+
return typing.cast("Vault", result)
|
|
836
|
+
|
|
837
|
+
@builtins.property
|
|
838
|
+
def name(self) -> builtins.str:
|
|
839
|
+
'''The name of the secret.
|
|
840
|
+
|
|
841
|
+
This name should be unique within the Key Vault instance.
|
|
842
|
+
'''
|
|
843
|
+
result = self._values.get("name")
|
|
844
|
+
assert result is not None, "Required property 'name' is missing"
|
|
845
|
+
return typing.cast(builtins.str, result)
|
|
846
|
+
|
|
847
|
+
@builtins.property
|
|
848
|
+
def value(self) -> builtins.str:
|
|
849
|
+
'''The value of the secret.
|
|
850
|
+
|
|
851
|
+
This could be any string, including tokens or passwords.
|
|
852
|
+
'''
|
|
853
|
+
result = self._values.get("value")
|
|
854
|
+
assert result is not None, "Required property 'value' is missing"
|
|
855
|
+
return typing.cast(builtins.str, result)
|
|
856
|
+
|
|
857
|
+
@builtins.property
|
|
858
|
+
def content_type(self) -> typing.Optional[builtins.str]:
|
|
859
|
+
'''Optional content type for the secret.
|
|
860
|
+
|
|
861
|
+
This can be used to describe the type of information
|
|
862
|
+
the secret contains, or how it can be used.
|
|
863
|
+
'''
|
|
864
|
+
result = self._values.get("content_type")
|
|
865
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
866
|
+
|
|
867
|
+
@builtins.property
|
|
868
|
+
def expiration_date(self) -> typing.Optional[builtins.str]:
|
|
869
|
+
'''Optional expiration date for the secret.
|
|
870
|
+
|
|
871
|
+
This should be in an appropriate date string format.
|
|
872
|
+
If provided, the secret will become invalid after this date.
|
|
873
|
+
'''
|
|
874
|
+
result = self._values.get("expiration_date")
|
|
875
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
876
|
+
|
|
877
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
878
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
879
|
+
|
|
880
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
881
|
+
return not (rhs == self)
|
|
882
|
+
|
|
883
|
+
def __repr__(self) -> str:
|
|
884
|
+
return "SecretProps(%s)" % ", ".join(
|
|
885
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
886
|
+
)
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
class SelfSignedCertificate(
|
|
890
|
+
_constructs_77d1e7e8.Construct,
|
|
891
|
+
metaclass=jsii.JSIIMeta,
|
|
892
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.SelfSignedCertificate",
|
|
893
|
+
):
|
|
894
|
+
def __init__(
|
|
895
|
+
self,
|
|
896
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
897
|
+
id: builtins.str,
|
|
898
|
+
*,
|
|
899
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
900
|
+
dns_names: typing.Sequence[builtins.str],
|
|
901
|
+
key_vault_id: "Vault",
|
|
902
|
+
name: builtins.str,
|
|
903
|
+
subject: builtins.str,
|
|
904
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
905
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
906
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
907
|
+
) -> None:
|
|
908
|
+
'''Constructs a self-signed certificate within an Azure Key Vault.
|
|
909
|
+
|
|
910
|
+
This class is responsible for the creation and management of a self-signed certificate, making it available
|
|
911
|
+
within an Azure Key Vault. The certificate can be used for testing or internal secure communications.
|
|
912
|
+
|
|
913
|
+
:param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
|
|
914
|
+
:param id: - The unique identifier for this instance of the certificate.
|
|
915
|
+
:param access_policies: Access policies defining who can access this certificate within the Azure Key Vault.
|
|
916
|
+
:param dns_names: Additional DNS names to be included in the certificate. Useful for creating certificates valid for multiple hostnames.
|
|
917
|
+
:param key_vault_id: The ID of the Azure Key Vault where the certificate will be created and stored.
|
|
918
|
+
:param name: The name of the certificate to be stored in Azure Key Vault.
|
|
919
|
+
:param subject: The subject name for the certificate, typically represented in X.509 distinguished name format.
|
|
920
|
+
:param action_type: Specifies the type of action to perform with the certificate, such as 'create' or 'renew'.
|
|
921
|
+
:param days_before_expiry: Specifies the number of days before expiry when an action should be taken (e.g., renew the certificate).
|
|
922
|
+
:param tags: Tags to be associated with the certificate for organizational purposes.
|
|
923
|
+
'''
|
|
924
|
+
if __debug__:
|
|
925
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4f2fd11aff992ca62fdb1d32287ac5e70f490e423a8220d0fd8b93f168423e61)
|
|
926
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
927
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
928
|
+
props = SelfSignedCertificateProps(
|
|
929
|
+
access_policies=access_policies,
|
|
930
|
+
dns_names=dns_names,
|
|
931
|
+
key_vault_id=key_vault_id,
|
|
932
|
+
name=name,
|
|
933
|
+
subject=subject,
|
|
934
|
+
action_type=action_type,
|
|
935
|
+
days_before_expiry=days_before_expiry,
|
|
936
|
+
tags=tags,
|
|
937
|
+
)
|
|
938
|
+
|
|
939
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
940
|
+
|
|
941
|
+
@builtins.property
|
|
942
|
+
@jsii.member(jsii_name="certificate")
|
|
943
|
+
def certificate(
|
|
944
|
+
self,
|
|
945
|
+
) -> _cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate:
|
|
946
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate, jsii.get(self, "certificate"))
|
|
947
|
+
|
|
948
|
+
@certificate.setter
|
|
949
|
+
def certificate(
|
|
950
|
+
self,
|
|
951
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate,
|
|
952
|
+
) -> None:
|
|
953
|
+
if __debug__:
|
|
954
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7bcfe32dfda0bfcd75c9886c46d00ae6fe55b59fe44815138f1c45bade1a9a50)
|
|
955
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
956
|
+
jsii.set(self, "certificate", value)
|
|
957
|
+
|
|
958
|
+
@builtins.property
|
|
959
|
+
@jsii.member(jsii_name="id")
|
|
960
|
+
def id(self) -> builtins.str:
|
|
961
|
+
return typing.cast(builtins.str, jsii.get(self, "id"))
|
|
962
|
+
|
|
963
|
+
@id.setter
|
|
964
|
+
def id(self, value: builtins.str) -> None:
|
|
965
|
+
if __debug__:
|
|
966
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8a7832291886fb9d0860c4fe02c693ab9a897d39b628a7dbe1eda21608cd7bbf)
|
|
967
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
968
|
+
jsii.set(self, "id", value)
|
|
969
|
+
|
|
970
|
+
@builtins.property
|
|
971
|
+
@jsii.member(jsii_name="secretId")
|
|
972
|
+
def secret_id(self) -> builtins.str:
|
|
973
|
+
return typing.cast(builtins.str, jsii.get(self, "secretId"))
|
|
974
|
+
|
|
975
|
+
@secret_id.setter
|
|
976
|
+
def secret_id(self, value: builtins.str) -> None:
|
|
977
|
+
if __debug__:
|
|
978
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d9590e40faef06e65b262dcbee4614c369cb45c54a88a331ceaf27f397ea5dba)
|
|
979
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
980
|
+
jsii.set(self, "secretId", value)
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
@jsii.data_type(
|
|
984
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.SelfSignedCertificateProps",
|
|
985
|
+
jsii_struct_bases=[],
|
|
986
|
+
name_mapping={
|
|
987
|
+
"access_policies": "accessPolicies",
|
|
988
|
+
"dns_names": "dnsNames",
|
|
989
|
+
"key_vault_id": "keyVaultId",
|
|
990
|
+
"name": "name",
|
|
991
|
+
"subject": "subject",
|
|
992
|
+
"action_type": "actionType",
|
|
993
|
+
"days_before_expiry": "daysBeforeExpiry",
|
|
994
|
+
"tags": "tags",
|
|
995
|
+
},
|
|
996
|
+
)
|
|
997
|
+
class SelfSignedCertificateProps:
|
|
998
|
+
def __init__(
|
|
999
|
+
self,
|
|
1000
|
+
*,
|
|
1001
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1002
|
+
dns_names: typing.Sequence[builtins.str],
|
|
1003
|
+
key_vault_id: "Vault",
|
|
1004
|
+
name: builtins.str,
|
|
1005
|
+
subject: builtins.str,
|
|
1006
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
1007
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
1008
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1009
|
+
) -> None:
|
|
1010
|
+
'''Properties required to create a self-signed certificate within Azure Key Vault.
|
|
1011
|
+
|
|
1012
|
+
:param access_policies: Access policies defining who can access this certificate within the Azure Key Vault.
|
|
1013
|
+
:param dns_names: Additional DNS names to be included in the certificate. Useful for creating certificates valid for multiple hostnames.
|
|
1014
|
+
:param key_vault_id: The ID of the Azure Key Vault where the certificate will be created and stored.
|
|
1015
|
+
:param name: The name of the certificate to be stored in Azure Key Vault.
|
|
1016
|
+
:param subject: The subject name for the certificate, typically represented in X.509 distinguished name format.
|
|
1017
|
+
:param action_type: Specifies the type of action to perform with the certificate, such as 'create' or 'renew'.
|
|
1018
|
+
:param days_before_expiry: Specifies the number of days before expiry when an action should be taken (e.g., renew the certificate).
|
|
1019
|
+
:param tags: Tags to be associated with the certificate for organizational purposes.
|
|
1020
|
+
'''
|
|
1021
|
+
if __debug__:
|
|
1022
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0e1a75ff875f51795d8bc81864b6795d51c7ecac35b8f6a4b8aea44373ec77ea)
|
|
1023
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
1024
|
+
check_type(argname="argument dns_names", value=dns_names, expected_type=type_hints["dns_names"])
|
|
1025
|
+
check_type(argname="argument key_vault_id", value=key_vault_id, expected_type=type_hints["key_vault_id"])
|
|
1026
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
1027
|
+
check_type(argname="argument subject", value=subject, expected_type=type_hints["subject"])
|
|
1028
|
+
check_type(argname="argument action_type", value=action_type, expected_type=type_hints["action_type"])
|
|
1029
|
+
check_type(argname="argument days_before_expiry", value=days_before_expiry, expected_type=type_hints["days_before_expiry"])
|
|
1030
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
1031
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1032
|
+
"access_policies": access_policies,
|
|
1033
|
+
"dns_names": dns_names,
|
|
1034
|
+
"key_vault_id": key_vault_id,
|
|
1035
|
+
"name": name,
|
|
1036
|
+
"subject": subject,
|
|
1037
|
+
}
|
|
1038
|
+
if action_type is not None:
|
|
1039
|
+
self._values["action_type"] = action_type
|
|
1040
|
+
if days_before_expiry is not None:
|
|
1041
|
+
self._values["days_before_expiry"] = days_before_expiry
|
|
1042
|
+
if tags is not None:
|
|
1043
|
+
self._values["tags"] = tags
|
|
1044
|
+
|
|
1045
|
+
@builtins.property
|
|
1046
|
+
def access_policies(self) -> typing.List[AccessPolicy]:
|
|
1047
|
+
'''Access policies defining who can access this certificate within the Azure Key Vault.'''
|
|
1048
|
+
result = self._values.get("access_policies")
|
|
1049
|
+
assert result is not None, "Required property 'access_policies' is missing"
|
|
1050
|
+
return typing.cast(typing.List[AccessPolicy], result)
|
|
1051
|
+
|
|
1052
|
+
@builtins.property
|
|
1053
|
+
def dns_names(self) -> typing.List[builtins.str]:
|
|
1054
|
+
'''Additional DNS names to be included in the certificate.
|
|
1055
|
+
|
|
1056
|
+
Useful for creating certificates valid for multiple hostnames.
|
|
1057
|
+
'''
|
|
1058
|
+
result = self._values.get("dns_names")
|
|
1059
|
+
assert result is not None, "Required property 'dns_names' is missing"
|
|
1060
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
1061
|
+
|
|
1062
|
+
@builtins.property
|
|
1063
|
+
def key_vault_id(self) -> "Vault":
|
|
1064
|
+
'''The ID of the Azure Key Vault where the certificate will be created and stored.'''
|
|
1065
|
+
result = self._values.get("key_vault_id")
|
|
1066
|
+
assert result is not None, "Required property 'key_vault_id' is missing"
|
|
1067
|
+
return typing.cast("Vault", result)
|
|
1068
|
+
|
|
1069
|
+
@builtins.property
|
|
1070
|
+
def name(self) -> builtins.str:
|
|
1071
|
+
'''The name of the certificate to be stored in Azure Key Vault.'''
|
|
1072
|
+
result = self._values.get("name")
|
|
1073
|
+
assert result is not None, "Required property 'name' is missing"
|
|
1074
|
+
return typing.cast(builtins.str, result)
|
|
1075
|
+
|
|
1076
|
+
@builtins.property
|
|
1077
|
+
def subject(self) -> builtins.str:
|
|
1078
|
+
'''The subject name for the certificate, typically represented in X.509 distinguished name format.'''
|
|
1079
|
+
result = self._values.get("subject")
|
|
1080
|
+
assert result is not None, "Required property 'subject' is missing"
|
|
1081
|
+
return typing.cast(builtins.str, result)
|
|
1082
|
+
|
|
1083
|
+
@builtins.property
|
|
1084
|
+
def action_type(self) -> typing.Optional[builtins.str]:
|
|
1085
|
+
'''Specifies the type of action to perform with the certificate, such as 'create' or 'renew'.'''
|
|
1086
|
+
result = self._values.get("action_type")
|
|
1087
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1088
|
+
|
|
1089
|
+
@builtins.property
|
|
1090
|
+
def days_before_expiry(self) -> typing.Optional[jsii.Number]:
|
|
1091
|
+
'''Specifies the number of days before expiry when an action should be taken (e.g., renew the certificate).'''
|
|
1092
|
+
result = self._values.get("days_before_expiry")
|
|
1093
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1094
|
+
|
|
1095
|
+
@builtins.property
|
|
1096
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
1097
|
+
'''Tags to be associated with the certificate for organizational purposes.'''
|
|
1098
|
+
result = self._values.get("tags")
|
|
1099
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
1100
|
+
|
|
1101
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1102
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1103
|
+
|
|
1104
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1105
|
+
return not (rhs == self)
|
|
1106
|
+
|
|
1107
|
+
def __repr__(self) -> str:
|
|
1108
|
+
return "SelfSignedCertificateProps(%s)" % ", ".join(
|
|
1109
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1110
|
+
)
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
class Vault(
|
|
1114
|
+
_AzureResource_74eec1c4,
|
|
1115
|
+
metaclass=jsii.JSIIMeta,
|
|
1116
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.Vault",
|
|
1117
|
+
):
|
|
1118
|
+
def __init__(
|
|
1119
|
+
self,
|
|
1120
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1121
|
+
id: builtins.str,
|
|
1122
|
+
*,
|
|
1123
|
+
location: builtins.str,
|
|
1124
|
+
name: builtins.str,
|
|
1125
|
+
tenant_id: builtins.str,
|
|
1126
|
+
network_acls: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1127
|
+
purge_protection: typing.Optional[builtins.bool] = None,
|
|
1128
|
+
resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
|
|
1129
|
+
sku: typing.Optional[builtins.str] = None,
|
|
1130
|
+
soft_delete_retention_days: typing.Optional[jsii.Number] = None,
|
|
1131
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1132
|
+
) -> None:
|
|
1133
|
+
'''Constructs a new Azure Key Vault resource.
|
|
1134
|
+
|
|
1135
|
+
This class creates and configures an Azure Key Vault, a secure store for managing secrets, keys, certificates, and other sensitive data.
|
|
1136
|
+
It supports advanced configurations such as access policies, network rules, and data retention policies.
|
|
1137
|
+
|
|
1138
|
+
:param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
|
|
1139
|
+
:param id: - The unique identifier for this instance of the Key Vault.
|
|
1140
|
+
:param location: The Azure Region to deploy the Key Vault.
|
|
1141
|
+
:param name: The name of the Key Vault.
|
|
1142
|
+
:param tenant_id: The Name of the SKU used for this Key Vault. Possible values are standard and premium.
|
|
1143
|
+
:param network_acls: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.
|
|
1144
|
+
:param purge_protection: A map of IP network ACL rules. The key is the IP or IP range in CIDR notation. The value is a description of that IP range.
|
|
1145
|
+
:param resource_group: An optional reference to the resource group in which to deploy the Key Vault. If not provided, the Key Vault will be deployed in the default resource group.
|
|
1146
|
+
:param sku: The tags to assign to the Key Vault.
|
|
1147
|
+
:param soft_delete_retention_days: Specifies whether protection against purge is enabled for this Key Vault. Setting this property to true activates protection against deletion of any active key, secret or certificate in the vault. The setting is effective only if soft delete is also enabled. The default value is false. Once activated, the property cannot be reverted to false.
|
|
1148
|
+
:param tags: The tags to assign to the Key Vault.
|
|
1149
|
+
'''
|
|
1150
|
+
if __debug__:
|
|
1151
|
+
type_hints = typing.get_type_hints(_typecheckingstub__917170a8774b61cb3259bde0d15c6881a93b9cdffe2a33390469fe5c8a9e2a05)
|
|
1152
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1153
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1154
|
+
props = VaultProps(
|
|
1155
|
+
location=location,
|
|
1156
|
+
name=name,
|
|
1157
|
+
tenant_id=tenant_id,
|
|
1158
|
+
network_acls=network_acls,
|
|
1159
|
+
purge_protection=purge_protection,
|
|
1160
|
+
resource_group=resource_group,
|
|
1161
|
+
sku=sku,
|
|
1162
|
+
soft_delete_retention_days=soft_delete_retention_days,
|
|
1163
|
+
tags=tags,
|
|
1164
|
+
)
|
|
1165
|
+
|
|
1166
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
1167
|
+
|
|
1168
|
+
@jsii.member(jsii_name="addCertIssuer")
|
|
1169
|
+
def add_cert_issuer(self, name: builtins.str, provider: builtins.str) -> None:
|
|
1170
|
+
'''Adds a certificate issuer to the Azure Key Vault.
|
|
1171
|
+
|
|
1172
|
+
This method configures a certificate issuer within the Key Vault, allowing the Key Vault to issue certificates
|
|
1173
|
+
through external providers. Configuring an issuer is essential for enabling automated certificate management
|
|
1174
|
+
processes, such as issuance and renewal, directly through the Key Vault with a specified Certificate Authority (CA).
|
|
1175
|
+
|
|
1176
|
+
:param name: - The unique name for the certificate issuer within the Key Vault.
|
|
1177
|
+
:param provider: - The name of the external provider that will issue the certificates, such as 'DigiCert' or 'GlobalSign'. Example usage:: vault.addCertIssuer( 'myCertIssuer', 'DigiCert' ); This method configures a certificate issuer but does not return any value. The issuer details, including provider name and any necessary credentials (managed externally or through additional method parameters), are set up in the Key Vault for future certificate operations.
|
|
1178
|
+
'''
|
|
1179
|
+
if __debug__:
|
|
1180
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b2f2c045bea927ac556e9d63c71e26ab25277d8da73f00083296262c6f2b0d08)
|
|
1181
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
1182
|
+
check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
|
|
1183
|
+
return typing.cast(None, jsii.invoke(self, "addCertIssuer", [name, provider]))
|
|
1184
|
+
|
|
1185
|
+
@jsii.member(jsii_name="addKey")
|
|
1186
|
+
def add_key(
|
|
1187
|
+
self,
|
|
1188
|
+
key_vault_key_name: builtins.str,
|
|
1189
|
+
key_type: builtins.str,
|
|
1190
|
+
key_size: jsii.Number,
|
|
1191
|
+
key_opts: typing.Sequence[builtins.str],
|
|
1192
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1193
|
+
) -> _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey:
|
|
1194
|
+
'''Creates a cryptographic key within the Azure Key Vault.
|
|
1195
|
+
|
|
1196
|
+
This method allows the creation of a cryptographic key of specified type and size within the Key Vault. The key can be
|
|
1197
|
+
configured with specific operations it can perform, such as encryption, decryption, signing, etc. An optional expiration
|
|
1198
|
+
date can also be set to control the key's lifecycle. This method is flexible, supporting various key types and sizes,
|
|
1199
|
+
making it suitable for a wide range of cryptographic needs.
|
|
1200
|
+
|
|
1201
|
+
:param key_vault_key_name: - The unique name for the cryptographic key within the Key Vault.
|
|
1202
|
+
:param key_type: - The type of cryptographic key to create (e.g., 'RSA', 'EC', 'oct-HSM').
|
|
1203
|
+
:param key_size: - The size of the cryptographic key in bits (e.g., 2048, 3072, 4096 for RSA).
|
|
1204
|
+
:param key_opts: - A list of cryptographic operations that the key is allowed to perform. Possible values might include 'encrypt', 'decrypt', 'sign', 'verify', 'wrapKey', 'unwrapKey'.
|
|
1205
|
+
:param expiration_date: - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ). If provided, the key will no longer be valid after this date, aligning with best practices for key management.
|
|
1206
|
+
|
|
1207
|
+
:return:
|
|
1208
|
+
|
|
1209
|
+
A KeyVaultKey object representing the newly created cryptographic key within the vault.
|
|
1210
|
+
|
|
1211
|
+
Example usage::
|
|
1212
|
+
|
|
1213
|
+
const myKey = vault.addKey(
|
|
1214
|
+
'myKey',
|
|
1215
|
+
'RSA',
|
|
1216
|
+
2048,
|
|
1217
|
+
['encrypt', 'decrypt', 'sign', 'verify'],
|
|
1218
|
+
'2030-12-31'
|
|
1219
|
+
);
|
|
1220
|
+
|
|
1221
|
+
This method returns the created KeyVaultKey object, enabling immediate use within the application for cryptographic operations.
|
|
1222
|
+
'''
|
|
1223
|
+
if __debug__:
|
|
1224
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aed59457372f0c3fa0801aa14cefea7ed0289f41e524d4ada63ecf06b1d232ed)
|
|
1225
|
+
check_type(argname="argument key_vault_key_name", value=key_vault_key_name, expected_type=type_hints["key_vault_key_name"])
|
|
1226
|
+
check_type(argname="argument key_type", value=key_type, expected_type=type_hints["key_type"])
|
|
1227
|
+
check_type(argname="argument key_size", value=key_size, expected_type=type_hints["key_size"])
|
|
1228
|
+
check_type(argname="argument key_opts", value=key_opts, expected_type=type_hints["key_opts"])
|
|
1229
|
+
check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
|
|
1230
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey, jsii.invoke(self, "addKey", [key_vault_key_name, key_type, key_size, key_opts, expiration_date]))
|
|
1231
|
+
|
|
1232
|
+
@jsii.member(jsii_name="addRSAKey")
|
|
1233
|
+
def add_rsa_key(
|
|
1234
|
+
self,
|
|
1235
|
+
key_vault_key_name: builtins.str,
|
|
1236
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1237
|
+
) -> _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey:
|
|
1238
|
+
'''Creates an RSA cryptographic key within the Azure Key Vault.
|
|
1239
|
+
|
|
1240
|
+
This method facilitates the creation of an RSA key, which is useful for a variety of cryptographic operations such as
|
|
1241
|
+
encryption, decryption, digital signature verification, and more. The RSA key created by this method is configurable
|
|
1242
|
+
with an optional expiration date and a default key size of 2048 bits. The key operations allowed include decryption,
|
|
1243
|
+
encryption, signing, verifying signatures, and key wrapping/unwrapping.
|
|
1244
|
+
|
|
1245
|
+
:param key_vault_key_name: - The unique name for the RSA key within the Key Vault.
|
|
1246
|
+
:param expiration_date: - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ). If provided, the key will no longer be valid after this date.
|
|
1247
|
+
|
|
1248
|
+
:return:
|
|
1249
|
+
|
|
1250
|
+
A KeyVaultKey object representing the newly created RSA key within the vault.
|
|
1251
|
+
|
|
1252
|
+
Example usage::
|
|
1253
|
+
|
|
1254
|
+
const rsaKey = vault.addRSAKey(
|
|
1255
|
+
'myRSAKey',
|
|
1256
|
+
'2030-01-01'
|
|
1257
|
+
);
|
|
1258
|
+
|
|
1259
|
+
This method returns the created KeyVaultKey object, allowing further operations or references to the key.
|
|
1260
|
+
'''
|
|
1261
|
+
if __debug__:
|
|
1262
|
+
type_hints = typing.get_type_hints(_typecheckingstub__44d7612c9814856bc1bdd84c9c10b3e85c32a5de1d4f059663ecd747493821c4)
|
|
1263
|
+
check_type(argname="argument key_vault_key_name", value=key_vault_key_name, expected_type=type_hints["key_vault_key_name"])
|
|
1264
|
+
check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
|
|
1265
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey, jsii.invoke(self, "addRSAKey", [key_vault_key_name, expiration_date]))
|
|
1266
|
+
|
|
1267
|
+
@jsii.member(jsii_name="addSecret")
|
|
1268
|
+
def add_secret(
|
|
1269
|
+
self,
|
|
1270
|
+
key_vault_secret_name: builtins.str,
|
|
1271
|
+
secret_value: builtins.str,
|
|
1272
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1273
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
1274
|
+
) -> None:
|
|
1275
|
+
'''Creates a new secret within the Azure Key Vault.
|
|
1276
|
+
|
|
1277
|
+
This method facilitates the storage of sensitive information in the form of a secret within the Key Vault.
|
|
1278
|
+
Secrets are protected items such as passwords, database connection strings, or any other piece of information
|
|
1279
|
+
that needs to be securely stored and accessed. This method allows setting additional properties such as
|
|
1280
|
+
expiration date and content type for better management and compliance.
|
|
1281
|
+
|
|
1282
|
+
:param key_vault_secret_name: - The unique name for the secret within the Key Vault.
|
|
1283
|
+
:param secret_value: - The sensitive information or data that needs to be securely stored as a secret.
|
|
1284
|
+
:param expiration_date: - Optional. The expiration date of the secret in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ). If provided, the secret will no longer be valid after this date.
|
|
1285
|
+
:param content_type: - Optional. A description of the type of information the secret contains (e.g., 'password', 'connectionString'). This can be used by applications to handle the secret appropriately. Example usage:: vault.addSecret( 'myDatabasePassword', 'p@ssw0rd123!', '2030-01-01', 'databasePassword' ); This method does not return a value. It creates a secret within the Key Vault with the specified properties.
|
|
1286
|
+
'''
|
|
1287
|
+
if __debug__:
|
|
1288
|
+
type_hints = typing.get_type_hints(_typecheckingstub__13221bb3d97d7c10cdc53b21cfc108150b47f04a58e6e97ff9ccd6e2c2a55d4b)
|
|
1289
|
+
check_type(argname="argument key_vault_secret_name", value=key_vault_secret_name, expected_type=type_hints["key_vault_secret_name"])
|
|
1290
|
+
check_type(argname="argument secret_value", value=secret_value, expected_type=type_hints["secret_value"])
|
|
1291
|
+
check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
|
|
1292
|
+
check_type(argname="argument content_type", value=content_type, expected_type=type_hints["content_type"])
|
|
1293
|
+
return typing.cast(None, jsii.invoke(self, "addSecret", [key_vault_secret_name, secret_value, expiration_date, content_type]))
|
|
1294
|
+
|
|
1295
|
+
@jsii.member(jsii_name="addSelfSignedCert")
|
|
1296
|
+
def add_self_signed_cert(
|
|
1297
|
+
self,
|
|
1298
|
+
cert_name: builtins.str,
|
|
1299
|
+
subject: builtins.str,
|
|
1300
|
+
dns_names: typing.Sequence[builtins.str],
|
|
1301
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
1302
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
1303
|
+
) -> _cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate:
|
|
1304
|
+
'''Creates a self-signed certificate within the Azure Key Vault.
|
|
1305
|
+
|
|
1306
|
+
This method facilitates the creation of a self-signed certificate, which is a digital certificate that is signed by
|
|
1307
|
+
its own creator rather than a trusted authority. Self-signed certificates can be useful for testing, internal
|
|
1308
|
+
communications, or any scenario where public trust is not required. The method allows specifying subject details,
|
|
1309
|
+
DNS names for the certificate, and managing its lifecycle with action types and expiry.
|
|
1310
|
+
|
|
1311
|
+
:param cert_name: - The unique name for the certificate within the Key Vault.
|
|
1312
|
+
:param subject: - The subject name of the certificate, typically formatted as an X.500 Distinguished Name (e.g., "CN=example.com").
|
|
1313
|
+
:param dns_names: - An array of DNS names that should be associated with this certificate. This is useful for certificates that need to be valid for multiple hostnames.
|
|
1314
|
+
:param action_type: - Optional. Specifies the action to be performed with the certificate, such as 'create' or 'renew'.
|
|
1315
|
+
:param days_before_expiry: - Optional. Number of days before expiry when an action should be taken, useful for auto-renewal scenarios.
|
|
1316
|
+
|
|
1317
|
+
:return:
|
|
1318
|
+
|
|
1319
|
+
A KeyVaultCertificate object representing the newly created self-signed certificate.
|
|
1320
|
+
|
|
1321
|
+
Example usage::
|
|
1322
|
+
|
|
1323
|
+
const myCertificate = vault.addSelfSignedCert(
|
|
1324
|
+
'myCert',
|
|
1325
|
+
'CN=mydomain.com',
|
|
1326
|
+
['mydomain.com', 'www.mydomain.com'],
|
|
1327
|
+
'create',
|
|
1328
|
+
30
|
|
1329
|
+
);
|
|
1330
|
+
|
|
1331
|
+
This method returns the KeyVaultCertificate object, enabling it to be used immediately within the application or stored for future use.
|
|
1332
|
+
'''
|
|
1333
|
+
if __debug__:
|
|
1334
|
+
type_hints = typing.get_type_hints(_typecheckingstub__bb532d7f4c3c84e1e56fae08e207d5a6fbf5e8ee1ba3c7a9c6b13b42ddf77b3f)
|
|
1335
|
+
check_type(argname="argument cert_name", value=cert_name, expected_type=type_hints["cert_name"])
|
|
1336
|
+
check_type(argname="argument subject", value=subject, expected_type=type_hints["subject"])
|
|
1337
|
+
check_type(argname="argument dns_names", value=dns_names, expected_type=type_hints["dns_names"])
|
|
1338
|
+
check_type(argname="argument action_type", value=action_type, expected_type=type_hints["action_type"])
|
|
1339
|
+
check_type(argname="argument days_before_expiry", value=days_before_expiry, expected_type=type_hints["days_before_expiry"])
|
|
1340
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate, jsii.invoke(self, "addSelfSignedCert", [cert_name, subject, dns_names, action_type, days_before_expiry]))
|
|
1341
|
+
|
|
1342
|
+
@jsii.member(jsii_name="grantCertAdminAccess")
|
|
1343
|
+
def grant_cert_admin_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1344
|
+
'''Grants administrative access to certificates stored in the Key Vault to a specified Azure AD group.
|
|
1345
|
+
|
|
1346
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive administrative access to certificates.
|
|
1347
|
+
'''
|
|
1348
|
+
if __debug__:
|
|
1349
|
+
type_hints = typing.get_type_hints(_typecheckingstub__73641a86765e12eff8779da1e3d696365f687b93c56fe402482b12aa728e9244)
|
|
1350
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1351
|
+
return typing.cast(None, jsii.invoke(self, "grantCertAdminAccess", [azure_ad_group_id]))
|
|
1352
|
+
|
|
1353
|
+
@jsii.member(jsii_name="grantCertReaderAccess")
|
|
1354
|
+
def grant_cert_reader_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1355
|
+
'''Grants read-only access to certificates stored in the Key Vault to a specified Azure AD group.
|
|
1356
|
+
|
|
1357
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive read access to certificates.
|
|
1358
|
+
'''
|
|
1359
|
+
if __debug__:
|
|
1360
|
+
type_hints = typing.get_type_hints(_typecheckingstub__17b8add7190d8d64361a0ac3cc23e32fa47351b032f69b181322896dba5f7acc)
|
|
1361
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1362
|
+
return typing.cast(None, jsii.invoke(self, "grantCertReaderAccess", [azure_ad_group_id]))
|
|
1363
|
+
|
|
1364
|
+
@jsii.member(jsii_name="grantCustomAccess")
|
|
1365
|
+
def grant_custom_access(
|
|
1366
|
+
self,
|
|
1367
|
+
azure_ad_group_id: builtins.str,
|
|
1368
|
+
*,
|
|
1369
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1370
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1371
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1372
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1373
|
+
) -> None:
|
|
1374
|
+
'''Grants custom access based on specified options to an Azure AD group in the Key Vault.
|
|
1375
|
+
|
|
1376
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive the custom access.
|
|
1377
|
+
:param certificate_permissions: Optional: A list of permissions to grant for certificates in the Key Vault. Example permissions include 'get', 'list', 'create', 'delete', etc.
|
|
1378
|
+
:param key_permissions: Optional: A list of permissions to grant for keys in the Key Vault. Example permissions include 'encrypt', 'decrypt', 'wrapKey', 'unwrapKey', etc.
|
|
1379
|
+
:param secret_permissions: Optional: A list of permissions to grant for secrets in the Key Vault. Example permissions include 'get', 'list', 'set', 'delete', etc.
|
|
1380
|
+
:param storage_permissions: Optional: A list of permissions to grant for storage accounts in the Key Vault. Example permissions include 'get', 'list', 'delete', 'set', 'update', etc.
|
|
1381
|
+
'''
|
|
1382
|
+
if __debug__:
|
|
1383
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d0c3ff9e135caf120495df7de38fe2e782a7a0248c74e21ee768c7f682223dfb)
|
|
1384
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1385
|
+
options = GrantCustomAccessOptions(
|
|
1386
|
+
certificate_permissions=certificate_permissions,
|
|
1387
|
+
key_permissions=key_permissions,
|
|
1388
|
+
secret_permissions=secret_permissions,
|
|
1389
|
+
storage_permissions=storage_permissions,
|
|
1390
|
+
)
|
|
1391
|
+
|
|
1392
|
+
return typing.cast(None, jsii.invoke(self, "grantCustomAccess", [azure_ad_group_id, options]))
|
|
1393
|
+
|
|
1394
|
+
@jsii.member(jsii_name="grantKeyAdminAccess")
|
|
1395
|
+
def grant_key_admin_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1396
|
+
'''Grants administrative access to keys stored in the Key Vault to a specified Azure AD group.
|
|
1397
|
+
|
|
1398
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive administrative access to keys.
|
|
1399
|
+
'''
|
|
1400
|
+
if __debug__:
|
|
1401
|
+
type_hints = typing.get_type_hints(_typecheckingstub__68ff32d57ec319a01c35a0940b03a2e4562a7bc6050cb8010ab4c18e7f3c21f8)
|
|
1402
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1403
|
+
return typing.cast(None, jsii.invoke(self, "grantKeyAdminAccess", [azure_ad_group_id]))
|
|
1404
|
+
|
|
1405
|
+
@jsii.member(jsii_name="grantKeyReaderAccess")
|
|
1406
|
+
def grant_key_reader_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1407
|
+
'''Grants read-only access to keys stored in the Key Vault to a specified Azure AD group.
|
|
1408
|
+
|
|
1409
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive read access to keys.
|
|
1410
|
+
'''
|
|
1411
|
+
if __debug__:
|
|
1412
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d4a4fc98889d3ac21c14e506fcf1ccaa72d368be01047ce9db0e55862ca29561)
|
|
1413
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1414
|
+
return typing.cast(None, jsii.invoke(self, "grantKeyReaderAccess", [azure_ad_group_id]))
|
|
1415
|
+
|
|
1416
|
+
@jsii.member(jsii_name="grantSecretAdminAccess")
|
|
1417
|
+
def grant_secret_admin_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1418
|
+
'''Grants administrative access to secrets stored in the Key Vault to a specified Azure AD group.
|
|
1419
|
+
|
|
1420
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive administrative access to secrets.
|
|
1421
|
+
'''
|
|
1422
|
+
if __debug__:
|
|
1423
|
+
type_hints = typing.get_type_hints(_typecheckingstub__28c5dd3f8478b3fd3664ab3e6a2c52820e7de6333255d890ba903c13839c3fd7)
|
|
1424
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1425
|
+
return typing.cast(None, jsii.invoke(self, "grantSecretAdminAccess", [azure_ad_group_id]))
|
|
1426
|
+
|
|
1427
|
+
@jsii.member(jsii_name="grantSecretReaderAccess")
|
|
1428
|
+
def grant_secret_reader_access(self, azure_ad_group_id: builtins.str) -> None:
|
|
1429
|
+
'''Grants read-only access to secrets stored in the Key Vault to a specified Azure AD group.
|
|
1430
|
+
|
|
1431
|
+
:param azure_ad_group_id: - The Azure Active Directory group ID that will receive read access to secrets.
|
|
1432
|
+
'''
|
|
1433
|
+
if __debug__:
|
|
1434
|
+
type_hints = typing.get_type_hints(_typecheckingstub__55000ecd371e9c22c7bc145e3c409a38b61720185c5c1d6c9278b5a6413d0696)
|
|
1435
|
+
check_type(argname="argument azure_ad_group_id", value=azure_ad_group_id, expected_type=type_hints["azure_ad_group_id"])
|
|
1436
|
+
return typing.cast(None, jsii.invoke(self, "grantSecretReaderAccess", [azure_ad_group_id]))
|
|
1437
|
+
|
|
1438
|
+
@builtins.property
|
|
1439
|
+
@jsii.member(jsii_name="props")
|
|
1440
|
+
def props(self) -> "VaultProps":
|
|
1441
|
+
return typing.cast("VaultProps", jsii.get(self, "props"))
|
|
1442
|
+
|
|
1443
|
+
@builtins.property
|
|
1444
|
+
@jsii.member(jsii_name="id")
|
|
1445
|
+
def id(self) -> builtins.str:
|
|
1446
|
+
return typing.cast(builtins.str, jsii.get(self, "id"))
|
|
1447
|
+
|
|
1448
|
+
@id.setter
|
|
1449
|
+
def id(self, value: builtins.str) -> None:
|
|
1450
|
+
if __debug__:
|
|
1451
|
+
type_hints = typing.get_type_hints(_typecheckingstub__132293293bc0a019bee63752d4f9c262c329d1d96c14ed0ab713e57d97de3356)
|
|
1452
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1453
|
+
jsii.set(self, "id", value)
|
|
1454
|
+
|
|
1455
|
+
@builtins.property
|
|
1456
|
+
@jsii.member(jsii_name="keyVault")
|
|
1457
|
+
def key_vault(self) -> _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault:
|
|
1458
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault, jsii.get(self, "keyVault"))
|
|
1459
|
+
|
|
1460
|
+
@key_vault.setter
|
|
1461
|
+
def key_vault(
|
|
1462
|
+
self,
|
|
1463
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault,
|
|
1464
|
+
) -> None:
|
|
1465
|
+
if __debug__:
|
|
1466
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3b8adbdb4ccba13cd1fcc80c3a5121a26274d2437c1bb9959fa209488f098e78)
|
|
1467
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1468
|
+
jsii.set(self, "keyVault", value)
|
|
1469
|
+
|
|
1470
|
+
@builtins.property
|
|
1471
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
1472
|
+
def resource_group(
|
|
1473
|
+
self,
|
|
1474
|
+
) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
|
|
1475
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
|
|
1476
|
+
|
|
1477
|
+
@resource_group.setter
|
|
1478
|
+
def resource_group(
|
|
1479
|
+
self,
|
|
1480
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
1481
|
+
) -> None:
|
|
1482
|
+
if __debug__:
|
|
1483
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8d02ea52264d9dfc8cc494f7817103a21aa112c5ddf9274911b6c025d63b47b1)
|
|
1484
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1485
|
+
jsii.set(self, "resourceGroup", value)
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
@jsii.data_type(
|
|
1489
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_keyvault.VaultProps",
|
|
1490
|
+
jsii_struct_bases=[],
|
|
1491
|
+
name_mapping={
|
|
1492
|
+
"location": "location",
|
|
1493
|
+
"name": "name",
|
|
1494
|
+
"tenant_id": "tenantId",
|
|
1495
|
+
"network_acls": "networkAcls",
|
|
1496
|
+
"purge_protection": "purgeProtection",
|
|
1497
|
+
"resource_group": "resourceGroup",
|
|
1498
|
+
"sku": "sku",
|
|
1499
|
+
"soft_delete_retention_days": "softDeleteRetentionDays",
|
|
1500
|
+
"tags": "tags",
|
|
1501
|
+
},
|
|
1502
|
+
)
|
|
1503
|
+
class VaultProps:
|
|
1504
|
+
def __init__(
|
|
1505
|
+
self,
|
|
1506
|
+
*,
|
|
1507
|
+
location: builtins.str,
|
|
1508
|
+
name: builtins.str,
|
|
1509
|
+
tenant_id: builtins.str,
|
|
1510
|
+
network_acls: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1511
|
+
purge_protection: typing.Optional[builtins.bool] = None,
|
|
1512
|
+
resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
|
|
1513
|
+
sku: typing.Optional[builtins.str] = None,
|
|
1514
|
+
soft_delete_retention_days: typing.Optional[jsii.Number] = None,
|
|
1515
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1516
|
+
) -> None:
|
|
1517
|
+
'''
|
|
1518
|
+
:param location: The Azure Region to deploy the Key Vault.
|
|
1519
|
+
:param name: The name of the Key Vault.
|
|
1520
|
+
:param tenant_id: The Name of the SKU used for this Key Vault. Possible values are standard and premium.
|
|
1521
|
+
:param network_acls: The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.
|
|
1522
|
+
:param purge_protection: A map of IP network ACL rules. The key is the IP or IP range in CIDR notation. The value is a description of that IP range.
|
|
1523
|
+
:param resource_group: An optional reference to the resource group in which to deploy the Key Vault. If not provided, the Key Vault will be deployed in the default resource group.
|
|
1524
|
+
:param sku: The tags to assign to the Key Vault.
|
|
1525
|
+
:param soft_delete_retention_days: Specifies whether protection against purge is enabled for this Key Vault. Setting this property to true activates protection against deletion of any active key, secret or certificate in the vault. The setting is effective only if soft delete is also enabled. The default value is false. Once activated, the property cannot be reverted to false.
|
|
1526
|
+
:param tags: The tags to assign to the Key Vault.
|
|
1527
|
+
'''
|
|
1528
|
+
if isinstance(network_acls, dict):
|
|
1529
|
+
network_acls = _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls(**network_acls)
|
|
1530
|
+
if __debug__:
|
|
1531
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d60e7a7b69f9363156af0a1f5cf4a395b5df716c2f7327f2030a8e6a84ad4da5)
|
|
1532
|
+
check_type(argname="argument location", value=location, expected_type=type_hints["location"])
|
|
1533
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
1534
|
+
check_type(argname="argument tenant_id", value=tenant_id, expected_type=type_hints["tenant_id"])
|
|
1535
|
+
check_type(argname="argument network_acls", value=network_acls, expected_type=type_hints["network_acls"])
|
|
1536
|
+
check_type(argname="argument purge_protection", value=purge_protection, expected_type=type_hints["purge_protection"])
|
|
1537
|
+
check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
|
|
1538
|
+
check_type(argname="argument sku", value=sku, expected_type=type_hints["sku"])
|
|
1539
|
+
check_type(argname="argument soft_delete_retention_days", value=soft_delete_retention_days, expected_type=type_hints["soft_delete_retention_days"])
|
|
1540
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
1541
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1542
|
+
"location": location,
|
|
1543
|
+
"name": name,
|
|
1544
|
+
"tenant_id": tenant_id,
|
|
1545
|
+
}
|
|
1546
|
+
if network_acls is not None:
|
|
1547
|
+
self._values["network_acls"] = network_acls
|
|
1548
|
+
if purge_protection is not None:
|
|
1549
|
+
self._values["purge_protection"] = purge_protection
|
|
1550
|
+
if resource_group is not None:
|
|
1551
|
+
self._values["resource_group"] = resource_group
|
|
1552
|
+
if sku is not None:
|
|
1553
|
+
self._values["sku"] = sku
|
|
1554
|
+
if soft_delete_retention_days is not None:
|
|
1555
|
+
self._values["soft_delete_retention_days"] = soft_delete_retention_days
|
|
1556
|
+
if tags is not None:
|
|
1557
|
+
self._values["tags"] = tags
|
|
1558
|
+
|
|
1559
|
+
@builtins.property
|
|
1560
|
+
def location(self) -> builtins.str:
|
|
1561
|
+
'''The Azure Region to deploy the Key Vault.'''
|
|
1562
|
+
result = self._values.get("location")
|
|
1563
|
+
assert result is not None, "Required property 'location' is missing"
|
|
1564
|
+
return typing.cast(builtins.str, result)
|
|
1565
|
+
|
|
1566
|
+
@builtins.property
|
|
1567
|
+
def name(self) -> builtins.str:
|
|
1568
|
+
'''The name of the Key Vault.'''
|
|
1569
|
+
result = self._values.get("name")
|
|
1570
|
+
assert result is not None, "Required property 'name' is missing"
|
|
1571
|
+
return typing.cast(builtins.str, result)
|
|
1572
|
+
|
|
1573
|
+
@builtins.property
|
|
1574
|
+
def tenant_id(self) -> builtins.str:
|
|
1575
|
+
'''The Name of the SKU used for this Key Vault.
|
|
1576
|
+
|
|
1577
|
+
Possible values are standard and premium.
|
|
1578
|
+
'''
|
|
1579
|
+
result = self._values.get("tenant_id")
|
|
1580
|
+
assert result is not None, "Required property 'tenant_id' is missing"
|
|
1581
|
+
return typing.cast(builtins.str, result)
|
|
1582
|
+
|
|
1583
|
+
@builtins.property
|
|
1584
|
+
def network_acls(
|
|
1585
|
+
self,
|
|
1586
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls]:
|
|
1587
|
+
'''The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault.'''
|
|
1588
|
+
result = self._values.get("network_acls")
|
|
1589
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls], result)
|
|
1590
|
+
|
|
1591
|
+
@builtins.property
|
|
1592
|
+
def purge_protection(self) -> typing.Optional[builtins.bool]:
|
|
1593
|
+
'''A map of IP network ACL rules.
|
|
1594
|
+
|
|
1595
|
+
The key is the IP or IP range in CIDR notation.
|
|
1596
|
+
The value is a description of that IP range.
|
|
1597
|
+
'''
|
|
1598
|
+
result = self._values.get("purge_protection")
|
|
1599
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1600
|
+
|
|
1601
|
+
@builtins.property
|
|
1602
|
+
def resource_group(
|
|
1603
|
+
self,
|
|
1604
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
|
|
1605
|
+
'''An optional reference to the resource group in which to deploy the Key Vault.
|
|
1606
|
+
|
|
1607
|
+
If not provided, the Key Vault will be deployed in the default resource group.
|
|
1608
|
+
'''
|
|
1609
|
+
result = self._values.get("resource_group")
|
|
1610
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
|
|
1611
|
+
|
|
1612
|
+
@builtins.property
|
|
1613
|
+
def sku(self) -> typing.Optional[builtins.str]:
|
|
1614
|
+
'''The tags to assign to the Key Vault.'''
|
|
1615
|
+
result = self._values.get("sku")
|
|
1616
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1617
|
+
|
|
1618
|
+
@builtins.property
|
|
1619
|
+
def soft_delete_retention_days(self) -> typing.Optional[jsii.Number]:
|
|
1620
|
+
'''Specifies whether protection against purge is enabled for this Key Vault.
|
|
1621
|
+
|
|
1622
|
+
Setting this property to true activates protection against deletion of any active key, secret or certificate in the vault. The setting is effective only if soft delete is also enabled. The default value is false.
|
|
1623
|
+
Once activated, the property cannot be reverted to false.
|
|
1624
|
+
'''
|
|
1625
|
+
result = self._values.get("soft_delete_retention_days")
|
|
1626
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1627
|
+
|
|
1628
|
+
@builtins.property
|
|
1629
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
1630
|
+
'''The tags to assign to the Key Vault.'''
|
|
1631
|
+
result = self._values.get("tags")
|
|
1632
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
1633
|
+
|
|
1634
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1635
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1636
|
+
|
|
1637
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1638
|
+
return not (rhs == self)
|
|
1639
|
+
|
|
1640
|
+
def __repr__(self) -> str:
|
|
1641
|
+
return "VaultProps(%s)" % ", ".join(
|
|
1642
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1643
|
+
)
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
__all__ = [
|
|
1647
|
+
"AccessPolicy",
|
|
1648
|
+
"AccessPolicyProps",
|
|
1649
|
+
"CertificateIssuer",
|
|
1650
|
+
"CertificateIssuerProps",
|
|
1651
|
+
"GrantCustomAccessOptions",
|
|
1652
|
+
"Key",
|
|
1653
|
+
"KeyProps",
|
|
1654
|
+
"Secret",
|
|
1655
|
+
"SecretProps",
|
|
1656
|
+
"SelfSignedCertificate",
|
|
1657
|
+
"SelfSignedCertificateProps",
|
|
1658
|
+
"Vault",
|
|
1659
|
+
"VaultProps",
|
|
1660
|
+
]
|
|
1661
|
+
|
|
1662
|
+
publication.publish()
|
|
1663
|
+
|
|
1664
|
+
def _typecheckingstub__fd7fc0b79a19acf1e5e94e93e6997a8d5f2b15e90adea376529cae5a756db705(
|
|
1665
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1666
|
+
id: builtins.str,
|
|
1667
|
+
*,
|
|
1668
|
+
key_vault_id: Vault,
|
|
1669
|
+
object_id: builtins.str,
|
|
1670
|
+
tenant_id: builtins.str,
|
|
1671
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1672
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1673
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1674
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1675
|
+
) -> None:
|
|
1676
|
+
"""Type checking stubs"""
|
|
1677
|
+
pass
|
|
1678
|
+
|
|
1679
|
+
def _typecheckingstub__5cfe410d8def41b97bf697999052e8eae3ba4691c72f03f9db1d7275baf6ed07(
|
|
1680
|
+
*,
|
|
1681
|
+
key_vault_id: Vault,
|
|
1682
|
+
object_id: builtins.str,
|
|
1683
|
+
tenant_id: builtins.str,
|
|
1684
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1685
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1686
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1687
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1688
|
+
) -> None:
|
|
1689
|
+
"""Type checking stubs"""
|
|
1690
|
+
pass
|
|
1691
|
+
|
|
1692
|
+
def _typecheckingstub__0fd1d912631fc8dde1a769566e3ea99baf2954d0af16be561aae29ad55ace25b(
|
|
1693
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1694
|
+
id: builtins.str,
|
|
1695
|
+
*,
|
|
1696
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1697
|
+
key_vault_id: Vault,
|
|
1698
|
+
name: builtins.str,
|
|
1699
|
+
provider_name: builtins.str,
|
|
1700
|
+
password: typing.Optional[builtins.str] = None,
|
|
1701
|
+
username: typing.Optional[builtins.str] = None,
|
|
1702
|
+
) -> None:
|
|
1703
|
+
"""Type checking stubs"""
|
|
1704
|
+
pass
|
|
1705
|
+
|
|
1706
|
+
def _typecheckingstub__5040b69059943a548e408c33cf899a9e5cd1230fcfac175e830c76b10642f504(
|
|
1707
|
+
*,
|
|
1708
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1709
|
+
key_vault_id: Vault,
|
|
1710
|
+
name: builtins.str,
|
|
1711
|
+
provider_name: builtins.str,
|
|
1712
|
+
password: typing.Optional[builtins.str] = None,
|
|
1713
|
+
username: typing.Optional[builtins.str] = None,
|
|
1714
|
+
) -> None:
|
|
1715
|
+
"""Type checking stubs"""
|
|
1716
|
+
pass
|
|
1717
|
+
|
|
1718
|
+
def _typecheckingstub__3436fd84bf104b1bc8cd30d3eb2faadc0f58a40d1eabbb47d487be7507134cd7(
|
|
1719
|
+
*,
|
|
1720
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1721
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1722
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1723
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1724
|
+
) -> None:
|
|
1725
|
+
"""Type checking stubs"""
|
|
1726
|
+
pass
|
|
1727
|
+
|
|
1728
|
+
def _typecheckingstub__764ad04fbd1fc7abfe91c3ca71a3f0df1b038969bfda7c952f3021ce45b03094(
|
|
1729
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1730
|
+
id: builtins.str,
|
|
1731
|
+
*,
|
|
1732
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1733
|
+
key_opts: typing.Sequence[builtins.str],
|
|
1734
|
+
key_type: builtins.str,
|
|
1735
|
+
key_vault_id: Vault,
|
|
1736
|
+
name: builtins.str,
|
|
1737
|
+
expires: typing.Optional[builtins.str] = None,
|
|
1738
|
+
key_size: typing.Optional[jsii.Number] = None,
|
|
1739
|
+
rotation_policy: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1740
|
+
) -> None:
|
|
1741
|
+
"""Type checking stubs"""
|
|
1742
|
+
pass
|
|
1743
|
+
|
|
1744
|
+
def _typecheckingstub__1f2906c60b67daeedd0649a513a69c7c29965637edc934b937264e3d9e84d21f(
|
|
1745
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKey,
|
|
1746
|
+
) -> None:
|
|
1747
|
+
"""Type checking stubs"""
|
|
1748
|
+
pass
|
|
1749
|
+
|
|
1750
|
+
def _typecheckingstub__995ed0d726015be1e472d81cda4bb9836358aa4c155e115c8314614e4171b257(
|
|
1751
|
+
*,
|
|
1752
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1753
|
+
key_opts: typing.Sequence[builtins.str],
|
|
1754
|
+
key_type: builtins.str,
|
|
1755
|
+
key_vault_id: Vault,
|
|
1756
|
+
name: builtins.str,
|
|
1757
|
+
expires: typing.Optional[builtins.str] = None,
|
|
1758
|
+
key_size: typing.Optional[jsii.Number] = None,
|
|
1759
|
+
rotation_policy: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_key_92bbcedf.KeyVaultKeyRotationPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1760
|
+
) -> None:
|
|
1761
|
+
"""Type checking stubs"""
|
|
1762
|
+
pass
|
|
1763
|
+
|
|
1764
|
+
def _typecheckingstub__c78df4e95e03e93ef044f647b9b99dcad3c39f1844594b182e977b52617317f7(
|
|
1765
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1766
|
+
id: builtins.str,
|
|
1767
|
+
*,
|
|
1768
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1769
|
+
key_vault_id: Vault,
|
|
1770
|
+
name: builtins.str,
|
|
1771
|
+
value: builtins.str,
|
|
1772
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
1773
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1774
|
+
) -> None:
|
|
1775
|
+
"""Type checking stubs"""
|
|
1776
|
+
pass
|
|
1777
|
+
|
|
1778
|
+
def _typecheckingstub__000957c0b227f3cb3e6b4710c4ff0c1439839536ed2dd1e6444c6440ae47007c(
|
|
1779
|
+
value: builtins.str,
|
|
1780
|
+
) -> None:
|
|
1781
|
+
"""Type checking stubs"""
|
|
1782
|
+
pass
|
|
1783
|
+
|
|
1784
|
+
def _typecheckingstub__0d36fbfdf3b4d23e5fe773f0713f10351c70db1fa84f549499f9d58b8ed1ee3f(
|
|
1785
|
+
*,
|
|
1786
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1787
|
+
key_vault_id: Vault,
|
|
1788
|
+
name: builtins.str,
|
|
1789
|
+
value: builtins.str,
|
|
1790
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
1791
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1792
|
+
) -> None:
|
|
1793
|
+
"""Type checking stubs"""
|
|
1794
|
+
pass
|
|
1795
|
+
|
|
1796
|
+
def _typecheckingstub__4f2fd11aff992ca62fdb1d32287ac5e70f490e423a8220d0fd8b93f168423e61(
|
|
1797
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1798
|
+
id: builtins.str,
|
|
1799
|
+
*,
|
|
1800
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1801
|
+
dns_names: typing.Sequence[builtins.str],
|
|
1802
|
+
key_vault_id: Vault,
|
|
1803
|
+
name: builtins.str,
|
|
1804
|
+
subject: builtins.str,
|
|
1805
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
1806
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
1807
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1808
|
+
) -> None:
|
|
1809
|
+
"""Type checking stubs"""
|
|
1810
|
+
pass
|
|
1811
|
+
|
|
1812
|
+
def _typecheckingstub__7bcfe32dfda0bfcd75c9886c46d00ae6fe55b59fe44815138f1c45bade1a9a50(
|
|
1813
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_certificate_92bbcedf.KeyVaultCertificate,
|
|
1814
|
+
) -> None:
|
|
1815
|
+
"""Type checking stubs"""
|
|
1816
|
+
pass
|
|
1817
|
+
|
|
1818
|
+
def _typecheckingstub__8a7832291886fb9d0860c4fe02c693ab9a897d39b628a7dbe1eda21608cd7bbf(
|
|
1819
|
+
value: builtins.str,
|
|
1820
|
+
) -> None:
|
|
1821
|
+
"""Type checking stubs"""
|
|
1822
|
+
pass
|
|
1823
|
+
|
|
1824
|
+
def _typecheckingstub__d9590e40faef06e65b262dcbee4614c369cb45c54a88a331ceaf27f397ea5dba(
|
|
1825
|
+
value: builtins.str,
|
|
1826
|
+
) -> None:
|
|
1827
|
+
"""Type checking stubs"""
|
|
1828
|
+
pass
|
|
1829
|
+
|
|
1830
|
+
def _typecheckingstub__0e1a75ff875f51795d8bc81864b6795d51c7ecac35b8f6a4b8aea44373ec77ea(
|
|
1831
|
+
*,
|
|
1832
|
+
access_policies: typing.Sequence[AccessPolicy],
|
|
1833
|
+
dns_names: typing.Sequence[builtins.str],
|
|
1834
|
+
key_vault_id: Vault,
|
|
1835
|
+
name: builtins.str,
|
|
1836
|
+
subject: builtins.str,
|
|
1837
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
1838
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
1839
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1840
|
+
) -> None:
|
|
1841
|
+
"""Type checking stubs"""
|
|
1842
|
+
pass
|
|
1843
|
+
|
|
1844
|
+
def _typecheckingstub__917170a8774b61cb3259bde0d15c6881a93b9cdffe2a33390469fe5c8a9e2a05(
|
|
1845
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1846
|
+
id: builtins.str,
|
|
1847
|
+
*,
|
|
1848
|
+
location: builtins.str,
|
|
1849
|
+
name: builtins.str,
|
|
1850
|
+
tenant_id: builtins.str,
|
|
1851
|
+
network_acls: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1852
|
+
purge_protection: typing.Optional[builtins.bool] = None,
|
|
1853
|
+
resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
|
|
1854
|
+
sku: typing.Optional[builtins.str] = None,
|
|
1855
|
+
soft_delete_retention_days: typing.Optional[jsii.Number] = None,
|
|
1856
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1857
|
+
) -> None:
|
|
1858
|
+
"""Type checking stubs"""
|
|
1859
|
+
pass
|
|
1860
|
+
|
|
1861
|
+
def _typecheckingstub__b2f2c045bea927ac556e9d63c71e26ab25277d8da73f00083296262c6f2b0d08(
|
|
1862
|
+
name: builtins.str,
|
|
1863
|
+
provider: builtins.str,
|
|
1864
|
+
) -> None:
|
|
1865
|
+
"""Type checking stubs"""
|
|
1866
|
+
pass
|
|
1867
|
+
|
|
1868
|
+
def _typecheckingstub__aed59457372f0c3fa0801aa14cefea7ed0289f41e524d4ada63ecf06b1d232ed(
|
|
1869
|
+
key_vault_key_name: builtins.str,
|
|
1870
|
+
key_type: builtins.str,
|
|
1871
|
+
key_size: jsii.Number,
|
|
1872
|
+
key_opts: typing.Sequence[builtins.str],
|
|
1873
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1874
|
+
) -> None:
|
|
1875
|
+
"""Type checking stubs"""
|
|
1876
|
+
pass
|
|
1877
|
+
|
|
1878
|
+
def _typecheckingstub__44d7612c9814856bc1bdd84c9c10b3e85c32a5de1d4f059663ecd747493821c4(
|
|
1879
|
+
key_vault_key_name: builtins.str,
|
|
1880
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1881
|
+
) -> None:
|
|
1882
|
+
"""Type checking stubs"""
|
|
1883
|
+
pass
|
|
1884
|
+
|
|
1885
|
+
def _typecheckingstub__13221bb3d97d7c10cdc53b21cfc108150b47f04a58e6e97ff9ccd6e2c2a55d4b(
|
|
1886
|
+
key_vault_secret_name: builtins.str,
|
|
1887
|
+
secret_value: builtins.str,
|
|
1888
|
+
expiration_date: typing.Optional[builtins.str] = None,
|
|
1889
|
+
content_type: typing.Optional[builtins.str] = None,
|
|
1890
|
+
) -> None:
|
|
1891
|
+
"""Type checking stubs"""
|
|
1892
|
+
pass
|
|
1893
|
+
|
|
1894
|
+
def _typecheckingstub__bb532d7f4c3c84e1e56fae08e207d5a6fbf5e8ee1ba3c7a9c6b13b42ddf77b3f(
|
|
1895
|
+
cert_name: builtins.str,
|
|
1896
|
+
subject: builtins.str,
|
|
1897
|
+
dns_names: typing.Sequence[builtins.str],
|
|
1898
|
+
action_type: typing.Optional[builtins.str] = None,
|
|
1899
|
+
days_before_expiry: typing.Optional[jsii.Number] = None,
|
|
1900
|
+
) -> None:
|
|
1901
|
+
"""Type checking stubs"""
|
|
1902
|
+
pass
|
|
1903
|
+
|
|
1904
|
+
def _typecheckingstub__73641a86765e12eff8779da1e3d696365f687b93c56fe402482b12aa728e9244(
|
|
1905
|
+
azure_ad_group_id: builtins.str,
|
|
1906
|
+
) -> None:
|
|
1907
|
+
"""Type checking stubs"""
|
|
1908
|
+
pass
|
|
1909
|
+
|
|
1910
|
+
def _typecheckingstub__17b8add7190d8d64361a0ac3cc23e32fa47351b032f69b181322896dba5f7acc(
|
|
1911
|
+
azure_ad_group_id: builtins.str,
|
|
1912
|
+
) -> None:
|
|
1913
|
+
"""Type checking stubs"""
|
|
1914
|
+
pass
|
|
1915
|
+
|
|
1916
|
+
def _typecheckingstub__d0c3ff9e135caf120495df7de38fe2e782a7a0248c74e21ee768c7f682223dfb(
|
|
1917
|
+
azure_ad_group_id: builtins.str,
|
|
1918
|
+
*,
|
|
1919
|
+
certificate_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1920
|
+
key_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1921
|
+
secret_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1922
|
+
storage_permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1923
|
+
) -> None:
|
|
1924
|
+
"""Type checking stubs"""
|
|
1925
|
+
pass
|
|
1926
|
+
|
|
1927
|
+
def _typecheckingstub__68ff32d57ec319a01c35a0940b03a2e4562a7bc6050cb8010ab4c18e7f3c21f8(
|
|
1928
|
+
azure_ad_group_id: builtins.str,
|
|
1929
|
+
) -> None:
|
|
1930
|
+
"""Type checking stubs"""
|
|
1931
|
+
pass
|
|
1932
|
+
|
|
1933
|
+
def _typecheckingstub__d4a4fc98889d3ac21c14e506fcf1ccaa72d368be01047ce9db0e55862ca29561(
|
|
1934
|
+
azure_ad_group_id: builtins.str,
|
|
1935
|
+
) -> None:
|
|
1936
|
+
"""Type checking stubs"""
|
|
1937
|
+
pass
|
|
1938
|
+
|
|
1939
|
+
def _typecheckingstub__28c5dd3f8478b3fd3664ab3e6a2c52820e7de6333255d890ba903c13839c3fd7(
|
|
1940
|
+
azure_ad_group_id: builtins.str,
|
|
1941
|
+
) -> None:
|
|
1942
|
+
"""Type checking stubs"""
|
|
1943
|
+
pass
|
|
1944
|
+
|
|
1945
|
+
def _typecheckingstub__55000ecd371e9c22c7bc145e3c409a38b61720185c5c1d6c9278b5a6413d0696(
|
|
1946
|
+
azure_ad_group_id: builtins.str,
|
|
1947
|
+
) -> None:
|
|
1948
|
+
"""Type checking stubs"""
|
|
1949
|
+
pass
|
|
1950
|
+
|
|
1951
|
+
def _typecheckingstub__132293293bc0a019bee63752d4f9c262c329d1d96c14ed0ab713e57d97de3356(
|
|
1952
|
+
value: builtins.str,
|
|
1953
|
+
) -> None:
|
|
1954
|
+
"""Type checking stubs"""
|
|
1955
|
+
pass
|
|
1956
|
+
|
|
1957
|
+
def _typecheckingstub__3b8adbdb4ccba13cd1fcc80c3a5121a26274d2437c1bb9959fa209488f098e78(
|
|
1958
|
+
value: _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault,
|
|
1959
|
+
) -> None:
|
|
1960
|
+
"""Type checking stubs"""
|
|
1961
|
+
pass
|
|
1962
|
+
|
|
1963
|
+
def _typecheckingstub__8d02ea52264d9dfc8cc494f7817103a21aa112c5ddf9274911b6c025d63b47b1(
|
|
1964
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
1965
|
+
) -> None:
|
|
1966
|
+
"""Type checking stubs"""
|
|
1967
|
+
pass
|
|
1968
|
+
|
|
1969
|
+
def _typecheckingstub__d60e7a7b69f9363156af0a1f5cf4a395b5df716c2f7327f2030a8e6a84ad4da5(
|
|
1970
|
+
*,
|
|
1971
|
+
location: builtins.str,
|
|
1972
|
+
name: builtins.str,
|
|
1973
|
+
tenant_id: builtins.str,
|
|
1974
|
+
network_acls: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVaultNetworkAcls, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1975
|
+
purge_protection: typing.Optional[builtins.bool] = None,
|
|
1976
|
+
resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
|
|
1977
|
+
sku: typing.Optional[builtins.str] = None,
|
|
1978
|
+
soft_delete_retention_days: typing.Optional[jsii.Number] = None,
|
|
1979
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
1980
|
+
) -> None:
|
|
1981
|
+
"""Type checking stubs"""
|
|
1982
|
+
pass
|