pulumi-tls 5.0.0__py3-none-any.whl → 5.1.0__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.
@@ -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__ = [
@@ -99,7 +104,7 @@ class GetPublicKeyResult:
99
104
  @pulumi.getter(name="publicKeyOpenssh")
100
105
  def public_key_openssh(self) -> str:
101
106
  """
102
- The public key, in OpenSSH PEM (RFC 4716).
107
+ The public key, in [OpenSSH PEM (RFC 4716)](https://datatracker.ietf.org/doc/html/rfc4716) format. This is also known as ['Authorized Keys'](https://www.ssh.com/academy/ssh/authorized_keys/openssh#format-of-the-authorized-keys-file) format. This is not populated for `ECDSA` with curve `P224`, as it is not supported. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
103
108
  """
104
109
  return pulumi.get(self, "public_key_openssh")
105
110
 
@@ -107,7 +112,7 @@ class GetPublicKeyResult:
107
112
  @pulumi.getter(name="publicKeyPem")
108
113
  def public_key_pem(self) -> str:
109
114
  """
110
- The public key, in PEM (RFC 1421).
115
+ The public key, in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
111
116
  """
112
117
  return pulumi.get(self, "public_key_pem")
113
118
 
@@ -140,11 +145,14 @@ def get_public_key(private_key_openssh: Optional[str] = None,
140
145
 
141
146
  ```python
142
147
  import pulumi
148
+ import pulumi_std as std
143
149
  import pulumi_tls as tls
144
150
 
145
151
  ed25519_example = tls.PrivateKey("ed25519-example", algorithm="ED25519")
152
+ # Public key loaded from a terraform-generated private key, using the PEM (RFC 1421) format
146
153
  private_key_pem_example = tls.get_public_key_output(private_key_pem=ed25519_example.private_key_pem)
147
- private_key_openssh_example = tls.get_public_key(private_key_openssh=(lambda path: open(path).read())("~/.ssh/id_rsa_rfc4716"))
154
+ # Public key loaded from filesystem, using the Open SSH (RFC 4716) format
155
+ private_key_openssh_example = tls.get_public_key(private_key_openssh=std.file(input="~/.ssh/id_rsa_rfc4716").result)
148
156
  ```
149
157
 
150
158
 
@@ -166,12 +174,9 @@ def get_public_key(private_key_openssh: Optional[str] = None,
166
174
  public_key_fingerprint_sha256=pulumi.get(__ret__, 'public_key_fingerprint_sha256'),
167
175
  public_key_openssh=pulumi.get(__ret__, 'public_key_openssh'),
168
176
  public_key_pem=pulumi.get(__ret__, 'public_key_pem'))
169
-
170
-
171
- @_utilities.lift_output_func(get_public_key)
172
177
  def get_public_key_output(private_key_openssh: Optional[pulumi.Input[Optional[str]]] = None,
173
178
  private_key_pem: Optional[pulumi.Input[Optional[str]]] = None,
174
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPublicKeyResult]:
179
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPublicKeyResult]:
175
180
  """
176
181
  Get a public key from a PEM-encoded private key.
177
182
 
@@ -181,15 +186,31 @@ def get_public_key_output(private_key_openssh: Optional[pulumi.Input[Optional[st
181
186
 
182
187
  ```python
183
188
  import pulumi
189
+ import pulumi_std as std
184
190
  import pulumi_tls as tls
185
191
 
186
192
  ed25519_example = tls.PrivateKey("ed25519-example", algorithm="ED25519")
193
+ # Public key loaded from a terraform-generated private key, using the PEM (RFC 1421) format
187
194
  private_key_pem_example = tls.get_public_key_output(private_key_pem=ed25519_example.private_key_pem)
188
- private_key_openssh_example = tls.get_public_key(private_key_openssh=(lambda path: open(path).read())("~/.ssh/id_rsa_rfc4716"))
195
+ # Public key loaded from filesystem, using the Open SSH (RFC 4716) format
196
+ private_key_openssh_example = tls.get_public_key(private_key_openssh=std.file(input="~/.ssh/id_rsa_rfc4716").result)
189
197
  ```
190
198
 
191
199
 
192
200
  :param str private_key_openssh: The private key (in [OpenSSH PEM (RFC 4716)](https://datatracker.ietf.org/doc/html/rfc4716) format) to extract the public key from. This is *mutually exclusive* with `private_key_pem`. Currently-supported algorithms for keys are: `RSA`, `ECDSA`, `ED25519`.
193
201
  :param str private_key_pem: The private key (in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format) to extract the public key from. This is *mutually exclusive* with `private_key_openssh`. Currently-supported algorithms for keys are: `RSA`, `ECDSA`, `ED25519`.
194
202
  """
195
- ...
203
+ __args__ = dict()
204
+ __args__['privateKeyOpenssh'] = private_key_openssh
205
+ __args__['privateKeyPem'] = private_key_pem
206
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
207
+ __ret__ = pulumi.runtime.invoke_output('tls:index/getPublicKey:getPublicKey', __args__, opts=opts, typ=GetPublicKeyResult)
208
+ return __ret__.apply(lambda __response__: GetPublicKeyResult(
209
+ algorithm=pulumi.get(__response__, 'algorithm'),
210
+ id=pulumi.get(__response__, 'id'),
211
+ private_key_openssh=pulumi.get(__response__, 'private_key_openssh'),
212
+ private_key_pem=pulumi.get(__response__, 'private_key_pem'),
213
+ public_key_fingerprint_md5=pulumi.get(__response__, 'public_key_fingerprint_md5'),
214
+ public_key_fingerprint_sha256=pulumi.get(__response__, 'public_key_fingerprint_sha256'),
215
+ public_key_openssh=pulumi.get(__response__, 'public_key_openssh'),
216
+ public_key_pem=pulumi.get(__response__, 'public_key_pem')))
@@ -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__ = ['LocallySignedCertArgs', 'LocallySignedCert']
@@ -29,11 +34,6 @@ class LocallySignedCertArgs:
29
34
  :param pulumi.Input[str] ca_private_key_pem: Private key of the Certificate Authority (CA) used to sign the certificate, in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
30
35
  :param pulumi.Input[str] cert_request_pem: Certificate request data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
31
36
  :param pulumi.Input[int] validity_period_hours: Number of hours, after initial issuing, that the certificate will remain valid for.
32
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
33
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
34
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
35
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
36
- early renewal period. (default: `0`)
37
37
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
38
38
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
39
39
  """
@@ -112,13 +112,6 @@ class LocallySignedCertArgs:
112
112
  @property
113
113
  @pulumi.getter(name="earlyRenewalHours")
114
114
  def early_renewal_hours(self) -> Optional[pulumi.Input[int]]:
115
- """
116
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
117
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
118
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
119
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
120
- early renewal period. (default: `0`)
121
- """
122
115
  return pulumi.get(self, "early_renewal_hours")
123
116
 
124
117
  @early_renewal_hours.setter
@@ -172,13 +165,8 @@ class _LocallySignedCertState:
172
165
  :param pulumi.Input[str] ca_cert_pem: Certificate data of the Certificate Authority (CA) in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
173
166
  :param pulumi.Input[str] ca_key_algorithm: Name of the algorithm used when generating the private key provided in `ca_private_key_pem`.
174
167
  :param pulumi.Input[str] ca_private_key_pem: Private key of the Certificate Authority (CA) used to sign the certificate, in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
175
- :param pulumi.Input[str] cert_pem: Certificate data in PEM (RFC 1421).
168
+ :param pulumi.Input[str] cert_pem: Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
176
169
  :param pulumi.Input[str] cert_request_pem: Certificate request data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
177
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
178
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
179
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
180
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
181
- early renewal period. (default: `0`)
182
170
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
183
171
  :param pulumi.Input[bool] ready_for_renewal: Is the certificate either expired (i.e. beyond the `validity_period_hours`) or ready for an early renewal (i.e. within the `early_renewal_hours`)?
184
172
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
@@ -265,7 +253,7 @@ class _LocallySignedCertState:
265
253
  @pulumi.getter(name="certPem")
266
254
  def cert_pem(self) -> Optional[pulumi.Input[str]]:
267
255
  """
268
- Certificate data in PEM (RFC 1421).
256
+ Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
269
257
  """
270
258
  return pulumi.get(self, "cert_pem")
271
259
 
@@ -288,13 +276,6 @@ class _LocallySignedCertState:
288
276
  @property
289
277
  @pulumi.getter(name="earlyRenewalHours")
290
278
  def early_renewal_hours(self) -> Optional[pulumi.Input[int]]:
291
- """
292
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
293
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
294
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
295
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
296
- early renewal period. (default: `0`)
297
- """
298
279
  return pulumi.get(self, "early_renewal_hours")
299
280
 
300
281
  @early_renewal_hours.setter
@@ -396,11 +377,6 @@ class LocallySignedCert(pulumi.CustomResource):
396
377
  :param pulumi.Input[str] ca_cert_pem: Certificate data of the Certificate Authority (CA) in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
397
378
  :param pulumi.Input[str] ca_private_key_pem: Private key of the Certificate Authority (CA) used to sign the certificate, in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
398
379
  :param pulumi.Input[str] cert_request_pem: Certificate request data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
399
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
400
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
401
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
402
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
403
- early renewal period. (default: `0`)
404
380
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
405
381
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
406
382
  :param pulumi.Input[int] validity_period_hours: Number of hours, after initial issuing, that the certificate will remain valid for.
@@ -504,13 +480,8 @@ class LocallySignedCert(pulumi.CustomResource):
504
480
  :param pulumi.Input[str] ca_cert_pem: Certificate data of the Certificate Authority (CA) in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
505
481
  :param pulumi.Input[str] ca_key_algorithm: Name of the algorithm used when generating the private key provided in `ca_private_key_pem`.
506
482
  :param pulumi.Input[str] ca_private_key_pem: Private key of the Certificate Authority (CA) used to sign the certificate, in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
507
- :param pulumi.Input[str] cert_pem: Certificate data in PEM (RFC 1421).
483
+ :param pulumi.Input[str] cert_pem: Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
508
484
  :param pulumi.Input[str] cert_request_pem: Certificate request data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format.
509
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
510
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
511
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
512
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
513
- early renewal period. (default: `0`)
514
485
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
515
486
  :param pulumi.Input[bool] ready_for_renewal: Is the certificate either expired (i.e. beyond the `validity_period_hours`) or ready for an early renewal (i.e. within the `early_renewal_hours`)?
516
487
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
@@ -573,7 +544,7 @@ class LocallySignedCert(pulumi.CustomResource):
573
544
  @pulumi.getter(name="certPem")
574
545
  def cert_pem(self) -> pulumi.Output[str]:
575
546
  """
576
- Certificate data in PEM (RFC 1421).
547
+ Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
577
548
  """
578
549
  return pulumi.get(self, "cert_pem")
579
550
 
@@ -588,13 +559,6 @@ class LocallySignedCert(pulumi.CustomResource):
588
559
  @property
589
560
  @pulumi.getter(name="earlyRenewalHours")
590
561
  def early_renewal_hours(self) -> pulumi.Output[int]:
591
- """
592
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
593
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
594
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
595
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
596
- early renewal period. (default: `0`)
597
- """
598
562
  return pulumi.get(self, "early_renewal_hours")
599
563
 
600
564
  @property
pulumi_tls/outputs.py CHANGED
@@ -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__ = [
@@ -310,7 +315,7 @@ class GetCertificateCertificateResult(dict):
310
315
  subject: str,
311
316
  version: int):
312
317
  """
313
- :param str cert_pem: Certificate data in PEM (RFC 1421).
318
+ :param str cert_pem: Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
314
319
  :param bool is_ca: `true` if the certificate is of a CA (Certificate Authority).
315
320
  :param str issuer: Who verified and signed the certificate, roughly following [RFC2253](https://tools.ietf.org/html/rfc2253).
316
321
  :param str not_after: The time until which the certificate is invalid, as an [RFC3339](https://tools.ietf.org/html/rfc3339) timestamp.
@@ -339,7 +344,7 @@ class GetCertificateCertificateResult(dict):
339
344
  @pulumi.getter(name="certPem")
340
345
  def cert_pem(self) -> str:
341
346
  """
342
- Certificate data in PEM (RFC 1421).
347
+ Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
343
348
  """
344
349
  return pulumi.get(self, "cert_pem")
345
350
 
pulumi_tls/private_key.py CHANGED
@@ -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__ = ['PrivateKeyArgs', 'PrivateKey']
@@ -88,8 +93,8 @@ class _PrivateKeyState:
88
93
  :param pulumi.Input[str] private_key_pem_pkcs8: Private key data in [PKCS#8 PEM (RFC 5208)](https://datatracker.ietf.org/doc/html/rfc5208) format.
89
94
  :param pulumi.Input[str] public_key_fingerprint_md5: The fingerprint of the public key data in OpenSSH MD5 hash format, e.g. `aa:bb:cc:...`. Only available if the selected private key format is compatible, similarly to `public_key_openssh` and the ECDSA P224 limitations.
90
95
  :param pulumi.Input[str] public_key_fingerprint_sha256: The fingerprint of the public key data in OpenSSH SHA256 hash format, e.g. `SHA256:...`. Only available if the selected private key format is compatible, similarly to `public_key_openssh` and the ECDSA P224 limitations.
91
- :param pulumi.Input[str] public_key_openssh: The public key data in "Authorized Keys".
92
- :param pulumi.Input[str] public_key_pem: Public key data in PEM (RFC 1421).
96
+ :param pulumi.Input[str] public_key_openssh: The public key data in ["Authorized Keys"](https://www.ssh.com/academy/ssh/authorized_keys/openssh#format-of-the-authorized-keys-file) format. This is not populated for `ECDSA` with curve `P224`, as it is not supported. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
97
+ :param pulumi.Input[str] public_key_pem: Public key data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
93
98
  :param pulumi.Input[int] rsa_bits: When `algorithm` is `RSA`, the size of the generated RSA key, in bits (default: `2048`).
94
99
  """
95
100
  if algorithm is not None:
@@ -201,7 +206,7 @@ class _PrivateKeyState:
201
206
  @pulumi.getter(name="publicKeyOpenssh")
202
207
  def public_key_openssh(self) -> Optional[pulumi.Input[str]]:
203
208
  """
204
- The public key data in "Authorized Keys".
209
+ The public key data in ["Authorized Keys"](https://www.ssh.com/academy/ssh/authorized_keys/openssh#format-of-the-authorized-keys-file) format. This is not populated for `ECDSA` with curve `P224`, as it is not supported. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
205
210
  """
206
211
  return pulumi.get(self, "public_key_openssh")
207
212
 
@@ -213,7 +218,7 @@ class _PrivateKeyState:
213
218
  @pulumi.getter(name="publicKeyPem")
214
219
  def public_key_pem(self) -> Optional[pulumi.Input[str]]:
215
220
  """
216
- Public key data in PEM (RFC 1421).
221
+ Public key data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
217
222
  """
218
223
  return pulumi.get(self, "public_key_pem")
219
224
 
@@ -334,8 +339,8 @@ class PrivateKey(pulumi.CustomResource):
334
339
  :param pulumi.Input[str] private_key_pem_pkcs8: Private key data in [PKCS#8 PEM (RFC 5208)](https://datatracker.ietf.org/doc/html/rfc5208) format.
335
340
  :param pulumi.Input[str] public_key_fingerprint_md5: The fingerprint of the public key data in OpenSSH MD5 hash format, e.g. `aa:bb:cc:...`. Only available if the selected private key format is compatible, similarly to `public_key_openssh` and the ECDSA P224 limitations.
336
341
  :param pulumi.Input[str] public_key_fingerprint_sha256: The fingerprint of the public key data in OpenSSH SHA256 hash format, e.g. `SHA256:...`. Only available if the selected private key format is compatible, similarly to `public_key_openssh` and the ECDSA P224 limitations.
337
- :param pulumi.Input[str] public_key_openssh: The public key data in "Authorized Keys".
338
- :param pulumi.Input[str] public_key_pem: Public key data in PEM (RFC 1421).
342
+ :param pulumi.Input[str] public_key_openssh: The public key data in ["Authorized Keys"](https://www.ssh.com/academy/ssh/authorized_keys/openssh#format-of-the-authorized-keys-file) format. This is not populated for `ECDSA` with curve `P224`, as it is not supported. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
343
+ :param pulumi.Input[str] public_key_pem: Public key data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
339
344
  :param pulumi.Input[int] rsa_bits: When `algorithm` is `RSA`, the size of the generated RSA key, in bits (default: `2048`).
340
345
  """
341
346
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -414,7 +419,7 @@ class PrivateKey(pulumi.CustomResource):
414
419
  @pulumi.getter(name="publicKeyOpenssh")
415
420
  def public_key_openssh(self) -> pulumi.Output[str]:
416
421
  """
417
- The public key data in "Authorized Keys".
422
+ The public key data in ["Authorized Keys"](https://www.ssh.com/academy/ssh/authorized_keys/openssh#format-of-the-authorized-keys-file) format. This is not populated for `ECDSA` with curve `P224`, as it is not supported. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
418
423
  """
419
424
  return pulumi.get(self, "public_key_openssh")
420
425
 
@@ -422,7 +427,7 @@ class PrivateKey(pulumi.CustomResource):
422
427
  @pulumi.getter(name="publicKeyPem")
423
428
  def public_key_pem(self) -> pulumi.Output[str]:
424
429
  """
425
- Public key data in PEM (RFC 1421).
430
+ Public key data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
426
431
  """
427
432
  return pulumi.get(self, "public_key_pem")
428
433
 
pulumi_tls/provider.py CHANGED
@@ -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
  from ._inputs import *
12
17
 
@@ -41,7 +46,7 @@ class Provider(pulumi.ProviderResource):
41
46
  def __init__(__self__,
42
47
  resource_name: str,
43
48
  opts: Optional[pulumi.ResourceOptions] = None,
44
- proxy: Optional[pulumi.Input[pulumi.InputType['ProviderProxyArgs']]] = None,
49
+ proxy: Optional[pulumi.Input[Union['ProviderProxyArgs', 'ProviderProxyArgsDict']]] = None,
45
50
  __props__=None):
46
51
  """
47
52
  The provider type for the tls package. By default, resources use package-wide configuration
@@ -51,7 +56,7 @@ class Provider(pulumi.ProviderResource):
51
56
 
52
57
  :param str resource_name: The name of the resource.
53
58
  :param pulumi.ResourceOptions opts: Options for the resource.
54
- :param pulumi.Input[pulumi.InputType['ProviderProxyArgs']] proxy: Proxy used by resources and data sources that connect to external endpoints.
59
+ :param pulumi.Input[Union['ProviderProxyArgs', 'ProviderProxyArgsDict']] proxy: Proxy used by resources and data sources that connect to external endpoints.
55
60
  """
56
61
  ...
57
62
  @overload
@@ -80,7 +85,7 @@ class Provider(pulumi.ProviderResource):
80
85
  def _internal_init(__self__,
81
86
  resource_name: str,
82
87
  opts: Optional[pulumi.ResourceOptions] = None,
83
- proxy: Optional[pulumi.Input[pulumi.InputType['ProviderProxyArgs']]] = None,
88
+ proxy: Optional[pulumi.Input[Union['ProviderProxyArgs', 'ProviderProxyArgsDict']]] = None,
84
89
  __props__=None):
85
90
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
86
91
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
- "name": "tls"
3
+ "name": "tls",
4
+ "version": "5.1.0"
4
5
  }
@@ -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
  from . import outputs
12
17
  from ._inputs import *
@@ -30,14 +35,9 @@ class SelfSignedCertArgs:
30
35
  """
31
36
  The set of arguments for constructing a SelfSignedCert resource.
32
37
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_uses: List of key usages allowed for the issued certificate. Values are defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280) and combine flags defined by both [Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3) and [Extended Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12). Accepted values: `any_extended`, `cert_signing`, `client_auth`, `code_signing`, `content_commitment`, `crl_signing`, `data_encipherment`, `decipher_only`, `digital_signature`, `email_protection`, `encipher_only`, `ipsec_end_system`, `ipsec_tunnel`, `ipsec_user`, `key_agreement`, `key_encipherment`, `microsoft_commercial_code_signing`, `microsoft_kernel_code_signing`, `microsoft_server_gated_crypto`, `netscape_server_gated_crypto`, `ocsp_signing`, `server_auth`, `timestamping`.
33
- :param pulumi.Input[str] private_key_pem: Private key in PEM (RFC 1421) interpolation function.
38
+ :param pulumi.Input[str] private_key_pem: Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
34
39
  :param pulumi.Input[int] validity_period_hours: Number of hours, after initial issuing, that the certificate will remain valid for.
35
40
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_names: List of DNS names for which a certificate is being requested (i.e. certificate subjects).
36
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
37
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
38
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
39
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
40
- early renewal period. (default: `0`)
41
41
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: List of IP addresses for which a certificate is being requested (i.e. certificate subjects).
42
42
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
43
43
  :param pulumi.Input[bool] set_authority_key_id: Should the generated certificate include an [authority key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1): for self-signed certificates this is the same value as the [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
@@ -81,7 +81,7 @@ class SelfSignedCertArgs:
81
81
  @pulumi.getter(name="privateKeyPem")
82
82
  def private_key_pem(self) -> pulumi.Input[str]:
83
83
  """
84
- Private key in PEM (RFC 1421) interpolation function.
84
+ Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
85
85
  """
86
86
  return pulumi.get(self, "private_key_pem")
87
87
 
@@ -116,13 +116,6 @@ class SelfSignedCertArgs:
116
116
  @property
117
117
  @pulumi.getter(name="earlyRenewalHours")
118
118
  def early_renewal_hours(self) -> Optional[pulumi.Input[int]]:
119
- """
120
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
121
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
122
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
123
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
124
- early renewal period. (default: `0`)
125
- """
126
119
  return pulumi.get(self, "early_renewal_hours")
127
120
 
128
121
  @early_renewal_hours.setter
@@ -224,17 +217,12 @@ class _SelfSignedCertState:
224
217
  """
225
218
  Input properties used for looking up and filtering SelfSignedCert resources.
226
219
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_uses: List of key usages allowed for the issued certificate. Values are defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280) and combine flags defined by both [Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3) and [Extended Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12). Accepted values: `any_extended`, `cert_signing`, `client_auth`, `code_signing`, `content_commitment`, `crl_signing`, `data_encipherment`, `decipher_only`, `digital_signature`, `email_protection`, `encipher_only`, `ipsec_end_system`, `ipsec_tunnel`, `ipsec_user`, `key_agreement`, `key_encipherment`, `microsoft_commercial_code_signing`, `microsoft_kernel_code_signing`, `microsoft_server_gated_crypto`, `netscape_server_gated_crypto`, `ocsp_signing`, `server_auth`, `timestamping`.
227
- :param pulumi.Input[str] cert_pem: Certificate data in PEM (RFC 1421).
220
+ :param pulumi.Input[str] cert_pem: Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
228
221
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_names: List of DNS names for which a certificate is being requested (i.e. certificate subjects).
229
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
230
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
231
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
232
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
233
- early renewal period. (default: `0`)
234
222
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: List of IP addresses for which a certificate is being requested (i.e. certificate subjects).
235
223
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
236
224
  :param pulumi.Input[str] key_algorithm: Name of the algorithm used when generating the private key provided in `private_key_pem`.
237
- :param pulumi.Input[str] private_key_pem: Private key in PEM (RFC 1421) interpolation function.
225
+ :param pulumi.Input[str] private_key_pem: Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
238
226
  :param pulumi.Input[bool] ready_for_renewal: Is the certificate either expired (i.e. beyond the `validity_period_hours`) or ready for an early renewal (i.e. within the `early_renewal_hours`)?
239
227
  :param pulumi.Input[bool] set_authority_key_id: Should the generated certificate include an [authority key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1): for self-signed certificates this is the same value as the [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
240
228
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
@@ -293,7 +281,7 @@ class _SelfSignedCertState:
293
281
  @pulumi.getter(name="certPem")
294
282
  def cert_pem(self) -> Optional[pulumi.Input[str]]:
295
283
  """
296
- Certificate data in PEM (RFC 1421).
284
+ Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
297
285
  """
298
286
  return pulumi.get(self, "cert_pem")
299
287
 
@@ -316,13 +304,6 @@ class _SelfSignedCertState:
316
304
  @property
317
305
  @pulumi.getter(name="earlyRenewalHours")
318
306
  def early_renewal_hours(self) -> Optional[pulumi.Input[int]]:
319
- """
320
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
321
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
322
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
323
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
324
- early renewal period. (default: `0`)
325
- """
326
307
  return pulumi.get(self, "early_renewal_hours")
327
308
 
328
309
  @early_renewal_hours.setter
@@ -369,7 +350,7 @@ class _SelfSignedCertState:
369
350
  @pulumi.getter(name="privateKeyPem")
370
351
  def private_key_pem(self) -> Optional[pulumi.Input[str]]:
371
352
  """
372
- Private key in PEM (RFC 1421) interpolation function.
353
+ Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
373
354
  """
374
355
  return pulumi.get(self, "private_key_pem")
375
356
 
@@ -487,7 +468,7 @@ class SelfSignedCert(pulumi.CustomResource):
487
468
  private_key_pem: Optional[pulumi.Input[str]] = None,
488
469
  set_authority_key_id: Optional[pulumi.Input[bool]] = None,
489
470
  set_subject_key_id: Optional[pulumi.Input[bool]] = None,
490
- subject: Optional[pulumi.Input[pulumi.InputType['SelfSignedCertSubjectArgs']]] = None,
471
+ subject: Optional[pulumi.Input[Union['SelfSignedCertSubjectArgs', 'SelfSignedCertSubjectArgsDict']]] = None,
491
472
  uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
492
473
  validity_period_hours: Optional[pulumi.Input[int]] = None,
493
474
  __props__=None):
@@ -497,17 +478,12 @@ class SelfSignedCert(pulumi.CustomResource):
497
478
  :param pulumi.ResourceOptions opts: Options for the resource.
498
479
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_uses: List of key usages allowed for the issued certificate. Values are defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280) and combine flags defined by both [Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3) and [Extended Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12). Accepted values: `any_extended`, `cert_signing`, `client_auth`, `code_signing`, `content_commitment`, `crl_signing`, `data_encipherment`, `decipher_only`, `digital_signature`, `email_protection`, `encipher_only`, `ipsec_end_system`, `ipsec_tunnel`, `ipsec_user`, `key_agreement`, `key_encipherment`, `microsoft_commercial_code_signing`, `microsoft_kernel_code_signing`, `microsoft_server_gated_crypto`, `netscape_server_gated_crypto`, `ocsp_signing`, `server_auth`, `timestamping`.
499
480
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_names: List of DNS names for which a certificate is being requested (i.e. certificate subjects).
500
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
501
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
502
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
503
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
504
- early renewal period. (default: `0`)
505
481
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: List of IP addresses for which a certificate is being requested (i.e. certificate subjects).
506
482
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
507
- :param pulumi.Input[str] private_key_pem: Private key in PEM (RFC 1421) interpolation function.
483
+ :param pulumi.Input[str] private_key_pem: Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
508
484
  :param pulumi.Input[bool] set_authority_key_id: Should the generated certificate include an [authority key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1): for self-signed certificates this is the same value as the [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
509
485
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
510
- :param pulumi.Input[pulumi.InputType['SelfSignedCertSubjectArgs']] subject: The subject for which a certificate is being requested. The acceptable arguments are all optional and their naming is based upon [Issuer Distinguished Names (RFC5280)](https://tools.ietf.org/html/rfc5280#section-4.1.2.4) section.
486
+ :param pulumi.Input[Union['SelfSignedCertSubjectArgs', 'SelfSignedCertSubjectArgsDict']] subject: The subject for which a certificate is being requested. The acceptable arguments are all optional and their naming is based upon [Issuer Distinguished Names (RFC5280)](https://tools.ietf.org/html/rfc5280#section-4.1.2.4) section.
511
487
  :param pulumi.Input[Sequence[pulumi.Input[str]]] uris: List of URIs for which a certificate is being requested (i.e. certificate subjects).
512
488
  :param pulumi.Input[int] validity_period_hours: Number of hours, after initial issuing, that the certificate will remain valid for.
513
489
  """
@@ -542,7 +518,7 @@ class SelfSignedCert(pulumi.CustomResource):
542
518
  private_key_pem: Optional[pulumi.Input[str]] = None,
543
519
  set_authority_key_id: Optional[pulumi.Input[bool]] = None,
544
520
  set_subject_key_id: Optional[pulumi.Input[bool]] = None,
545
- subject: Optional[pulumi.Input[pulumi.InputType['SelfSignedCertSubjectArgs']]] = None,
521
+ subject: Optional[pulumi.Input[Union['SelfSignedCertSubjectArgs', 'SelfSignedCertSubjectArgsDict']]] = None,
546
522
  uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
547
523
  validity_period_hours: Optional[pulumi.Input[int]] = None,
548
524
  __props__=None):
@@ -599,7 +575,7 @@ class SelfSignedCert(pulumi.CustomResource):
599
575
  ready_for_renewal: Optional[pulumi.Input[bool]] = None,
600
576
  set_authority_key_id: Optional[pulumi.Input[bool]] = None,
601
577
  set_subject_key_id: Optional[pulumi.Input[bool]] = None,
602
- subject: Optional[pulumi.Input[pulumi.InputType['SelfSignedCertSubjectArgs']]] = None,
578
+ subject: Optional[pulumi.Input[Union['SelfSignedCertSubjectArgs', 'SelfSignedCertSubjectArgsDict']]] = None,
603
579
  uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
604
580
  validity_end_time: Optional[pulumi.Input[str]] = None,
605
581
  validity_period_hours: Optional[pulumi.Input[int]] = None,
@@ -612,21 +588,16 @@ class SelfSignedCert(pulumi.CustomResource):
612
588
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
613
589
  :param pulumi.ResourceOptions opts: Options for the resource.
614
590
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_uses: List of key usages allowed for the issued certificate. Values are defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280) and combine flags defined by both [Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3) and [Extended Key Usages](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12). Accepted values: `any_extended`, `cert_signing`, `client_auth`, `code_signing`, `content_commitment`, `crl_signing`, `data_encipherment`, `decipher_only`, `digital_signature`, `email_protection`, `encipher_only`, `ipsec_end_system`, `ipsec_tunnel`, `ipsec_user`, `key_agreement`, `key_encipherment`, `microsoft_commercial_code_signing`, `microsoft_kernel_code_signing`, `microsoft_server_gated_crypto`, `netscape_server_gated_crypto`, `ocsp_signing`, `server_auth`, `timestamping`.
615
- :param pulumi.Input[str] cert_pem: Certificate data in PEM (RFC 1421).
591
+ :param pulumi.Input[str] cert_pem: Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
616
592
  :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_names: List of DNS names for which a certificate is being requested (i.e. certificate subjects).
617
- :param pulumi.Input[int] early_renewal_hours: The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
618
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
619
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
620
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
621
- early renewal period. (default: `0`)
622
593
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: List of IP addresses for which a certificate is being requested (i.e. certificate subjects).
623
594
  :param pulumi.Input[bool] is_ca_certificate: Is the generated certificate representing a Certificate Authority (CA) (default: `false`).
624
595
  :param pulumi.Input[str] key_algorithm: Name of the algorithm used when generating the private key provided in `private_key_pem`.
625
- :param pulumi.Input[str] private_key_pem: Private key in PEM (RFC 1421) interpolation function.
596
+ :param pulumi.Input[str] private_key_pem: Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
626
597
  :param pulumi.Input[bool] ready_for_renewal: Is the certificate either expired (i.e. beyond the `validity_period_hours`) or ready for an early renewal (i.e. within the `early_renewal_hours`)?
627
598
  :param pulumi.Input[bool] set_authority_key_id: Should the generated certificate include an [authority key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1): for self-signed certificates this is the same value as the [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
628
599
  :param pulumi.Input[bool] set_subject_key_id: Should the generated certificate include a [subject key identifier](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2) (default: `false`).
629
- :param pulumi.Input[pulumi.InputType['SelfSignedCertSubjectArgs']] subject: The subject for which a certificate is being requested. The acceptable arguments are all optional and their naming is based upon [Issuer Distinguished Names (RFC5280)](https://tools.ietf.org/html/rfc5280#section-4.1.2.4) section.
600
+ :param pulumi.Input[Union['SelfSignedCertSubjectArgs', 'SelfSignedCertSubjectArgsDict']] subject: The subject for which a certificate is being requested. The acceptable arguments are all optional and their naming is based upon [Issuer Distinguished Names (RFC5280)](https://tools.ietf.org/html/rfc5280#section-4.1.2.4) section.
630
601
  :param pulumi.Input[Sequence[pulumi.Input[str]]] uris: List of URIs for which a certificate is being requested (i.e. certificate subjects).
631
602
  :param pulumi.Input[str] validity_end_time: The time until which the certificate is invalid, expressed as an [RFC3339](https://tools.ietf.org/html/rfc3339) timestamp.
632
603
  :param pulumi.Input[int] validity_period_hours: Number of hours, after initial issuing, that the certificate will remain valid for.
@@ -666,7 +637,7 @@ class SelfSignedCert(pulumi.CustomResource):
666
637
  @pulumi.getter(name="certPem")
667
638
  def cert_pem(self) -> pulumi.Output[str]:
668
639
  """
669
- Certificate data in PEM (RFC 1421).
640
+ Certificate data in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format. **NOTE**: the [underlying](https://pkg.go.dev/encoding/pem#Encode) [libraries](https://pkg.go.dev/golang.org/x/crypto/ssh#MarshalAuthorizedKey) that generate this value append a `\\n` at the end of the PEM. In case this disrupts your use case, we recommend using `trimspace()`.
670
641
  """
671
642
  return pulumi.get(self, "cert_pem")
672
643
 
@@ -681,13 +652,6 @@ class SelfSignedCert(pulumi.CustomResource):
681
652
  @property
682
653
  @pulumi.getter(name="earlyRenewalHours")
683
654
  def early_renewal_hours(self) -> pulumi.Output[int]:
684
- """
685
- The resource will consider the certificate to have expired the given number of hours before its actual expiry time. This
686
- can be useful to deploy an updated certificate in advance of the expiration of the current certificate. However, the old
687
- certificate remains valid until its true expiration time, since this resource does not (and cannot) support certificate
688
- revocation. Also, this advance update can only be performed should the Terraform configuration be applied during the
689
- early renewal period. (default: `0`)
690
- """
691
655
  return pulumi.get(self, "early_renewal_hours")
692
656
 
693
657
  @property
@@ -718,7 +682,7 @@ class SelfSignedCert(pulumi.CustomResource):
718
682
  @pulumi.getter(name="privateKeyPem")
719
683
  def private_key_pem(self) -> pulumi.Output[str]:
720
684
  """
721
- Private key in PEM (RFC 1421) interpolation function.
685
+ Private key in [PEM (RFC 1421)](https://datatracker.ietf.org/doc/html/rfc1421) format, that the certificate will belong to. This can be read from a separate file using the `file` interpolation function.
722
686
  """
723
687
  return pulumi.get(self, "private_key_pem")
724
688