pulumi-venafi 1.8.0a1710160781__py3-none-any.whl → 1.11.0a1736835975__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.

Potentially problematic release.


This version of pulumi-venafi might be problematic. Click here for more details.

@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['CertificateArgs', 'Certificate']
@@ -17,6 +22,7 @@ class CertificateArgs:
17
22
  common_name: pulumi.Input[str],
18
23
  algorithm: Optional[pulumi.Input[str]] = None,
19
24
  certificate_dn: Optional[pulumi.Input[str]] = None,
25
+ country: Optional[pulumi.Input[str]] = None,
20
26
  csr_origin: Optional[pulumi.Input[str]] = None,
21
27
  csr_pem: Optional[pulumi.Input[str]] = None,
22
28
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -24,53 +30,60 @@ class CertificateArgs:
24
30
  expiration_window: Optional[pulumi.Input[int]] = None,
25
31
  issuer_hint: Optional[pulumi.Input[str]] = None,
26
32
  key_password: Optional[pulumi.Input[str]] = None,
33
+ locality: Optional[pulumi.Input[str]] = None,
27
34
  nickname: Optional[pulumi.Input[str]] = None,
35
+ organization: Optional[pulumi.Input[str]] = None,
36
+ organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
37
  pkcs12: Optional[pulumi.Input[str]] = None,
29
38
  private_key_pem: Optional[pulumi.Input[str]] = None,
39
+ renew_required: Optional[pulumi.Input[bool]] = None,
30
40
  rsa_bits: Optional[pulumi.Input[int]] = None,
31
41
  san_dns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
42
  san_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
33
43
  san_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
44
  san_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
45
+ state: Optional[pulumi.Input[str]] = None,
35
46
  valid_days: Optional[pulumi.Input[int]] = None):
36
47
  """
37
48
  The set of arguments for constructing a Certificate resource.
38
49
  :param pulumi.Input[str] common_name: The common name of the certificate.
39
- :param pulumi.Input[str] algorithm: Key encryption algorithm, either `RSA` or `ECDSA`.
40
- Defaults to `RSA`.
41
- :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is `local`.
42
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to
43
- assign to the certificate.
50
+ :param pulumi.Input[str] algorithm: Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
51
+ :param pulumi.Input[str] country: Country of the certificate (C)
52
+ :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is
53
+ `local`.
54
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to assign to the certificate.
44
55
  :param pulumi.Input[str] ecdsa_curve: ECDSA curve to use when generating a key
45
- :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry
46
- to request a new certificate. Defaults to `168`.
47
- :param pulumi.Input[str] issuer_hint: Used with valid_days to indicate the target
48
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
49
- "Entrust", and "Microsoft".
56
+ :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry to request a new certificate.
57
+ Defaults to `168`.
58
+ :param pulumi.Input[str] issuer_hint: Used with `valid_days` to indicate the target issuer when using Trust Protection
59
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
50
60
  :param pulumi.Input[str] key_password: The password used to encrypt the private key.
51
- :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
52
- :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`.
53
- Useful when working with resources like
54
- azurerm_key_vault_certificate.
61
+ :param pulumi.Input[str] locality: Locality/City of the certificate (L)
62
+ :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed
63
+ in a policy. Only valid for Trust Protection Platform.
64
+ :param pulumi.Input[str] organization: Organization of the certificate (O)
65
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: List of Organizational Units of the certificate (OU)
66
+ :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
67
+ azure key_vault_certificate.
55
68
  :param pulumi.Input[str] private_key_pem: The private key in PEM format.
56
- :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key.
57
- Applies when `algorithm=RSA`. Defaults to `2048`.
58
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative
59
- subjects of the certificate.
60
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as
61
- alternative subjects of the certificate.
62
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative
63
- subjects of the certificate.
64
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative
65
- subjects of the certificate.
66
- :param pulumi.Input[int] valid_days: Desired number of days for which the new
67
- certificate will be valid.
69
+ :param pulumi.Input[bool] renew_required: Indicates the certificate should be reissued. This means the resource will destroyed and recreated
70
+ :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
71
+ Defaults to `2048`.
72
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative subjects of the certificate.
73
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as alternative subjects of the certificate.
74
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative subjects of the certificate.
75
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
76
+ the certificate.
77
+ :param pulumi.Input[str] state: State of the certificate (S)
78
+ :param pulumi.Input[int] valid_days: Desired number of days for which the new certificate will be valid.
68
79
  """
69
80
  pulumi.set(__self__, "common_name", common_name)
70
81
  if algorithm is not None:
71
82
  pulumi.set(__self__, "algorithm", algorithm)
72
83
  if certificate_dn is not None:
73
84
  pulumi.set(__self__, "certificate_dn", certificate_dn)
85
+ if country is not None:
86
+ pulumi.set(__self__, "country", country)
74
87
  if csr_origin is not None:
75
88
  pulumi.set(__self__, "csr_origin", csr_origin)
76
89
  if csr_pem is not None:
@@ -85,12 +98,20 @@ class CertificateArgs:
85
98
  pulumi.set(__self__, "issuer_hint", issuer_hint)
86
99
  if key_password is not None:
87
100
  pulumi.set(__self__, "key_password", key_password)
101
+ if locality is not None:
102
+ pulumi.set(__self__, "locality", locality)
88
103
  if nickname is not None:
89
104
  pulumi.set(__self__, "nickname", nickname)
105
+ if organization is not None:
106
+ pulumi.set(__self__, "organization", organization)
107
+ if organizational_units is not None:
108
+ pulumi.set(__self__, "organizational_units", organizational_units)
90
109
  if pkcs12 is not None:
91
110
  pulumi.set(__self__, "pkcs12", pkcs12)
92
111
  if private_key_pem is not None:
93
112
  pulumi.set(__self__, "private_key_pem", private_key_pem)
113
+ if renew_required is not None:
114
+ pulumi.set(__self__, "renew_required", renew_required)
94
115
  if rsa_bits is not None:
95
116
  pulumi.set(__self__, "rsa_bits", rsa_bits)
96
117
  if san_dns is not None:
@@ -101,6 +122,8 @@ class CertificateArgs:
101
122
  pulumi.set(__self__, "san_ips", san_ips)
102
123
  if san_uris is not None:
103
124
  pulumi.set(__self__, "san_uris", san_uris)
125
+ if state is not None:
126
+ pulumi.set(__self__, "state", state)
104
127
  if valid_days is not None:
105
128
  pulumi.set(__self__, "valid_days", valid_days)
106
129
 
@@ -120,8 +143,7 @@ class CertificateArgs:
120
143
  @pulumi.getter
121
144
  def algorithm(self) -> Optional[pulumi.Input[str]]:
122
145
  """
123
- Key encryption algorithm, either `RSA` or `ECDSA`.
124
- Defaults to `RSA`.
146
+ Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
125
147
  """
126
148
  return pulumi.get(self, "algorithm")
127
149
 
@@ -138,11 +160,24 @@ class CertificateArgs:
138
160
  def certificate_dn(self, value: Optional[pulumi.Input[str]]):
139
161
  pulumi.set(self, "certificate_dn", value)
140
162
 
163
+ @property
164
+ @pulumi.getter
165
+ def country(self) -> Optional[pulumi.Input[str]]:
166
+ """
167
+ Country of the certificate (C)
168
+ """
169
+ return pulumi.get(self, "country")
170
+
171
+ @country.setter
172
+ def country(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "country", value)
174
+
141
175
  @property
