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.
- pulumi_tls/_inputs.py +131 -0
- pulumi_tls/_utilities.py +83 -6
- pulumi_tls/cert_request.py +33 -26
- pulumi_tls/config/__init__.pyi +5 -0
- pulumi_tls/config/outputs.py +23 -0
- pulumi_tls/config/vars.py +5 -0
- pulumi_tls/get_certificate.py +18 -5
- pulumi_tls/get_public_key.py +30 -9
- pulumi_tls/locally_signed_cert.py +9 -45
- pulumi_tls/outputs.py +7 -2
- pulumi_tls/private_key.py +13 -8
- pulumi_tls/provider.py +8 -3
- pulumi_tls/pulumi-plugin.json +2 -1
- pulumi_tls/self_signed_cert.py +21 -57
- {pulumi_tls-5.0.0.dist-info → pulumi_tls-5.1.0.dist-info}/METADATA +8 -7
- pulumi_tls-5.1.0.dist-info/RECORD +21 -0
- {pulumi_tls-5.0.0.dist-info → pulumi_tls-5.1.0.dist-info}/WHEEL +1 -1
- pulumi_tls-5.0.0.dist-info/RECORD +0 -21
- {pulumi_tls-5.0.0.dist-info → pulumi_tls-5.1.0.dist-info}/top_level.txt +0 -0
pulumi_tls/get_public_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__ = [
|
@@ -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
|
-
|
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
|
-
|
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[
|
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[
|
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[
|
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):
|
pulumi_tls/pulumi-plugin.json
CHANGED
pulumi_tls/self_signed_cert.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 . 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[
|
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[
|
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[
|
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[
|
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[
|
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
|
|