pulumiverse-acme 0.0.0__tar.gz
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.
- pulumiverse_acme-0.0.0/PKG-INFO +64 -0
- pulumiverse_acme-0.0.0/README.md +50 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/__init__.py +52 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/_inputs.py +222 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/_utilities.py +327 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/certificate.py +1976 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/config/__init__.py +8 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/config/__init__.pyi +13 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/config/vars.py +21 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/outputs.py +235 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/provider.py +99 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/pulumi-plugin.json +5 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/py.typed +0 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme/registration.py +224 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme.egg-info/PKG-INFO +64 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme.egg-info/SOURCES.txt +19 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme.egg-info/dependency_links.txt +1 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme.egg-info/requires.txt +3 -0
- pulumiverse_acme-0.0.0/pulumiverse_acme.egg-info/top_level.txt +1 -0
- pulumiverse_acme-0.0.0/pyproject.toml +22 -0
- pulumiverse_acme-0.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pulumiverse_acme
|
|
3
|
+
Version: 0.0.0
|
|
4
|
+
Summary: A Pulumi package for creating and managing ACME cloud resources.
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
Project-URL: Homepage, https://www.pulumi.com
|
|
7
|
+
Project-URL: Repository, https://github.com/pulumiverse/pulumi-acme
|
|
8
|
+
Keywords: pulumi,acme,category/cloud
|
|
9
|
+
Requires-Python: >=3.8
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: parver>=0.2.1
|
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
|
13
|
+
Requires-Dist: semver>=2.8.1
|
|
14
|
+
|
|
15
|
+
# ACME Resource Provider
|
|
16
|
+
|
|
17
|
+
The ACME Resource Provider lets you manage ACME resources.
|
|
18
|
+
[Let's Encrypt](https://letsencrypt.org/) is the biggest ACME CA in use.
|
|
19
|
+
|
|
20
|
+
## Installing
|
|
21
|
+
|
|
22
|
+
This package is available for several languages/platforms:
|
|
23
|
+
|
|
24
|
+
### Node.js (JavaScript/TypeScript)
|
|
25
|
+
|
|
26
|
+
To use from JavaScript or TypeScript in Node.js, install using either `npm`:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install @pulumiverse/acme
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
or `yarn`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
yarn add @pulumiverse/acme
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Python
|
|
39
|
+
|
|
40
|
+
To use from Python, install using `pip`:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install pulumiverse_acme
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Go
|
|
47
|
+
|
|
48
|
+
To use from Go, use `go get` to grab the latest version of the library:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
go get github.com/pulumiverse/pulumi-acme/sdk/go/...
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### .NET
|
|
55
|
+
|
|
56
|
+
To use from .NET, install using `dotnet add package`:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
dotnet add package Pulumiverse.Acme
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Reference
|
|
63
|
+
|
|
64
|
+
For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/acme/api-docs/).
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# ACME Resource Provider
|
|
2
|
+
|
|
3
|
+
The ACME Resource Provider lets you manage ACME resources.
|
|
4
|
+
[Let's Encrypt](https://letsencrypt.org/) is the biggest ACME CA in use.
|
|
5
|
+
|
|
6
|
+
## Installing
|
|
7
|
+
|
|
8
|
+
This package is available for several languages/platforms:
|
|
9
|
+
|
|
10
|
+
### Node.js (JavaScript/TypeScript)
|
|
11
|
+
|
|
12
|
+
To use from JavaScript or TypeScript in Node.js, install using either `npm`:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @pulumiverse/acme
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
or `yarn`:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
yarn add @pulumiverse/acme
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Python
|
|
25
|
+
|
|
26
|
+
To use from Python, install using `pip`:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install pulumiverse_acme
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Go
|
|
33
|
+
|
|
34
|
+
To use from Go, use `go get` to grab the latest version of the library:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
go get github.com/pulumiverse/pulumi-acme/sdk/go/...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### .NET
|
|
41
|
+
|
|
42
|
+
To use from .NET, install using `dotnet add package`:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
dotnet add package Pulumiverse.Acme
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Reference
|
|
49
|
+
|
|
50
|
+
For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/acme/api-docs/).
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
from . import _utilities
|
|
6
|
+
import typing
|
|
7
|
+
# Export this package's modules as members:
|
|
8
|
+
from .certificate import *
|
|
9
|
+
from .provider import *
|
|
10
|
+
from .registration import *
|
|
11
|
+
from ._inputs import *
|
|
12
|
+
from . import outputs
|
|
13
|
+
|
|
14
|
+
# Make subpackages available:
|
|
15
|
+
if typing.TYPE_CHECKING:
|
|
16
|
+
import pulumiverse_acme.config as __config
|
|
17
|
+
config = __config
|
|
18
|
+
else:
|
|
19
|
+
config = _utilities.lazy_import('pulumiverse_acme.config')
|
|
20
|
+
|
|
21
|
+
_utilities.register(
|
|
22
|
+
resource_modules="""
|
|
23
|
+
[
|
|
24
|
+
{
|
|
25
|
+
"pkg": "acme",
|
|
26
|
+
"mod": "index/certificate",
|
|
27
|
+
"fqn": "pulumiverse_acme",
|
|
28
|
+
"classes": {
|
|
29
|
+
"acme:index/certificate:Certificate": "Certificate"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"pkg": "acme",
|
|
34
|
+
"mod": "index/registration",
|
|
35
|
+
"fqn": "pulumiverse_acme",
|
|
36
|
+
"classes": {
|
|
37
|
+
"acme:index/registration:Registration": "Registration"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
""",
|
|
42
|
+
resource_packages="""
|
|
43
|
+
[
|
|
44
|
+
{
|
|
45
|
+
"pkg": "acme",
|
|
46
|
+
"token": "pulumi:providers:acme",
|
|
47
|
+
"fqn": "pulumiverse_acme",
|
|
48
|
+
"class": "Provider"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
"""
|
|
52
|
+
)
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import pulumi
|
|
8
|
+
import pulumi.runtime
|
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
10
|
+
from . import _utilities
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
'CertificateDnsChallengeArgs',
|
|
14
|
+
'CertificateHttpChallengeArgs',
|
|
15
|
+
'CertificateHttpMemcachedChallengeArgs',
|
|
16
|
+
'CertificateHttpS3ChallengeArgs',
|
|
17
|
+
'CertificateHttpWebrootChallengeArgs',
|
|
18
|
+
'CertificateTlsChallengeArgs',
|
|
19
|
+
'RegistrationExternalAccountBindingArgs',
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
@pulumi.input_type
|
|
23
|
+
class CertificateDnsChallengeArgs:
|
|
24
|
+
def __init__(__self__, *,
|
|
25
|
+
provider: pulumi.Input[str],
|
|
26
|
+
config: Optional[pulumi.Input[Mapping[str, Any]]] = None):
|
|
27
|
+
pulumi.set(__self__, "provider", provider)
|
|
28
|
+
if config is not None:
|
|
29
|
+
pulumi.set(__self__, "config", config)
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
@pulumi.getter
|
|
33
|
+
def provider(self) -> pulumi.Input[str]:
|
|
34
|
+
return pulumi.get(self, "provider")
|
|
35
|
+
|
|
36
|
+
@provider.setter
|
|
37
|
+
def provider(self, value: pulumi.Input[str]):
|
|
38
|
+
pulumi.set(self, "provider", value)
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
@pulumi.getter
|
|
42
|
+
def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
|
43
|
+
return pulumi.get(self, "config")
|
|
44
|
+
|
|
45
|
+
@config.setter
|
|
46
|
+
def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
|
47
|
+
pulumi.set(self, "config", value)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@pulumi.input_type
|
|
51
|
+
class CertificateHttpChallengeArgs:
|
|
52
|
+
def __init__(__self__, *,
|
|
53
|
+
port: Optional[pulumi.Input[int]] = None,
|
|
54
|
+
proxy_header: Optional[pulumi.Input[str]] = None):
|
|
55
|
+
"""
|
|
56
|
+
:param pulumi.Input[int] port: The port that the challenge server listens on. Default: `80`.
|
|
57
|
+
:param pulumi.Input[str] proxy_header: The proxy header to match against. Default:
|
|
58
|
+
`Host`.
|
|
59
|
+
|
|
60
|
+
The `proxy_header` option behaves differently depending on its definition:
|
|
61
|
+
|
|
62
|
+
* When set to `Host`, standard host header validation is used.
|
|
63
|
+
* When set to `Forwarded`, the server looks in the `Forwarded` header for a
|
|
64
|
+
section matching `host=DOMAIN` where `DOMAIN` is the domain currently being
|
|
65
|
+
resolved by the challenge. See [RFC 7239](https://tools.ietf.org/html/rfc7239)
|
|
66
|
+
for more details.
|
|
67
|
+
* When set to an arbitrary header (example: `X-Forwarded-Host`), that header is
|
|
68
|
+
checked for the host entry in the same way the host header would normally be
|
|
69
|
+
checked.
|
|
70
|
+
"""
|
|
71
|
+
if port is not None:
|
|
72
|
+
pulumi.set(__self__, "port", port)
|
|
73
|
+
if proxy_header is not None:
|
|
74
|
+
pulumi.set(__self__, "proxy_header", proxy_header)
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
@pulumi.getter
|
|
78
|
+
def port(self) -> Optional[pulumi.Input[int]]:
|
|
79
|
+
"""
|
|
80
|
+
The port that the challenge server listens on. Default: `80`.
|
|
81
|
+
"""
|
|
82
|
+
return pulumi.get(self, "port")
|
|
83
|
+
|
|
84
|
+
@port.setter
|
|
85
|
+
def port(self, value: Optional[pulumi.Input[int]]):
|
|
86
|
+
pulumi.set(self, "port", value)
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
@pulumi.getter(name="proxyHeader")
|
|
90
|
+
def proxy_header(self) -> Optional[pulumi.Input[str]]:
|
|
91
|
+
"""
|
|
92
|
+
The proxy header to match against. Default:
|
|
93
|
+
`Host`.
|
|
94
|
+
|
|
95
|
+
The `proxy_header` option behaves differently depending on its definition:
|
|
96
|
+
|
|
97
|
+
* When set to `Host`, standard host header validation is used.
|
|
98
|
+
* When set to `Forwarded`, the server looks in the `Forwarded` header for a
|
|
99
|
+
section matching `host=DOMAIN` where `DOMAIN` is the domain currently being
|
|
100
|
+
resolved by the challenge. See [RFC 7239](https://tools.ietf.org/html/rfc7239)
|
|
101
|
+
for more details.
|
|
102
|
+
* When set to an arbitrary header (example: `X-Forwarded-Host`), that header is
|
|
103
|
+
checked for the host entry in the same way the host header would normally be
|
|
104
|
+
checked.
|
|
105
|
+
"""
|
|
106
|
+
return pulumi.get(self, "proxy_header")
|
|
107
|
+
|
|
108
|
+
@proxy_header.setter
|
|
109
|
+
def proxy_header(self, value: Optional[pulumi.Input[str]]):
|
|
110
|
+
pulumi.set(self, "proxy_header", value)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
@pulumi.input_type
|
|
114
|
+
class CertificateHttpMemcachedChallengeArgs:
|
|
115
|
+
def __init__(__self__, *,
|
|
116
|
+
hosts: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
|
117
|
+
pulumi.set(__self__, "hosts", hosts)
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
@pulumi.getter
|
|
121
|
+
def hosts(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
|
122
|
+
return pulumi.get(self, "hosts")
|
|
123
|
+
|
|
124
|
+
@hosts.setter
|
|
125
|
+
def hosts(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
|
126
|
+
pulumi.set(self, "hosts", value)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
@pulumi.input_type
|
|
130
|
+
class CertificateHttpS3ChallengeArgs:
|
|
131
|
+
def __init__(__self__, *,
|
|
132
|
+
s3_bucket: pulumi.Input[str]):
|
|
133
|
+
"""
|
|
134
|
+
:param pulumi.Input[str] s3_bucket: The s3_bucket to publish the record to.
|
|
135
|
+
"""
|
|
136
|
+
pulumi.set(__self__, "s3_bucket", s3_bucket)
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
@pulumi.getter(name="s3Bucket")
|
|
140
|
+
def s3_bucket(self) -> pulumi.Input[str]:
|
|
141
|
+
"""
|
|
142
|
+
The s3_bucket to publish the record to.
|
|
143
|
+
"""
|
|
144
|
+
return pulumi.get(self, "s3_bucket")
|
|
145
|
+
|
|
146
|
+
@s3_bucket.setter
|
|
147
|
+
def s3_bucket(self, value: pulumi.Input[str]):
|
|
148
|
+
pulumi.set(self, "s3_bucket", value)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
@pulumi.input_type
|
|
152
|
+
class CertificateHttpWebrootChallengeArgs:
|
|
153
|
+
def __init__(__self__, *,
|
|
154
|
+
directory: pulumi.Input[str]):
|
|
155
|
+
"""
|
|
156
|
+
:param pulumi.Input[str] directory: The directory to publish the record to.
|
|
157
|
+
"""
|
|
158
|
+
pulumi.set(__self__, "directory", directory)
|
|
159
|
+
|
|
160
|
+
@property
|
|
161
|
+
@pulumi.getter
|
|
162
|
+
def directory(self) -> pulumi.Input[str]:
|
|
163
|
+
"""
|
|
164
|
+
The directory to publish the record to.
|
|
165
|
+
"""
|
|
166
|
+
return pulumi.get(self, "directory")
|
|
167
|
+
|
|
168
|
+
@directory.setter
|
|
169
|
+
def directory(self, value: pulumi.Input[str]):
|
|
170
|
+
pulumi.set(self, "directory", value)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
@pulumi.input_type
|
|
174
|
+
class CertificateTlsChallengeArgs:
|
|
175
|
+
def __init__(__self__, *,
|
|
176
|
+
port: Optional[pulumi.Input[int]] = None):
|
|
177
|
+
"""
|
|
178
|
+
:param pulumi.Input[int] port: The port that the challenge server listens on. Default: `443`.
|
|
179
|
+
"""
|
|
180
|
+
if port is not None:
|
|
181
|
+
pulumi.set(__self__, "port", port)
|
|
182
|
+
|
|
183
|
+
@property
|
|
184
|
+
@pulumi.getter
|
|
185
|
+
def port(self) -> Optional[pulumi.Input[int]]:
|
|
186
|
+
"""
|
|
187
|
+
The port that the challenge server listens on. Default: `443`.
|
|
188
|
+
"""
|
|
189
|
+
return pulumi.get(self, "port")
|
|
190
|
+
|
|
191
|
+
@port.setter
|
|
192
|
+
def port(self, value: Optional[pulumi.Input[int]]):
|
|
193
|
+
pulumi.set(self, "port", value)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
@pulumi.input_type
|
|
197
|
+
class RegistrationExternalAccountBindingArgs:
|
|
198
|
+
def __init__(__self__, *,
|
|
199
|
+
hmac_base64: pulumi.Input[str],
|
|
200
|
+
key_id: pulumi.Input[str]):
|
|
201
|
+
pulumi.set(__self__, "hmac_base64", hmac_base64)
|
|
202
|
+
pulumi.set(__self__, "key_id", key_id)
|
|
203
|
+
|
|
204
|
+
@property
|
|
205
|
+
@pulumi.getter(name="hmacBase64")
|
|
206
|
+
def hmac_base64(self) -> pulumi.Input[str]:
|
|
207
|
+
return pulumi.get(self, "hmac_base64")
|
|
208
|
+
|
|
209
|
+
@hmac_base64.setter
|
|
210
|
+
def hmac_base64(self, value: pulumi.Input[str]):
|
|
211
|
+
pulumi.set(self, "hmac_base64", value)
|
|
212
|
+
|
|
213
|
+
@property
|
|
214
|
+
@pulumi.getter(name="keyId")
|
|
215
|
+
def key_id(self) -> pulumi.Input[str]:
|
|
216
|
+
return pulumi.get(self, "key_id")
|
|
217
|
+
|
|
218
|
+
@key_id.setter
|
|
219
|
+
def key_id(self, value: pulumi.Input[str]):
|
|
220
|
+
pulumi.set(self, "key_id", value)
|
|
221
|
+
|
|
222
|
+
|