142
176
  @pulumi.getter(name="csrOrigin")
143
177
  def csr_origin(self) -> Optional[pulumi.Input[str]]:
144
178
  """
145
- Whether key-pair generation will be `local` or `service` generated. Default is `local`.
179
+ Whether key-pair generation will be `local` or `service` generated. Default is
180
+ `local`.
146
181
  """
147
182
  return pulumi.get(self, "csr_origin")
148
183
 
@@ -163,8 +198,7 @@ class CertificateArgs:
163
198
  @pulumi.getter(name="customFields")
164
199
  def custom_fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
165
200
  """
166
- Collection of Custom Field name-value pairs to
167
- assign to the certificate.
201
+ Collection of Custom Field name-value pairs to assign to the certificate.
168
202
  """
169
203
  return pulumi.get(self, "custom_fields")
170
204
 
@@ -188,8 +222,8 @@ class CertificateArgs:
188
222
  @pulumi.getter(name="expirationWindow")
189
223
  def expiration_window(self) -> Optional[pulumi.Input[int]]:
190
224
  """
191
- Number of hours before certificate expiry
192
- to request a new certificate. Defaults to `168`.
225
+ Number of hours before certificate expiry to request a new certificate.
226
+ Defaults to `168`.
193
227
  """
194
228
  return pulumi.get(self, "expiration_window")
195
229
 
@@ -201,9 +235,8 @@ class CertificateArgs:
201
235
  @pulumi.getter(name="issuerHint")
202
236
  def issuer_hint(self) -> Optional[pulumi.Input[str]]:
203
237
  """
204
- Used with valid_days to indicate the target
205
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
206
- "Entrust", and "Microsoft".
238
+ Used with `valid_days` to indicate the target issuer when using Trust Protection
239
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
207
240
  """
208
241
  return pulumi.get(self, "issuer_hint")
209
242
 
@@ -223,11 +256,24 @@ class CertificateArgs:
223
256
  def key_password(self, value: Optional[pulumi.Input[str]]):
224
257
  pulumi.set(self, "key_password", value)
225
258
 
259
+ @property
260
+ @pulumi.getter
261
+ def locality(self) -> Optional[pulumi.Input[str]]:
262
+ """
263
+ Locality/City of the certificate (L)
264
+ """
265
+ return pulumi.get(self, "locality")
266
+
267
+ @locality.setter
268
+ def locality(self, value: Optional[pulumi.Input[str]]):
269
+ pulumi.set(self, "locality", value)
270
+
226
271
  @property
227
272
  @pulumi.getter
228
273
  def nickname(self) -> Optional[pulumi.Input[str]]:
229
274
  """
230
- Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
275
+ Use to specify a name for the new certificate object that will be created and placed
276
+ in a policy. Only valid for Trust Protection Platform.
231
277
  """
232
278
  return pulumi.get(self, "nickname")
233
279
 
@@ -235,13 +281,36 @@ class CertificateArgs:
235
281
  def nickname(self, value: Optional[pulumi.Input[str]]):
236
282
  pulumi.set(self, "nickname", value)
237
283
 
284
+ @property
285
+ @pulumi.getter
286
+ def organization(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ Organization of the certificate (O)
289
+ """
290
+ return pulumi.get(self, "organization")
291
+
292
+ @organization.setter
293
+ def organization(self, value: Optional[pulumi.Input[str]]):
294
+ pulumi.set(self, "organization", value)
295
+
296
+ @property
297
+ @pulumi.getter(name="organizationalUnits")
298
+ def organizational_units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
299
+ """
300
+ List of Organizational Units of the certificate (OU)
301
+ """
302
+ return pulumi.get(self, "organizational_units")
303
+
304
+ @organizational_units.setter
305
+ def organizational_units(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
306
+ pulumi.set(self, "organizational_units", value)
307
+
238
308
  @property
239
309
  @pulumi.getter
240
310
  def pkcs12(self) -> Optional[pulumi.Input[str]]:
241
311
  """
242
- A base64-encoded PKCS#12 keystore secured by the `key_password`.
243
- Useful when working with resources like
244
- azurerm_key_vault_certificate.
312
+ A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
313
+ azure key_vault_certificate.
245
314
  """
246
315
  return pulumi.get(self, "pkcs12")
247
316
 
@@ -261,12 +330,24 @@ class CertificateArgs:
261
330
  def private_key_pem(self, value: Optional[pulumi.Input[str]]):
262
331
  pulumi.set(self, "private_key_pem", value)
263
332
 
333
+ @property
334
+ @pulumi.getter(name="renewRequired")
335
+ def renew_required(self) -> Optional[pulumi.Input[bool]]:
336
+ """
337
+ Indicates the certificate should be reissued. This means the resource will destroyed and recreated
338
+ """
339
+ return pulumi.get(self, "renew_required")
340
+
341
+ @renew_required.setter
342
+ def renew_required(self, value: Optional[pulumi.Input[bool]]):
343
+ pulumi.set(self, "renew_required", value)
344
+
264
345
  @property
265
346
  @pulumi.getter(name="rsaBits")
266
347
  def rsa_bits(self) -> Optional[pulumi.Input[int]]:
267
348
  """
268
- Number of bits to use when generating an RSA key.
269
- Applies when `algorithm=RSA`. Defaults to `2048`.
349
+ Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
350
+ Defaults to `2048`.
270
351
  """
271
352
  return pulumi.get(self, "rsa_bits")
272
353
 
@@ -278,8 +359,7 @@ class CertificateArgs:
278
359
  @pulumi.getter(name="sanDns")
279
360
  def san_dns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
280
361
  """
281
- List of DNS names to use as alternative
282
- subjects of the certificate.
362
+ List of DNS names to use as alternative subjects of the certificate.
283
363
  """
284
364
  return pulumi.get(self, "san_dns")
285
365
 
@@ -291,8 +371,7 @@ class CertificateArgs:
291
371
  @pulumi.getter(name="sanEmails")
292
372
  def san_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
293
373
  """
294
- List of email addresses to use as
295
- alternative subjects of the certificate.
374
+ List of email addresses to use as alternative subjects of the certificate.
296
375
  """
297
376
  return pulumi.get(self, "san_emails")
298
377
 
@@ -304,8 +383,7 @@ class CertificateArgs:
304
383
  @pulumi.getter(name="sanIps")
305
384
  def san_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
306
385
  """
307
- List of IP addresses to use as alternative
308
- subjects of the certificate.
386
+ List of IP addresses to use as alternative subjects of the certificate.
309
387
  """
310
388
  return pulumi.get(self, "san_ips")
311
389
 
@@ -317,8 +395,8 @@ class CertificateArgs:
317
395
  @pulumi.getter(name="sanUris")
318
396
  def san_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
319
397
  """
320
- List of Uniform Resource Identifiers (URIs) to use as alternative
321
- subjects of the certificate.
398
+ List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
399
+ the certificate.
322
400
  """
323
401
  return pulumi.get(self, "san_uris")
324
402
 
@@ -326,12 +404,23 @@ class CertificateArgs:
326
404
  def san_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
327
405
  pulumi.set(self, "san_uris", value)
328
406
 
407
+ @property
408
+ @pulumi.getter
409
+ def state(self) -> Optional[pulumi.Input[str]]:
410
+ """
411
+ State of the certificate (S)
412
+ """
413
+ return pulumi.get(self, "state")
414
+
415
+ @state.setter
416
+ def state(self, value: Optional[pulumi.Input[str]]):
417
+ pulumi.set(self, "state", value)
418
+
329
419
  @property
330
420
  @pulumi.getter(name="validDays")
331
421
  def valid_days(self) -> Optional[pulumi.Input[int]]:
332
422
  """
333
- Desired number of days for which the new
334
- certificate will be valid.
423
+ Desired number of days for which the new certificate will be valid.
335
424
  """
336
425
  return pulumi.get(self, "valid_days")
337
426
 
@@ -346,8 +435,10 @@ class _CertificateState:
346
435
  algorithm: Optional[pulumi.Input[str]] = None,
347
436
  certificate: Optional[pulumi.Input[str]] = None,
348
437
  certificate_dn: Optional[pulumi.Input[str]] = None,
438
+ certificate_id: Optional[pulumi.Input[str]] = None,
349
439
  chain: Optional[pulumi.Input[str]] = None,
350
440
  common_name: Optional[pulumi.Input[str]] = None,
441
+ country: Optional[pulumi.Input[str]] = None,
351
442
  csr_origin: Optional[pulumi.Input[str]] = None,
352
443
  csr_pem: Optional[pulumi.Input[str]] = None,
353
444
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -355,50 +446,55 @@ class _CertificateState:
355
446
  expiration_window: Optional[pulumi.Input[int]] = None,
356
447
  issuer_hint: Optional[pulumi.Input[str]] = None,
357
448
  key_password: Optional[pulumi.Input[str]] = None,
449
+ locality: Optional[pulumi.Input[str]] = None,
358
450
  nickname: Optional[pulumi.Input[str]] = None,
451
+ organization: Optional[pulumi.Input[str]] = None,
452
+ organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
359
453
  pkcs12: Optional[pulumi.Input[str]] = None,
360
454
  private_key_pem: Optional[pulumi.Input[str]] = None,
455
+ renew_required: Optional[pulumi.Input[bool]] = None,
361
456
  rsa_bits: Optional[pulumi.Input[int]] = None,
362
457
  san_dns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
363
458
  san_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
364
459
  san_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
365
460
  san_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
461
+ state: Optional[pulumi.Input[str]] = None,
366
462
  valid_days: Optional[pulumi.Input[int]] = None):
367
463
  """
368
464
  Input properties used for looking up and filtering Certificate resources.
369
- :param pulumi.Input[str] algorithm: Key encryption algorithm, either `RSA` or `ECDSA`.
370
- Defaults to `RSA`.
465
+ :param pulumi.Input[str] algorithm: Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
371
466
  :param pulumi.Input[str] certificate: The X509 certificate in PEM format.
372
- :param pulumi.Input[str] chain: The trust chain of X509 certificate authority certificates in PEM format
373
- concatenated together.
467
+ :param pulumi.Input[str] certificate_id: ID of the issued certificate
468
+ :param pulumi.Input[str] chain: The trust chain of X509 certificate authority certificates in PEM format concatenated together.
374
469
  :param pulumi.Input[str] common_name: The common name of the certificate.
375
- :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is `local`.
376
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to
377
- assign to the certificate.
470
+ :param pulumi.Input[str] country: Country of the certificate (C)
471
+ :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is
472
+ `local`.
473
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to assign to the certificate.
378
474
  :param pulumi.Input[str] ecdsa_curve: ECDSA curve to use when generating a key
379
- :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry
380
- to request a new certificate. Defaults to `168`.
381
- :param pulumi.Input[str] issuer_hint: Used with valid_days to indicate the target
382
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
383
- "Entrust", and "Microsoft".
475
+ :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry to request a new certificate.
476
+ Defaults to `168`.
477
+ :param pulumi.Input[str] issuer_hint: Used with `valid_days` to indicate the target issuer when using Trust Protection
478
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
384
479
  :param pulumi.Input[str] key_password: The password used to encrypt the private key.
385
- :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
386
- :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`.
387
- Useful when working with resources like
388
- azurerm_key_vault_certificate.
480
+ :param pulumi.Input[str] locality: Locality/City of the certificate (L)
481
+ :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed
482
+ in a policy. Only valid for Trust Protection Platform.
483
+ :param pulumi.Input[str] organization: Organization of the certificate (O)
484
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: List of Organizational Units of the certificate (OU)
485
+ :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
486
+ azure key_vault_certificate.
389
487
  :param pulumi.Input[str] private_key_pem: The private key in PEM format.
390
- :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key.
391
- Applies when `algorithm=RSA`. Defaults to `2048`.
392
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative
393
- subjects of the certificate.
394
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as
395
- alternative subjects of the certificate.
396
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative
397
- subjects of the certificate.
398
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative
399
- subjects of the certificate.
400
- :param pulumi.Input[int] valid_days: Desired number of days for which the new
401
- certificate will be valid.
488
+ :param pulumi.Input[bool] renew_required: Indicates the certificate should be reissued. This means the resource will destroyed and recreated
489
+ :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
490
+ Defaults to `2048`.
491
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative subjects of the certificate.
492
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as alternative subjects of the certificate.
493
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative subjects of the certificate.
494
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
495
+ the certificate.
496
+ :param pulumi.Input[str] state: State of the certificate (S)
497
+ :param pulumi.Input[int] valid_days: Desired number of days for which the new certificate will be valid.
402
498
  """
403
499
  if algorithm is not None:
404
500
  pulumi.set(__self__, "algorithm", algorithm)
@@ -406,10 +502,14 @@ class _CertificateState:
406
502
  pulumi.set(__self__, "certificate", certificate)
407
503
  if certificate_dn is not None:
408
504
  pulumi.set(__self__, "certificate_dn", certificate_dn)
505
+ if certificate_id is not None:
506
+ pulumi.set(__self__, "certificate_id", certificate_id)
409
507
  if chain is not None:
410
508
  pulumi.set(__self__, "chain", chain)
411
509
  if common_name is not None:
412
510
  pulumi.set(__self__, "common_name", common_name)
511
+ if country is not None:
512
+ pulumi.set(__self__, "country", country)
413
513
  if csr_origin is not None:
414
514
  pulumi.set(__self__, "csr_origin", csr_origin)
415
515
  if csr_pem is not None:
@@ -424,12 +524,20 @@ class _CertificateState:
424
524
  pulumi.set(__self__, "issuer_hint", issuer_hint)
425
525
  if key_password is not None:
426
526
  pulumi.set(__self__, "key_password", key_password)
527
+ if locality is not None:
528
+ pulumi.set(__self__, "locality", locality)
427
529
  if nickname is not None:
428
530
  pulumi.set(__self__, "nickname", nickname)
531
+ if organization is not None:
532
+ pulumi.set(__self__, "organization", organization)
533
+ if organizational_units is not None:
534
+ pulumi.set(__self__, "organizational_units", organizational_units)
429
535
  if pkcs12 is not None:
430
536
  pulumi.set(__self__, "pkcs12", pkcs12)
431
537
  if private_key_pem is not None:
432
538
  pulumi.set(__self__, "private_key_pem", private_key_pem)
539
+ if renew_required is not None:
540
+ pulumi.set(__self__, "renew_required", renew_required)
433
541
  if rsa_bits is not None:
434
542
  pulumi.set(__self__, "rsa_bits", rsa_bits)
435
543
  if san_dns is not None:
@@ -440,6 +548,8 @@ class _CertificateState:
440
548
  pulumi.set(__self__, "san_ips", san_ips)
441
549
  if san_uris is not None:
442
550
  pulumi.set(__self__, "san_uris", san_uris)
551
+ if state is not None:
552
+ pulumi.set(__self__, "state", state)
443
553
  if valid_days is not None:
444
554
  pulumi.set(__self__, "valid_days", valid_days)
445
555
 
@@ -447,8 +557,7 @@ class _CertificateState:
447
557
  @pulumi.getter
448
558
  def algorithm(self) -> Optional[pulumi.Input[str]]:
449
559
  """
450
- Key encryption algorithm, either `RSA` or `ECDSA`.
451
- Defaults to `RSA`.
560
+ Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
452
561
  """
453
562
  return pulumi.get(self, "algorithm")
454
563
 
@@ -477,12 +586,23 @@ class _CertificateState:
477
586
  def certificate_dn(self, value: Optional[pulumi.Input[str]]):
478
587
  pulumi.set(self, "certificate_dn", value)
479
588
 
589
+ @property
590
+ @pulumi.getter(name="certificateId")
591
+ def certificate_id(self) -> Optional[pulumi.Input[str]]:
592
+ """
593
+ ID of the issued certificate
594
+ """
595
+ return pulumi.get(self, "certificate_id")
596
+
597
+ @certificate_id.setter
598
+ def certificate_id(self, value: Optional[pulumi.Input[str]]):
599
+ pulumi.set(self, "certificate_id", value)
600
+
480
601
  @property
481
602
  @pulumi.getter
482
603
  def chain(self) -> Optional[pulumi.Input[str]]:
483
604
  """
484
- The trust chain of X509 certificate authority certificates in PEM format
485
- concatenated together.
605
+ The trust chain of X509 certificate authority certificates in PEM format concatenated together.
486
606
  """
487
607
  return pulumi.get(self, "chain")
488
608
 
@@ -502,11 +622,24 @@ class _CertificateState:
502
622
  def common_name(self, value: Optional[pulumi.Input[str]]):
503
623
  pulumi.set(self, "common_name", value)
504
624
 
625
+ @property
626
+ @pulumi.getter
627
+ def country(self) -> Optional[pulumi.Input[str]]:
628
+ """
629
+ Country of the certificate (C)
630
+ """
631
+ return pulumi.get(self, "country")
632
+
633
+ @country.setter
634
+ def country(self, value: Optional[pulumi.Input[str]]):
635
+ pulumi.set(self, "country", value)
636
+
505
637
  @property
506
638
  @pulumi.getter(name="csrOrigin")
507
639
  def csr_origin(self) -> Optional[pulumi.Input[str]]:
508
640
  """
509
- Whether key-pair generation will be `local` or `service` generated. Default is `local`.
641
+ Whether key-pair generation will be `local` or `service` generated. Default is
642
+ `local`.
510
643
  """
511
644
  return pulumi.get(self, "csr_origin")
512
645
 
@@ -527,8 +660,7 @@ class _CertificateState:
527
660
  @pulumi.getter(name="customFields")
528
661
  def custom_fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
529
662
  """
530
- Collection of Custom Field name-value pairs to
531
- assign to the certificate.
663
+ Collection of Custom Field name-value pairs to assign to the certificate.
532
664
  """
533
665
  return pulumi.get(self, "custom_fields")
534
666
 
@@ -552,8 +684,8 @@ class _CertificateState:
552
684
  @pulumi.getter(name="expirationWindow")
553
685
  def expiration_window(self) -> Optional[pulumi.Input[int]]:
554
686
  """
555
- Number of hours before certificate expiry
556
- to request a new certificate. Defaults to `168`.
687
+ Number of hours before certificate expiry to request a new certificate.
688
+ Defaults to `168`.
557
689
  """
558
690
  return pulumi.get(self, "expiration_window")
559
691
 
@@ -565,9 +697,8 @@ class _CertificateState:
565
697
  @pulumi.getter(name="issuerHint")
566
698
  def issuer_hint(self) -> Optional[pulumi.Input[str]]:
567
699
  """
568
- Used with valid_days to indicate the target
569
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
570
- "Entrust", and "Microsoft".
700
+ Used with `valid_days` to indicate the target issuer when using Trust Protection
701
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
571
702
  """
572
703
  return pulumi.get(self, "issuer_hint")
573
704
 
@@ -587,11 +718,24 @@ class _CertificateState:
587
718
  def key_password(self, value: Optional[pulumi.Input[str]]):
588
719
  pulumi.set(self, "key_password", value)
589
720
 
721
+ @property
722
+ @pulumi.getter
723
+ def locality(self) -> Optional[pulumi.Input[str]]:
724
+ """
725
+ Locality/City of the certificate (L)
726
+ """
727
+ return pulumi.get(self, "locality")
728
+
729
+ @locality.setter
730
+ def locality(self, value: Optional[pulumi.Input[str]]):
731
+ pulumi.set(self, "locality", value)
732
+
590
733
  @property
591
734
  @pulumi.getter
592
735
  def nickname(self) -> Optional[pulumi.Input[str]]:
593
736
  """
594
- Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
737
+ Use to specify a name for the new certificate object that will be created and placed
738
+ in a policy. Only valid for Trust Protection Platform.
595
739
  """
596
740
  return pulumi.get(self, "nickname")
597
741
 
@@ -599,13 +743,36 @@ class _CertificateState:
599
743
  def nickname(self, value: Optional[pulumi.Input[str]]):
600
744
  pulumi.set(self, "nickname", value)
601
745
 
746
+ @property
747
+ @pulumi.getter
748
+ def organization(self) -> Optional[pulumi.Input[str]]:
749
+ """
750
+ Organization of the certificate (O)
751
+ """
752
+ return pulumi.get(self, "organization")
753
+
754
+ @organization.setter
755
+ def organization(self, value: Optional[pulumi.Input[str]]):
756
+ pulumi.set(self, "organization", value)
757
+
758
+ @property
759
+ @pulumi.getter(name="organizationalUnits")
760
+ def organizational_units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
761
+ """
762
+ List of Organizational Units of the certificate (OU)
763
+ """
764
+ return pulumi.get(self, "organizational_units")
765
+
766
+ @organizational_units.setter
767
+ def organizational_units(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
768
+ pulumi.set(self, "organizational_units", value)
769
+
602
770
  @property
603
771
  @pulumi.getter
604
772
  def pkcs12(self) -> Optional[pulumi.Input[str]]:
605
773
  """
606
- A base64-encoded PKCS#12 keystore secured by the `key_password`.
607
- Useful when working with resources like
608
- azurerm_key_vault_certificate.
774
+ A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
775
+ azure key_vault_certificate.
609
776
  """
610
777
  return pulumi.get(self, "pkcs12")
611
778
 
@@ -625,12 +792,24 @@ class _CertificateState:
625
792
  def private_key_pem(self, value: Optional[pulumi.Input[str]]):
626
793
  pulumi.set(self, "private_key_pem", value)
627
794
 
795
+ @property
796
+ @pulumi.getter(name="renewRequired")
797
+ def renew_required(self) -> Optional[pulumi.Input[bool]]:
798
+ """
799
+ Indicates the certificate should be reissued. This means the resource will destroyed and recreated
800
+ """
801
+ return pulumi.get(self, "renew_required")
802
+
803
+ @renew_required.setter
804
+ def renew_required(self, value: Optional[pulumi.Input[bool]]):
805
+ pulumi.set(self, "renew_required", value)
806
+
628
807
  @property
629
808
  @pulumi.getter(name="rsaBits")
630
809
  def rsa_bits(self) -> Optional[pulumi.Input[int]]:
631
810
  """
632
- Number of bits to use when generating an RSA key.
633
- Applies when `algorithm=RSA`. Defaults to `2048`.
811
+ Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
812
+ Defaults to `2048`.
634
813
  """
635
814
  return pulumi.get(self, "rsa_bits")
636
815
 
@@ -642,8 +821,7 @@ class _CertificateState:
642
821
  @pulumi.getter(name="sanDns")
643
822
  def san_dns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
644
823
  """
645
- List of DNS names to use as alternative
646
- subjects of the certificate.
824
+ List of DNS names to use as alternative subjects of the certificate.
647
825
  """
648
826
  return pulumi.get(self, "san_dns")
649
827
 
@@ -655,8 +833,7 @@ class _CertificateState:
655
833
  @pulumi.getter(name="sanEmails")
656
834
  def san_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
657
835
  """
658
- List of email addresses to use as
659
- alternative subjects of the certificate.
836
+ List of email addresses to use as alternative subjects of the certificate.
660
837
  """
661
838
  return pulumi.get(self, "san_emails")
662
839
 
@@ -668,8 +845,7 @@ class _CertificateState:
668
845
  @pulumi.getter(name="sanIps")
669
846
  def san_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
670
847
  """
671
- List of IP addresses to use as alternative
672
- subjects of the certificate.
848
+ List of IP addresses to use as alternative subjects of the certificate.
673
849
  """
674
850
  return pulumi.get(self, "san_ips")
675
851
 
@@ -681,8 +857,8 @@ class _CertificateState:
681
857
  @pulumi.getter(name="sanUris")
682
858
  def san_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
683
859
  """
684
- List of Uniform Resource Identifiers (URIs) to use as alternative
685
- subjects of the certificate.
860
+ List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
861
+ the certificate.
686
862
  """
687
863
  return pulumi.get(self, "san_uris")
688
864
 
@@ -690,12 +866,23 @@ class _CertificateState:
690
866
  def san_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
691
867
  pulumi.set(self, "san_uris", value)
692
868
 
869
+ @property
870
+ @pulumi.getter
871
+ def state(self) -> Optional[pulumi.Input[str]]:
872
+ """
873
+ State of the certificate (S)
874
+ """
875
+ return pulumi.get(self, "state")
876
+
877
+ @state.setter
878
+ def state(self, value: Optional[pulumi.Input[str]]):
879
+ pulumi.set(self, "state", value)
880
+
693
881
  @property
694
882
  @pulumi.getter(name="validDays")
695
883
  def valid_days(self) -> Optional[pulumi.Input[int]]:
696
884
  """
697
- Desired number of days for which the new
698
- certificate will be valid.
885
+ Desired number of days for which the new certificate will be valid.
699
886
  """
700
887
  return pulumi.get(self, "valid_days")
701
888
 
@@ -712,6 +899,7 @@ class Certificate(pulumi.CustomResource):
712
899
  algorithm: Optional[pulumi.Input[str]] = None,
713
900
  certificate_dn: Optional[pulumi.Input[str]] = None,
714
901
  common_name: Optional[pulumi.Input[str]] = None,
902
+ country: Optional[pulumi.Input[str]] = None,
715
903
  csr_origin: Optional[pulumi.Input[str]] = None,
716
904
  csr_pem: Optional[pulumi.Input[str]] = None,
717
905
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -719,50 +907,55 @@ class Certificate(pulumi.CustomResource):
719
907
  expiration_window: Optional[pulumi.Input[int]] = None,
720
908
  issuer_hint: Optional[pulumi.Input[str]] = None,
721
909
  key_password: Optional[pulumi.Input[str]] = None,
910
+ locality: Optional[pulumi.Input[str]] = None,
722
911
  nickname: Optional[pulumi.Input[str]] = None,
912
+ organization: Optional[pulumi.Input[str]] = None,
913
+ organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
723
914
  pkcs12: Optional[pulumi.Input[str]] = None,
724
915
  private_key_pem: Optional[pulumi.Input[str]] = None,
916
+ renew_required: Optional[pulumi.Input[bool]] = None,
725
917
  rsa_bits: Optional[pulumi.Input[int]] = None,
726
918
  san_dns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
727
919
  san_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
728
920
  san_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
729
921
  san_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
922
+ state: Optional[pulumi.Input[str]] = None,
730
923
  valid_days: Optional[pulumi.Input[int]] = None,
731
924
  __props__=None):
732
925
  """
733
926
  Create a Certificate resource with the given unique name, props, and options.
734
927
  :param str resource_name: The name of the resource.
735
928
  :param pulumi.ResourceOptions opts: Options for the resource.
736
- :param pulumi.Input[str] algorithm: Key encryption algorithm, either `RSA` or `ECDSA`.
737
- Defaults to `RSA`.
929
+ :param pulumi.Input[str] algorithm: Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
738
930
  :param pulumi.Input[str] common_name: The common name of the certificate.
739
- :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is `local`.
740
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to
741
- assign to the certificate.
931
+ :param pulumi.Input[str] country: Country of the certificate (C)
932
+ :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is
933
+ `local`.
934
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to assign to the certificate.
742
935
  :param pulumi.Input[str] ecdsa_curve: ECDSA curve to use when generating a key
743
- :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry
744
- to request a new certificate. Defaults to `168`.
745
- :param pulumi.Input[str] issuer_hint: Used with valid_days to indicate the target
746
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
747
- "Entrust", and "Microsoft".
936
+ :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry to request a new certificate.
937
+ Defaults to `168`.
938
+ :param pulumi.Input[str] issuer_hint: Used with `valid_days` to indicate the target issuer when using Trust Protection
939
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
748
940
  :param pulumi.Input[str] key_password: The password used to encrypt the private key.
749
- :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
750
- :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`.
751
- Useful when working with resources like
752
- azurerm_key_vault_certificate.
941
+ :param pulumi.Input[str] locality: Locality/City of the certificate (L)
942
+ :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed
943
+ in a policy. Only valid for Trust Protection Platform.
944
+ :param pulumi.Input[str] organization: Organization of the certificate (O)
945
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: List of Organizational Units of the certificate (OU)
946
+ :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
947
+ azure key_vault_certificate.
753
948
  :param pulumi.Input[str] private_key_pem: The private key in PEM format.
754
- :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key.
755
- Applies when `algorithm=RSA`. Defaults to `2048`.
756
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative
757
- subjects of the certificate.
758
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as
759
- alternative subjects of the certificate.
760
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative
761
- subjects of the certificate.
762
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative
763
- subjects of the certificate.
764
- :param pulumi.Input[int] valid_days: Desired number of days for which the new
765
- certificate will be valid.
949
+ :param pulumi.Input[bool] renew_required: Indicates the certificate should be reissued. This means the resource will destroyed and recreated
950
+ :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
951
+ Defaults to `2048`.
952
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative subjects of the certificate.
953
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as alternative subjects of the certificate.
954
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative subjects of the certificate.
955
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
956
+ the certificate.
957
+ :param pulumi.Input[str] state: State of the certificate (S)
958
+ :param pulumi.Input[int] valid_days: Desired number of days for which the new certificate will be valid.
766
959
  """
767
960
  ...
768
961
  @overload
@@ -790,6 +983,7 @@ class Certificate(pulumi.CustomResource):
790
983
  algorithm: Optional[pulumi.Input[str]] = None,
791
984
  certificate_dn: Optional[pulumi.Input[str]] = None,
792
985
  common_name: Optional[pulumi.Input[str]] = None,
986
+ country: Optional[pulumi.Input[str]] = None,
793
987
  csr_origin: Optional[pulumi.Input[str]] = None,
794
988
  csr_pem: Optional[pulumi.Input[str]] = None,
795
989
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -797,14 +991,19 @@ class Certificate(pulumi.CustomResource):
797
991
  expiration_window: Optional[pulumi.Input[int]] = None,
798
992
  issuer_hint: Optional[pulumi.Input[str]] = None,
799
993
  key_password: Optional[pulumi.Input[str]] = None,
994
+ locality: Optional[pulumi.Input[str]] = None,
800
995
  nickname: Optional[pulumi.Input[str]] = None,
996
+ organization: Optional[pulumi.Input[str]] = None,
997
+ organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
801
998
  pkcs12: Optional[pulumi.Input[str]] = None,
802
999
  private_key_pem: Optional[pulumi.Input[str]] = None,
1000
+ renew_required: Optional[pulumi.Input[bool]] = None,
803
1001
  rsa_bits: Optional[pulumi.Input[int]] = None,
804
1002
  san_dns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
805
1003
  san_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
806
1004
  san_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
807
1005
  san_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1006
+ state: Optional[pulumi.Input[str]] = None,
808
1007
  valid_days: Optional[pulumi.Input[int]] = None,
809
1008
  __props__=None):
810
1009
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -820,6 +1019,7 @@ class Certificate(pulumi.CustomResource):
820
1019
  if common_name is None and not opts.urn:
821
1020
  raise TypeError("Missing required property 'common_name'")
822
1021
  __props__.__dict__["common_name"] = common_name
1022
+ __props__.__dict__["country"] = country
823
1023
  __props__.__dict__["csr_origin"] = csr_origin
824
1024
  __props__.__dict__["csr_pem"] = csr_pem
825
1025
  __props__.__dict__["custom_fields"] = custom_fields
@@ -827,16 +1027,22 @@ class Certificate(pulumi.CustomResource):
827
1027
  __props__.__dict__["expiration_window"] = expiration_window
828
1028
  __props__.__dict__["issuer_hint"] = issuer_hint
829
1029
  __props__.__dict__["key_password"] = None if key_password is None else pulumi.Output.secret(key_password)
1030
+ __props__.__dict__["locality"] = locality
830
1031
  __props__.__dict__["nickname"] = nickname
1032
+ __props__.__dict__["organization"] = organization
1033
+ __props__.__dict__["organizational_units"] = organizational_units
831
1034
  __props__.__dict__["pkcs12"] = pkcs12
832
1035
  __props__.__dict__["private_key_pem"] = None if private_key_pem is None else pulumi.Output.secret(private_key_pem)
1036
+ __props__.__dict__["renew_required"] = renew_required
833
1037
  __props__.__dict__["rsa_bits"] = rsa_bits
834
1038
  __props__.__dict__["san_dns"] = san_dns
835
1039
  __props__.__dict__["san_emails"] = san_emails
836
1040
  __props__.__dict__["san_ips"] = san_ips
837
1041
  __props__.__dict__["san_uris"] = san_uris
1042
+ __props__.__dict__["state"] = state
838
1043
  __props__.__dict__["valid_days"] = valid_days
839
1044
  __props__.__dict__["certificate"] = None
1045
+ __props__.__dict__["certificate_id"] = None
840
1046
  __props__.__dict__["chain"] = None
841
1047
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["keyPassword", "privateKeyPem"])
842
1048
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
@@ -853,8 +1059,10 @@ class Certificate(pulumi.CustomResource):
853
1059
  algorithm: Optional[pulumi.Input[str]] = None,
854
1060
  certificate: Optional[pulumi.Input[str]] = None,
855
1061
  certificate_dn: Optional[pulumi.Input[str]] = None,
1062
+ certificate_id: Optional[pulumi.Input[str]] = None,
856
1063
  chain: Optional[pulumi.Input[str]] = None,
857
1064
  common_name: Optional[pulumi.Input[str]] = None,
1065
+ country: Optional[pulumi.Input[str]] = None,
858
1066
  csr_origin: Optional[pulumi.Input[str]] = None,
859
1067
  csr_pem: Optional[pulumi.Input[str]] = None,
860
1068
  custom_fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -862,14 +1070,19 @@ class Certificate(pulumi.CustomResource):
862
1070
  expiration_window: Optional[pulumi.Input[int]] = None,
863
1071
  issuer_hint: Optional[pulumi.Input[str]] = None,
864
1072
  key_password: Optional[pulumi.Input[str]] = None,
1073
+ locality: Optional[pulumi.Input[str]] = None,
865
1074
  nickname: Optional[pulumi.Input[str]] = None,
1075
+ organization: Optional[pulumi.Input[str]] = None,
1076
+ organizational_units: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
866
1077
  pkcs12: Optional[pulumi.Input[str]] = None,
867
1078
  private_key_pem: Optional[pulumi.Input[str]] = None,
1079
+ renew_required: Optional[pulumi.Input[bool]] = None,
868
1080
  rsa_bits: Optional[pulumi.Input[int]] = None,
869
1081
  san_dns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
870
1082
  san_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
871
1083
  san_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
872
1084
  san_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1085
+ state: Optional[pulumi.Input[str]] = None,
873
1086
  valid_days: Optional[pulumi.Input[int]] = None) -> 'Certificate':
874
1087
  """
875
1088
  Get an existing Certificate resource's state with the given name, id, and optional extra
@@ -878,39 +1091,39 @@ class Certificate(pulumi.CustomResource):
878
1091
  :param str resource_name: The unique name of the resulting resource.
879
1092
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
880
1093
  :param pulumi.ResourceOptions opts: Options for the resource.
881
- :param pulumi.Input[str] algorithm: Key encryption algorithm, either `RSA` or `ECDSA`.
882
- Defaults to `RSA`.
1094
+ :param pulumi.Input[str] algorithm: Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
883
1095
  :param pulumi.Input[str] certificate: The X509 certificate in PEM format.
884
- :param pulumi.Input[str] chain: The trust chain of X509 certificate authority certificates in PEM format
885
- concatenated together.
1096
+ :param pulumi.Input[str] certificate_id: ID of the issued certificate
1097
+ :param pulumi.Input[str] chain: The trust chain of X509 certificate authority certificates in PEM format concatenated together.
886
1098
  :param pulumi.Input[str] common_name: The common name of the certificate.
887
- :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is `local`.
888
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to
889
- assign to the certificate.
1099
+ :param pulumi.Input[str] country: Country of the certificate (C)
1100
+ :param pulumi.Input[str] csr_origin: Whether key-pair generation will be `local` or `service` generated. Default is
1101
+ `local`.
1102
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_fields: Collection of Custom Field name-value pairs to assign to the certificate.
890
1103
  :param pulumi.Input[str] ecdsa_curve: ECDSA curve to use when generating a key
891
- :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry
892
- to request a new certificate. Defaults to `168`.
893
- :param pulumi.Input[str] issuer_hint: Used with valid_days to indicate the target
894
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
895
- "Entrust", and "Microsoft".
1104
+ :param pulumi.Input[int] expiration_window: Number of hours before certificate expiry to request a new certificate.
1105
+ Defaults to `168`.
1106
+ :param pulumi.Input[str] issuer_hint: Used with `valid_days` to indicate the target issuer when using Trust Protection
1107
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
896
1108
  :param pulumi.Input[str] key_password: The password used to encrypt the private key.
897
- :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
898
- :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`.
899
- Useful when working with resources like
900
- azurerm_key_vault_certificate.
1109
+ :param pulumi.Input[str] locality: Locality/City of the certificate (L)
1110
+ :param pulumi.Input[str] nickname: Use to specify a name for the new certificate object that will be created and placed
1111
+ in a policy. Only valid for Trust Protection Platform.
1112
+ :param pulumi.Input[str] organization: Organization of the certificate (O)
1113
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] organizational_units: List of Organizational Units of the certificate (OU)
1114
+ :param pulumi.Input[str] pkcs12: A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
1115
+ azure key_vault_certificate.
901
1116
  :param pulumi.Input[str] private_key_pem: The private key in PEM format.
902
- :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key.
903
- Applies when `algorithm=RSA`. Defaults to `2048`.
904
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative
905
- subjects of the certificate.
906
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as
907
- alternative subjects of the certificate.
908
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative
909
- subjects of the certificate.
910
- :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative
911
- subjects of the certificate.
912
- :param pulumi.Input[int] valid_days: Desired number of days for which the new
913
- certificate will be valid.
1117
+ :param pulumi.Input[bool] renew_required: Indicates the certificate should be reissued. This means the resource will destroyed and recreated
1118
+ :param pulumi.Input[int] rsa_bits: Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
1119
+ Defaults to `2048`.
1120
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dns: List of DNS names to use as alternative subjects of the certificate.
1121
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_emails: List of email addresses to use as alternative subjects of the certificate.
1122
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_ips: List of IP addresses to use as alternative subjects of the certificate.
1123
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_uris: List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
1124
+ the certificate.
1125
+ :param pulumi.Input[str] state: State of the certificate (S)
1126
+ :param pulumi.Input[int] valid_days: Desired number of days for which the new certificate will be valid.
914
1127
  """
915
1128
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
916
1129
 
@@ -919,8 +1132,10 @@ class Certificate(pulumi.CustomResource):
919
1132
  __props__.__dict__["algorithm"] = algorithm
920
1133
  __props__.__dict__["certificate"] = certificate
921
1134
  __props__.__dict__["certificate_dn"] = certificate_dn
1135
+ __props__.__dict__["certificate_id"] = certificate_id
922
1136
  __props__.__dict__["chain"] = chain
923
1137
  __props__.__dict__["common_name"] = common_name
1138
+ __props__.__dict__["country"] = country
924
1139
  __props__.__dict__["csr_origin"] = csr_origin
925
1140
  __props__.__dict__["csr_pem"] = csr_pem
926
1141
  __props__.__dict__["custom_fields"] = custom_fields
@@ -928,14 +1143,19 @@ class Certificate(pulumi.CustomResource):
928
1143
  __props__.__dict__["expiration_window"] = expiration_window
929
1144
  __props__.__dict__["issuer_hint"] = issuer_hint
930
1145
  __props__.__dict__["key_password"] = key_password
1146
+ __props__.__dict__["locality"] = locality
931
1147
  __props__.__dict__["nickname"] = nickname
1148
+ __props__.__dict__["organization"] = organization
1149
+ __props__.__dict__["organizational_units"] = organizational_units
932
1150
  __props__.__dict__["pkcs12"] = pkcs12
933
1151
  __props__.__dict__["private_key_pem"] = private_key_pem
1152
+ __props__.__dict__["renew_required"] = renew_required
934
1153
  __props__.__dict__["rsa_bits"] = rsa_bits
935
1154
  __props__.__dict__["san_dns"] = san_dns
936
1155
  __props__.__dict__["san_emails"] = san_emails
937
1156
  __props__.__dict__["san_ips"] = san_ips
938
1157
  __props__.__dict__["san_uris"] = san_uris
1158
+ __props__.__dict__["state"] = state
939
1159
  __props__.__dict__["valid_days"] = valid_days
940
1160
  return Certificate(resource_name, opts=opts, __props__=__props__)
941
1161
 
@@ -943,8 +1163,7 @@ class Certificate(pulumi.CustomResource):
943
1163
  @pulumi.getter
944
1164
  def algorithm(self) -> pulumi.Output[Optional[str]]:
945
1165
  """
946
- Key encryption algorithm, either `RSA` or `ECDSA`.
947
- Defaults to `RSA`.
1166
+ Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
948
1167
  """
949
1168
  return pulumi.get(self, "algorithm")
950
1169
 
@@ -961,12 +1180,19 @@ class Certificate(pulumi.CustomResource):
961
1180
  def certificate_dn(self) -> pulumi.Output[str]:
962
1181
  return pulumi.get(self, "certificate_dn")
963
1182
 
1183
+ @property
1184
+ @pulumi.getter(name="certificateId")
1185
+ def certificate_id(self) -> pulumi.Output[str]:
1186
+ """
1187
+ ID of the issued certificate
1188
+ """
1189
+ return pulumi.get(self, "certificate_id")
1190
+
964
1191
  @property
965
1192
  @pulumi.getter
966
1193
  def chain(self) -> pulumi.Output[str]:
967
1194
  """
968
- The trust chain of X509 certificate authority certificates in PEM format
969
- concatenated together.
1195
+ The trust chain of X509 certificate authority certificates in PEM format concatenated together.
970
1196
  """
971
1197
  return pulumi.get(self, "chain")
972
1198
 
@@ -978,11 +1204,20 @@ class Certificate(pulumi.CustomResource):
978
1204
  """
979
1205
  return pulumi.get(self, "common_name")
980
1206
 
1207
+ @property
1208
+ @pulumi.getter
1209
+ def country(self) -> pulumi.Output[Optional[str]]:
1210
+ """
1211
+ Country of the certificate (C)
1212
+ """
1213
+ return pulumi.get(self, "country")
1214
+
981
1215
  @property
982
1216
  @pulumi.getter(name="csrOrigin")
983
1217
  def csr_origin(self) -> pulumi.Output[Optional[str]]:
984
1218
  """
985
- Whether key-pair generation will be `local` or `service` generated. Default is `local`.
1219
+ Whether key-pair generation will be `local` or `service` generated. Default is
1220
+ `local`.
986
1221
  """
987
1222
  return pulumi.get(self, "csr_origin")
988
1223
 
@@ -995,8 +1230,7 @@ class Certificate(pulumi.CustomResource):
995
1230
  @pulumi.getter(name="customFields")
996
1231
  def custom_fields(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
997
1232
  """
998
- Collection of Custom Field name-value pairs to
999
- assign to the certificate.
1233
+ Collection of Custom Field name-value pairs to assign to the certificate.
1000
1234
  """
1001
1235
  return pulumi.get(self, "custom_fields")
1002
1236
 
@@ -1012,8 +1246,8 @@ class Certificate(pulumi.CustomResource):
1012
1246
  @pulumi.getter(name="expirationWindow")
1013
1247
  def expiration_window(self) -> pulumi.Output[Optional[int]]:
1014
1248
  """
1015
- Number of hours before certificate expiry
1016
- to request a new certificate. Defaults to `168`.
1249
+ Number of hours before certificate expiry to request a new certificate.
1250
+ Defaults to `168`.
1017
1251
  """
1018
1252
  return pulumi.get(self, "expiration_window")
1019
1253
 
@@ -1021,9 +1255,8 @@ class Certificate(pulumi.CustomResource):
1021
1255
  @pulumi.getter(name="issuerHint")
1022
1256
  def issuer_hint(self) -> pulumi.Output[Optional[str]]:
1023
1257
  """
1024
- Used with valid_days to indicate the target
1025
- issuer when using Trust Protection Platform. Relevant values are: "DigiCert",
1026
- "Entrust", and "Microsoft".
1258
+ Used with `valid_days` to indicate the target issuer when using Trust Protection
1259
+ Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
1027
1260
  """
1028
1261
  return pulumi.get(self, "issuer_hint")
1029
1262
 
@@ -1035,21 +1268,45 @@ class Certificate(pulumi.CustomResource):
1035
1268
  """
1036
1269
  return pulumi.get(self, "key_password")
1037
1270
 
1271
+ @property
1272
+ @pulumi.getter
1273
+ def locality(self) -> pulumi.Output[Optional[str]]:
1274
+ """
1275
+ Locality/City of the certificate (L)
1276
+ """
1277
+ return pulumi.get(self, "locality")
1278
+
1038
1279
  @property
1039
1280
  @pulumi.getter
1040
1281
  def nickname(self) -> pulumi.Output[Optional[str]]:
1041
1282
  """
1042
- Use to specify a name for the new certificate object that will be created and placed in a policy. Only valid for TPP.
1283
+ Use to specify a name for the new certificate object that will be created and placed
1284
+ in a policy. Only valid for Trust Protection Platform.
1043
1285
  """
1044
1286
  return pulumi.get(self, "nickname")
1045
1287
 
1288
+ @property
1289
+ @pulumi.getter
1290
+ def organization(self) -> pulumi.Output[Optional[str]]:
1291
+ """
1292
+ Organization of the certificate (O)
1293
+ """
1294
+ return pulumi.get(self, "organization")
1295
+
1296
+ @property
1297
+ @pulumi.getter(name="organizationalUnits")
1298
+ def organizational_units(self) -> pulumi.Output[Optional[Sequence[str]]]:
1299
+ """
1300
+ List of Organizational Units of the certificate (OU)
1301
+ """
1302
+ return pulumi.get(self, "organizational_units")
1303
+
1046
1304
  @property
1047
1305
  @pulumi.getter
1048
1306
  def pkcs12(self) -> pulumi.Output[str]:
1049
1307
  """
1050
- A base64-encoded PKCS#12 keystore secured by the `key_password`.
1051
- Useful when working with resources like
1052
- azurerm_key_vault_certificate.
1308
+ A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
1309
+ azure key_vault_certificate.
1053
1310
  """
1054
1311
  return pulumi.get(self, "pkcs12")
1055
1312
 
@@ -1061,12 +1318,20 @@ class Certificate(pulumi.CustomResource):
1061
1318
  """
1062
1319
  return pulumi.get(self, "private_key_pem")
1063
1320
 
1321
+ @property
1322
+ @pulumi.getter(name="renewRequired")
1323
+ def renew_required(self) -> pulumi.Output[Optional[bool]]:
1324
+ """
1325
+ Indicates the certificate should be reissued. This means the resource will destroyed and recreated
1326
+ """
1327
+ return pulumi.get(self, "renew_required")
1328
+
1064
1329
  @property
1065
1330
  @pulumi.getter(name="rsaBits")
1066
1331
  def rsa_bits(self) -> pulumi.Output[Optional[int]]:
1067
1332
  """
1068
- Number of bits to use when generating an RSA key.
1069
- Applies when `algorithm=RSA`. Defaults to `2048`.
1333
+ Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
1334
+ Defaults to `2048`.
1070
1335
  """
1071
1336
  return pulumi.get(self, "rsa_bits")
1072
1337
 
@@ -1074,8 +1339,7 @@ class Certificate(pulumi.CustomResource):
1074
1339
  @pulumi.getter(name="sanDns")
1075
1340
  def san_dns(self) -> pulumi.Output[Optional[Sequence[str]]]:
1076
1341
  """
1077
- List of DNS names to use as alternative
1078
- subjects of the certificate.
1342
+ List of DNS names to use as alternative subjects of the certificate.
1079
1343
  """
1080
1344
  return pulumi.get(self, "san_dns")
1081
1345
 
@@ -1083,8 +1347,7 @@ class Certificate(pulumi.CustomResource):
1083
1347
  @pulumi.getter(name="sanEmails")
1084
1348
  def san_emails(self) -> pulumi.Output[Optional[Sequence[str]]]:
1085
1349
  """
1086
- List of email addresses to use as
1087
- alternative subjects of the certificate.
1350
+ List of email addresses to use as alternative subjects of the certificate.
1088
1351
  """
1089
1352
  return pulumi.get(self, "san_emails")
1090
1353
 
@@ -1092,8 +1355,7 @@ class Certificate(pulumi.CustomResource):
1092
1355
  @pulumi.getter(name="sanIps")
1093
1356
  def san_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1094
1357
  """
1095
- List of IP addresses to use as alternative
1096
- subjects of the certificate.
1358
+ List of IP addresses to use as alternative subjects of the certificate.
1097
1359
  """
1098
1360
  return pulumi.get(self, "san_ips")
1099
1361
 
@@ -1101,17 +1363,24 @@ class Certificate(pulumi.CustomResource):
1101
1363
  @pulumi.getter(name="sanUris")
1102
1364
  def san_uris(self) -> pulumi.Output[Optional[Sequence[str]]]:
1103
1365
  """
1104
- List of Uniform Resource Identifiers (URIs) to use as alternative
1105
- subjects of the certificate.
1366
+ List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
1367
+ the certificate.
1106
1368
  """
1107
1369
  return pulumi.get(self, "san_uris")
1108
1370
 
1371
+ @property
1372
+ @pulumi.getter
1373
+ def state(self) -> pulumi.Output[Optional[str]]:
1374
+ """
1375
+ State of the certificate (S)
1376
+ """
1377
+ return pulumi.get(self, "state")
1378
+
1109
1379
  @property
1110
1380
  @pulumi.getter(name="validDays")
1111
1381
  def valid_days(self) -> pulumi.Output[Optional[int]]:
1112
1382
  """
1113
- Desired number of days for which the new
1114
- certificate will be valid.
1383
+ Desired number of days for which the new certificate will be valid.
1115
1384
  """
1116
1385
  return pulumi.get(self, "valid_days")
1117
1386