pulumi-docker-build 0.1.0a1736895711__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-docker-build might be problematic. Click here for more details.
- pulumi_docker_build/__init__.py +46 -0
- pulumi_docker_build/_enums.py +84 -0
- pulumi_docker_build/_inputs.py +3485 -0
- pulumi_docker_build/_utilities.py +327 -0
- pulumi_docker_build/config/__init__.py +8 -0
- pulumi_docker_build/config/__init__.pyi +24 -0
- pulumi_docker_build/config/vars.py +34 -0
- pulumi_docker_build/image.py +1804 -0
- pulumi_docker_build/index.py +381 -0
- pulumi_docker_build/outputs.py +2404 -0
- pulumi_docker_build/provider.py +123 -0
- pulumi_docker_build/pulumi-plugin.json +5 -0
- pulumi_docker_build/py.typed +0 -0
- pulumi_docker_build-0.1.0a1736895711.dist-info/METADATA +38 -0
- pulumi_docker_build-0.1.0a1736895711.dist-info/RECORD +17 -0
- pulumi_docker_build-0.1.0a1736895711.dist-info/WHEEL +5 -0
- pulumi_docker_build-0.1.0a1736895711.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,2404 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
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 sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
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
|
|
15
|
+
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._enums import *
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
'BuildContext',
|
|
21
|
+
'BuilderConfig',
|
|
22
|
+
'CacheFrom',
|
|
23
|
+
'CacheFromAzureBlob',
|
|
24
|
+
'CacheFromGitHubActions',
|
|
25
|
+
'CacheFromLocal',
|
|
26
|
+
'CacheFromRegistry',
|
|
27
|
+
'CacheFromS3',
|
|
28
|
+
'CacheTo',
|
|
29
|
+
'CacheToAzureBlob',
|
|
30
|
+
'CacheToGitHubActions',
|
|
31
|
+
'CacheToInline',
|
|
32
|
+
'CacheToLocal',
|
|
33
|
+
'CacheToRegistry',
|
|
34
|
+
'CacheToS3',
|
|
35
|
+
'Context',
|
|
36
|
+
'Dockerfile',
|
|
37
|
+
'Export',
|
|
38
|
+
'ExportCacheOnly',
|
|
39
|
+
'ExportDocker',
|
|
40
|
+
'ExportImage',
|
|
41
|
+
'ExportLocal',
|
|
42
|
+
'ExportOCI',
|
|
43
|
+
'ExportRegistry',
|
|
44
|
+
'ExportTar',
|
|
45
|
+
'Registry',
|
|
46
|
+
'SSH',
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
@pulumi.output_type
|
|
50
|
+
class BuildContext(dict):
|
|
51
|
+
def __init__(__self__, *,
|
|
52
|
+
location: str,
|
|
53
|
+
named: Optional[Mapping[str, 'outputs.Context']] = None):
|
|
54
|
+
"""
|
|
55
|
+
:param str location: Resources to use for build context.
|
|
56
|
+
|
|
57
|
+
The location can be:
|
|
58
|
+
* A relative or absolute path to a local directory (`.`, `./app`,
|
|
59
|
+
`/app`, etc.).
|
|
60
|
+
* A remote URL of a Git repository, tarball, or plain text file
|
|
61
|
+
(`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
|
|
62
|
+
etc.).
|
|
63
|
+
:param Mapping[str, 'Context'] named: Additional build contexts to use.
|
|
64
|
+
|
|
65
|
+
These contexts are accessed with `FROM name` or `--from=name`
|
|
66
|
+
statements when using Dockerfile 1.4+ syntax.
|
|
67
|
+
|
|
68
|
+
Values can be local paths, HTTP URLs, or `docker-image://` images.
|
|
69
|
+
"""
|
|
70
|
+
pulumi.set(__self__, "location", location)
|
|
71
|
+
if named is not None:
|
|
72
|
+
pulumi.set(__self__, "named", named)
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
@pulumi.getter
|
|
76
|
+
def location(self) -> str:
|
|
77
|
+
"""
|
|
78
|
+
Resources to use for build context.
|
|
79
|
+
|
|
80
|
+
The location can be:
|
|
81
|
+
* A relative or absolute path to a local directory (`.`, `./app`,
|
|
82
|
+
`/app`, etc.).
|
|
83
|
+
* A remote URL of a Git repository, tarball, or plain text file
|
|
84
|
+
(`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
|
|
85
|
+
etc.).
|
|
86
|
+
"""
|
|
87
|
+
return pulumi.get(self, "location")
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
@pulumi.getter
|
|
91
|
+
def named(self) -> Optional[Mapping[str, 'outputs.Context']]:
|
|
92
|
+
"""
|
|
93
|
+
Additional build contexts to use.
|
|
94
|
+
|
|
95
|
+
These contexts are accessed with `FROM name` or `--from=name`
|
|
96
|
+
statements when using Dockerfile 1.4+ syntax.
|
|
97
|
+
|
|
98
|
+
Values can be local paths, HTTP URLs, or `docker-image://` images.
|
|
99
|
+
"""
|
|
100
|
+
return pulumi.get(self, "named")
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@pulumi.output_type
|
|
104
|
+
class BuilderConfig(dict):
|
|
105
|
+
def __init__(__self__, *,
|
|
106
|
+
name: Optional[str] = None):
|
|
107
|
+
"""
|
|
108
|
+
:param str name: Name of an existing buildx builder to use.
|
|
109
|
+
|
|
110
|
+
Only `docker-container`, `kubernetes`, or `remote` drivers are
|
|
111
|
+
supported. The legacy `docker` driver is not supported.
|
|
112
|
+
|
|
113
|
+
Equivalent to Docker's `--builder` flag.
|
|
114
|
+
"""
|
|
115
|
+
if name is not None:
|
|
116
|
+
pulumi.set(__self__, "name", name)
|
|
117
|
+
|
|
118
|
+
@property
|
|
119
|
+
@pulumi.getter
|
|
120
|
+
def name(self) -> Optional[str]:
|
|
121
|
+
"""
|
|
122
|
+
Name of an existing buildx builder to use.
|
|
123
|
+
|
|
124
|
+
Only `docker-container`, `kubernetes`, or `remote` drivers are
|
|
125
|
+
supported. The legacy `docker` driver is not supported.
|
|
126
|
+
|
|
127
|
+
Equivalent to Docker's `--builder` flag.
|
|
128
|
+
"""
|
|
129
|
+
return pulumi.get(self, "name")
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
@pulumi.output_type
|
|
133
|
+
class CacheFrom(dict):
|
|
134
|
+
def __init__(__self__, *,
|
|
135
|
+
azblob: Optional['outputs.CacheFromAzureBlob'] = None,
|
|
136
|
+
disabled: Optional[bool] = None,
|
|
137
|
+
gha: Optional['outputs.CacheFromGitHubActions'] = None,
|
|
138
|
+
local: Optional['outputs.CacheFromLocal'] = None,
|
|
139
|
+
raw: Optional[str] = None,
|
|
140
|
+
registry: Optional['outputs.CacheFromRegistry'] = None,
|
|
141
|
+
s3: Optional['outputs.CacheFromS3'] = None):
|
|
142
|
+
"""
|
|
143
|
+
:param 'CacheFromAzureBlob' azblob: Upload build caches to Azure's blob storage service.
|
|
144
|
+
:param bool disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
145
|
+
:param 'CacheFromGitHubActions' gha: Recommended for use with GitHub Actions workflows.
|
|
146
|
+
|
|
147
|
+
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
148
|
+
expose appropriate credentials to your GitHub workflow.
|
|
149
|
+
:param 'CacheFromLocal' local: A simple backend which caches images on your local filesystem.
|
|
150
|
+
:param str raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
151
|
+
`type=inline`).
|
|
152
|
+
:param 'CacheFromRegistry' registry: Upload build caches to remote registries.
|
|
153
|
+
:param 'CacheFromS3' s3: Upload build caches to AWS S3 or an S3-compatible services such as
|
|
154
|
+
MinIO.
|
|
155
|
+
"""
|
|
156
|
+
if azblob is not None:
|
|
157
|
+
pulumi.set(__self__, "azblob", azblob)
|
|
158
|
+
if disabled is not None:
|
|
159
|
+
pulumi.set(__self__, "disabled", disabled)
|
|
160
|
+
if gha is not None:
|
|
161
|
+
pulumi.set(__self__, "gha", gha)
|
|
162
|
+
if local is not None:
|
|
163
|
+
pulumi.set(__self__, "local", local)
|
|
164
|
+
if raw is not None:
|
|
165
|
+
pulumi.set(__self__, "raw", raw)
|
|
166
|
+
if registry is not None:
|
|
167
|
+
pulumi.set(__self__, "registry", registry)
|
|
168
|
+
if s3 is not None:
|
|
169
|
+
pulumi.set(__self__, "s3", s3)
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
@pulumi.getter
|
|
173
|
+
def azblob(self) -> Optional['outputs.CacheFromAzureBlob']:
|
|
174
|
+
"""
|
|
175
|
+
Upload build caches to Azure's blob storage service.
|
|
176
|
+
"""
|
|
177
|
+
return pulumi.get(self, "azblob")
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
@pulumi.getter
|
|
181
|
+
def disabled(self) -> Optional[bool]:
|
|
182
|
+
"""
|
|
183
|
+
When `true` this entry will be excluded. Defaults to `false`.
|
|
184
|
+
"""
|
|
185
|
+
return pulumi.get(self, "disabled")
|
|
186
|
+
|
|
187
|
+
@property
|
|
188
|
+
@pulumi.getter
|
|
189
|
+
def gha(self) -> Optional['outputs.CacheFromGitHubActions']:
|
|
190
|
+
"""
|
|
191
|
+
Recommended for use with GitHub Actions workflows.
|
|
192
|
+
|
|
193
|
+
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
194
|
+
expose appropriate credentials to your GitHub workflow.
|
|
195
|
+
"""
|
|
196
|
+
return pulumi.get(self, "gha")
|
|
197
|
+
|
|
198
|
+
@property
|
|
199
|
+
@pulumi.getter
|
|
200
|
+
def local(self) -> Optional['outputs.CacheFromLocal']:
|
|
201
|
+
"""
|
|
202
|
+
A simple backend which caches images on your local filesystem.
|
|
203
|
+
"""
|
|
204
|
+
return pulumi.get(self, "local")
|
|
205
|
+
|
|
206
|
+
@property
|
|
207
|
+
@pulumi.getter
|
|
208
|
+
def raw(self) -> Optional[str]:
|
|
209
|
+
"""
|
|
210
|
+
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
211
|
+
`type=inline`).
|
|
212
|
+
"""
|
|
213
|
+
return pulumi.get(self, "raw")
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
@pulumi.getter
|
|
217
|
+
def registry(self) -> Optional['outputs.CacheFromRegistry']:
|
|
218
|
+
"""
|
|
219
|
+
Upload build caches to remote registries.
|
|
220
|
+
"""
|
|
221
|
+
return pulumi.get(self, "registry")
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
@pulumi.getter
|
|
225
|
+
def s3(self) -> Optional['outputs.CacheFromS3']:
|
|
226
|
+
"""
|
|
227
|
+
Upload build caches to AWS S3 or an S3-compatible services such as
|
|
228
|
+
MinIO.
|
|
229
|
+
"""
|
|
230
|
+
return pulumi.get(self, "s3")
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
@pulumi.output_type
|
|
234
|
+
class CacheFromAzureBlob(dict):
|
|
235
|
+
@staticmethod
|
|
236
|
+
def __key_warning(key: str):
|
|
237
|
+
suggest = None
|
|
238
|
+
if key == "accountUrl":
|
|
239
|
+
suggest = "account_url"
|
|
240
|
+
elif key == "secretAccessKey":
|
|
241
|
+
suggest = "secret_access_key"
|
|
242
|
+
|
|
243
|
+
if suggest:
|
|
244
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheFromAzureBlob. Access the value via the '{suggest}' property getter instead.")
|
|
245
|
+
|
|
246
|
+
def __getitem__(self, key: str) -> Any:
|
|
247
|
+
CacheFromAzureBlob.__key_warning(key)
|
|
248
|
+
return super().__getitem__(key)
|
|
249
|
+
|
|
250
|
+
def get(self, key: str, default = None) -> Any:
|
|
251
|
+
CacheFromAzureBlob.__key_warning(key)
|
|
252
|
+
return super().get(key, default)
|
|
253
|
+
|
|
254
|
+
def __init__(__self__, *,
|
|
255
|
+
name: str,
|
|
256
|
+
account_url: Optional[str] = None,
|
|
257
|
+
secret_access_key: Optional[str] = None):
|
|
258
|
+
"""
|
|
259
|
+
:param str name: The name of the cache image.
|
|
260
|
+
:param str account_url: Base URL of the storage account.
|
|
261
|
+
:param str secret_access_key: Blob storage account key.
|
|
262
|
+
"""
|
|
263
|
+
pulumi.set(__self__, "name", name)
|
|
264
|
+
if account_url is not None:
|
|
265
|
+
pulumi.set(__self__, "account_url", account_url)
|
|
266
|
+
if secret_access_key is not None:
|
|
267
|
+
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
268
|
+
|
|
269
|
+
@property
|
|
270
|
+
@pulumi.getter
|
|
271
|
+
def name(self) -> str:
|
|
272
|
+
"""
|
|
273
|
+
The name of the cache image.
|
|
274
|
+
"""
|
|
275
|
+
return pulumi.get(self, "name")
|
|
276
|
+
|
|
277
|
+
@property
|
|
278
|
+
@pulumi.getter(name="accountUrl")
|
|
279
|
+
def account_url(self) -> Optional[str]:
|
|
280
|
+
"""
|
|
281
|
+
Base URL of the storage account.
|
|
282
|
+
"""
|
|
283
|
+
return pulumi.get(self, "account_url")
|
|
284
|
+
|
|
285
|
+
@property
|
|
286
|
+
@pulumi.getter(name="secretAccessKey")
|
|
287
|
+
def secret_access_key(self) -> Optional[str]:
|
|
288
|
+
"""
|
|
289
|
+
Blob storage account key.
|
|
290
|
+
"""
|
|
291
|
+
return pulumi.get(self, "secret_access_key")
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
@pulumi.output_type
|
|
295
|
+
class CacheFromGitHubActions(dict):
|
|
296
|
+
def __init__(__self__, *,
|
|
297
|
+
scope: Optional[str] = None,
|
|
298
|
+
token: Optional[str] = None,
|
|
299
|
+
url: Optional[str] = None):
|
|
300
|
+
"""
|
|
301
|
+
:param str scope: The scope to use for cache keys. Defaults to `buildkit`.
|
|
302
|
+
|
|
303
|
+
This should be set if building and caching multiple images in one
|
|
304
|
+
workflow, otherwise caches will overwrite each other.
|
|
305
|
+
:param str token: The GitHub Actions token to use. This is not a personal access tokens
|
|
306
|
+
and is typically generated automatically as part of each job.
|
|
307
|
+
|
|
308
|
+
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
|
309
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
310
|
+
environment variable to your jobs.
|
|
311
|
+
:param str url: The cache server URL to use for artifacts.
|
|
312
|
+
|
|
313
|
+
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
|
314
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
315
|
+
environment variable to your jobs.
|
|
316
|
+
"""
|
|
317
|
+
if scope is None:
|
|
318
|
+
scope = (_utilities.get_env('buildkit') or '')
|
|
319
|
+
if scope is not None:
|
|
320
|
+
pulumi.set(__self__, "scope", scope)
|
|
321
|
+
if token is None:
|
|
322
|
+
token = (_utilities.get_env('ACTIONS_RUNTIME_TOKEN') or '')
|
|
323
|
+
if token is not None:
|
|
324
|
+
pulumi.set(__self__, "token", token)
|
|
325
|
+
if url is None:
|
|
326
|
+
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
|
327
|
+
if url is not None:
|
|
328
|
+
pulumi.set(__self__, "url", url)
|
|
329
|
+
|
|
330
|
+
@property
|
|
331
|
+
@pulumi.getter
|
|
332
|
+
def scope(self) -> Optional[str]:
|
|
333
|
+
"""
|
|
334
|
+
The scope to use for cache keys. Defaults to `buildkit`.
|
|
335
|
+
|
|
336
|
+
This should be set if building and caching multiple images in one
|
|
337
|
+
workflow, otherwise caches will overwrite each other.
|
|
338
|
+
"""
|
|
339
|
+
return pulumi.get(self, "scope")
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
@pulumi.getter
|
|
343
|
+
def token(self) -> Optional[str]:
|
|
344
|
+
"""
|
|
345
|
+
The GitHub Actions token to use. This is not a personal access tokens
|
|
346
|
+
and is typically generated automatically as part of each job.
|
|
347
|
+
|
|
348
|
+
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
|
349
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
350
|
+
environment variable to your jobs.
|
|
351
|
+
"""
|
|
352
|
+
return pulumi.get(self, "token")
|
|
353
|
+
|
|
354
|
+
@property
|
|
355
|
+
@pulumi.getter
|
|
356
|
+
def url(self) -> Optional[str]:
|
|
357
|
+
"""
|
|
358
|
+
The cache server URL to use for artifacts.
|
|
359
|
+
|
|
360
|
+
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
|
361
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
362
|
+
environment variable to your jobs.
|
|
363
|
+
"""
|
|
364
|
+
return pulumi.get(self, "url")
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
@pulumi.output_type
|
|
368
|
+
class CacheFromLocal(dict):
|
|
369
|
+
def __init__(__self__, *,
|
|
370
|
+
src: str,
|
|
371
|
+
digest: Optional[str] = None):
|
|
372
|
+
"""
|
|
373
|
+
:param str src: Path of the local directory where cache gets imported from.
|
|
374
|
+
:param str digest: Digest of manifest to import.
|
|
375
|
+
"""
|
|
376
|
+
pulumi.set(__self__, "src", src)
|
|
377
|
+
if digest is not None:
|
|
378
|
+
pulumi.set(__self__, "digest", digest)
|
|
379
|
+
|
|
380
|
+
@property
|
|
381
|
+
@pulumi.getter
|
|
382
|
+
def src(self) -> str:
|
|
383
|
+
"""
|
|
384
|
+
Path of the local directory where cache gets imported from.
|
|
385
|
+
"""
|
|
386
|
+
return pulumi.get(self, "src")
|
|
387
|
+
|
|
388
|
+
@property
|
|
389
|
+
@pulumi.getter
|
|
390
|
+
def digest(self) -> Optional[str]:
|
|
391
|
+
"""
|
|
392
|
+
Digest of manifest to import.
|
|
393
|
+
"""
|
|
394
|
+
return pulumi.get(self, "digest")
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
@pulumi.output_type
|
|
398
|
+
class CacheFromRegistry(dict):
|
|
399
|
+
def __init__(__self__, *,
|
|
400
|
+
ref: str):
|
|
401
|
+
"""
|
|
402
|
+
:param str ref: Fully qualified name of the cache image to import.
|
|
403
|
+
"""
|
|
404
|
+
pulumi.set(__self__, "ref", ref)
|
|
405
|
+
|
|
406
|
+
@property
|
|
407
|
+
@pulumi.getter
|
|
408
|
+
def ref(self) -> str:
|
|
409
|
+
"""
|
|
410
|
+
Fully qualified name of the cache image to import.
|
|
411
|
+
"""
|
|
412
|
+
return pulumi.get(self, "ref")
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
@pulumi.output_type
|
|
416
|
+
class CacheFromS3(dict):
|
|
417
|
+
@staticmethod
|
|
418
|
+
def __key_warning(key: str):
|
|
419
|
+
suggest = None
|
|
420
|
+
if key == "accessKeyId":
|
|
421
|
+
suggest = "access_key_id"
|
|
422
|
+
elif key == "blobsPrefix":
|
|
423
|
+
suggest = "blobs_prefix"
|
|
424
|
+
elif key == "endpointUrl":
|
|
425
|
+
suggest = "endpoint_url"
|
|
426
|
+
elif key == "manifestsPrefix":
|
|
427
|
+
suggest = "manifests_prefix"
|
|
428
|
+
elif key == "secretAccessKey":
|
|
429
|
+
suggest = "secret_access_key"
|
|
430
|
+
elif key == "sessionToken":
|
|
431
|
+
suggest = "session_token"
|
|
432
|
+
elif key == "usePathStyle":
|
|
433
|
+
suggest = "use_path_style"
|
|
434
|
+
|
|
435
|
+
if suggest:
|
|
436
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheFromS3. Access the value via the '{suggest}' property getter instead.")
|
|
437
|
+
|
|
438
|
+
def __getitem__(self, key: str) -> Any:
|
|
439
|
+
CacheFromS3.__key_warning(key)
|
|
440
|
+
return super().__getitem__(key)
|
|
441
|
+
|
|
442
|
+
def get(self, key: str, default = None) -> Any:
|
|
443
|
+
CacheFromS3.__key_warning(key)
|
|
444
|
+
return super().get(key, default)
|
|
445
|
+
|
|
446
|
+
def __init__(__self__, *,
|
|
447
|
+
bucket: str,
|
|
448
|
+
region: Optional[str] = None,
|
|
449
|
+
access_key_id: Optional[str] = None,
|
|
450
|
+
blobs_prefix: Optional[str] = None,
|
|
451
|
+
endpoint_url: Optional[str] = None,
|
|
452
|
+
manifests_prefix: Optional[str] = None,
|
|
453
|
+
name: Optional[str] = None,
|
|
454
|
+
secret_access_key: Optional[str] = None,
|
|
455
|
+
session_token: Optional[str] = None,
|
|
456
|
+
use_path_style: Optional[bool] = None):
|
|
457
|
+
"""
|
|
458
|
+
:param str bucket: Name of the S3 bucket.
|
|
459
|
+
:param str region: The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
460
|
+
:param str access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
461
|
+
:param str blobs_prefix: Prefix to prepend to blob filenames.
|
|
462
|
+
:param str endpoint_url: Endpoint of the S3 bucket.
|
|
463
|
+
:param str manifests_prefix: Prefix to prepend on manifest filenames.
|
|
464
|
+
:param str name: Name of the cache image.
|
|
465
|
+
:param str secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
466
|
+
:param str session_token: Defaults to `$AWS_SESSION_TOKEN`.
|
|
467
|
+
:param bool use_path_style: Uses `bucket` in the URL instead of hostname when `true`.
|
|
468
|
+
"""
|
|
469
|
+
pulumi.set(__self__, "bucket", bucket)
|
|
470
|
+
if region is None:
|
|
471
|
+
region = (_utilities.get_env('AWS_REGION') or '')
|
|
472
|
+
pulumi.set(__self__, "region", region)
|
|
473
|
+
if access_key_id is None:
|
|
474
|
+
access_key_id = (_utilities.get_env('AWS_ACCESS_KEY_ID') or '')
|
|
475
|
+
if access_key_id is not None:
|
|
476
|
+
pulumi.set(__self__, "access_key_id", access_key_id)
|
|
477
|
+
if blobs_prefix is not None:
|
|
478
|
+
pulumi.set(__self__, "blobs_prefix", blobs_prefix)
|
|
479
|
+
if endpoint_url is not None:
|
|
480
|
+
pulumi.set(__self__, "endpoint_url", endpoint_url)
|
|
481
|
+
if manifests_prefix is not None:
|
|
482
|
+
pulumi.set(__self__, "manifests_prefix", manifests_prefix)
|
|
483
|
+
if name is not None:
|
|
484
|
+
pulumi.set(__self__, "name", name)
|
|
485
|
+
if secret_access_key is None:
|
|
486
|
+
secret_access_key = (_utilities.get_env('AWS_SECRET_ACCESS_KEY') or '')
|
|
487
|
+
if secret_access_key is not None:
|
|
488
|
+
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
489
|
+
if session_token is None:
|
|
490
|
+
session_token = (_utilities.get_env('AWS_SESSION_TOKEN') or '')
|
|
491
|
+
if session_token is not None:
|
|
492
|
+
pulumi.set(__self__, "session_token", session_token)
|
|
493
|
+
if use_path_style is not None:
|
|
494
|
+
pulumi.set(__self__, "use_path_style", use_path_style)
|
|
495
|
+
|
|
496
|
+
@property
|
|
497
|
+
@pulumi.getter
|
|
498
|
+
def bucket(self) -> str:
|
|
499
|
+
"""
|
|
500
|
+
Name of the S3 bucket.
|
|
501
|
+
"""
|
|
502
|
+
return pulumi.get(self, "bucket")
|
|
503
|
+
|
|
504
|
+
@property
|
|
505
|
+
@pulumi.getter
|
|
506
|
+
def region(self) -> str:
|
|
507
|
+
"""
|
|
508
|
+
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
509
|
+
"""
|
|
510
|
+
return pulumi.get(self, "region")
|
|
511
|
+
|
|
512
|
+
@property
|
|
513
|
+
@pulumi.getter(name="accessKeyId")
|
|
514
|
+
def access_key_id(self) -> Optional[str]:
|
|
515
|
+
"""
|
|
516
|
+
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
517
|
+
"""
|
|
518
|
+
return pulumi.get(self, "access_key_id")
|
|
519
|
+
|
|
520
|
+
@property
|
|
521
|
+
@pulumi.getter(name="blobsPrefix")
|
|
522
|
+
def blobs_prefix(self) -> Optional[str]:
|
|
523
|
+
"""
|
|
524
|
+
Prefix to prepend to blob filenames.
|
|
525
|
+
"""
|
|
526
|
+
return pulumi.get(self, "blobs_prefix")
|
|
527
|
+
|
|
528
|
+
@property
|
|
529
|
+
@pulumi.getter(name="endpointUrl")
|
|
530
|
+
def endpoint_url(self) -> Optional[str]:
|
|
531
|
+
"""
|
|
532
|
+
Endpoint of the S3 bucket.
|
|
533
|
+
"""
|
|
534
|
+
return pulumi.get(self, "endpoint_url")
|
|
535
|
+
|
|
536
|
+
@property
|
|
537
|
+
@pulumi.getter(name="manifestsPrefix")
|
|
538
|
+
def manifests_prefix(self) -> Optional[str]:
|
|
539
|
+
"""
|
|
540
|
+
Prefix to prepend on manifest filenames.
|
|
541
|
+
"""
|
|
542
|
+
return pulumi.get(self, "manifests_prefix")
|
|
543
|
+
|
|
544
|
+
@property
|
|
545
|
+
@pulumi.getter
|
|
546
|
+
def name(self) -> Optional[str]:
|
|
547
|
+
"""
|
|
548
|
+
Name of the cache image.
|
|
549
|
+
"""
|
|
550
|
+
return pulumi.get(self, "name")
|
|
551
|
+
|
|
552
|
+
@property
|
|
553
|
+
@pulumi.getter(name="secretAccessKey")
|
|
554
|
+
def secret_access_key(self) -> Optional[str]:
|
|
555
|
+
"""
|
|
556
|
+
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
557
|
+
"""
|
|
558
|
+
return pulumi.get(self, "secret_access_key")
|
|
559
|
+
|
|
560
|
+
@property
|
|
561
|
+
@pulumi.getter(name="sessionToken")
|
|
562
|
+
def session_token(self) -> Optional[str]:
|
|
563
|
+
"""
|
|
564
|
+
Defaults to `$AWS_SESSION_TOKEN`.
|
|
565
|
+
"""
|
|
566
|
+
return pulumi.get(self, "session_token")
|
|
567
|
+
|
|
568
|
+
@property
|
|
569
|
+
@pulumi.getter(name="usePathStyle")
|
|
570
|
+
def use_path_style(self) -> Optional[bool]:
|
|
571
|
+
"""
|
|
572
|
+
Uses `bucket` in the URL instead of hostname when `true`.
|
|
573
|
+
"""
|
|
574
|
+
return pulumi.get(self, "use_path_style")
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
@pulumi.output_type
|
|
578
|
+
class CacheTo(dict):
|
|
579
|
+
def __init__(__self__, *,
|
|
580
|
+
azblob: Optional['outputs.CacheToAzureBlob'] = None,
|
|
581
|
+
disabled: Optional[bool] = None,
|
|
582
|
+
gha: Optional['outputs.CacheToGitHubActions'] = None,
|
|
583
|
+
inline: Optional['outputs.CacheToInline'] = None,
|
|
584
|
+
local: Optional['outputs.CacheToLocal'] = None,
|
|
585
|
+
raw: Optional[str] = None,
|
|
586
|
+
registry: Optional['outputs.CacheToRegistry'] = None,
|
|
587
|
+
s3: Optional['outputs.CacheToS3'] = None):
|
|
588
|
+
"""
|
|
589
|
+
:param 'CacheToAzureBlob' azblob: Push cache to Azure's blob storage service.
|
|
590
|
+
:param bool disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
591
|
+
:param 'CacheToGitHubActions' gha: Recommended for use with GitHub Actions workflows.
|
|
592
|
+
|
|
593
|
+
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
594
|
+
expose appropriate credentials to your GitHub workflow.
|
|
595
|
+
:param 'CacheToInline' inline: The inline cache storage backend is the simplest implementation to get
|
|
596
|
+
started with, but it does not handle multi-stage builds. Consider the
|
|
597
|
+
`registry` cache backend instead.
|
|
598
|
+
:param 'CacheToLocal' local: A simple backend which caches imagines on your local filesystem.
|
|
599
|
+
:param str raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
600
|
+
`type=inline`)
|
|
601
|
+
:param 'CacheToRegistry' registry: Push caches to remote registries. Incompatible with the `docker` build
|
|
602
|
+
driver.
|
|
603
|
+
:param 'CacheToS3' s3: Push cache to AWS S3 or S3-compatible services such as MinIO.
|
|
604
|
+
"""
|
|
605
|
+
if azblob is not None:
|
|
606
|
+
pulumi.set(__self__, "azblob", azblob)
|
|
607
|
+
if disabled is not None:
|
|
608
|
+
pulumi.set(__self__, "disabled", disabled)
|
|
609
|
+
if gha is not None:
|
|
610
|
+
pulumi.set(__self__, "gha", gha)
|
|
611
|
+
if inline is not None:
|
|
612
|
+
pulumi.set(__self__, "inline", inline)
|
|
613
|
+
if local is not None:
|
|
614
|
+
pulumi.set(__self__, "local", local)
|
|
615
|
+
if raw is not None:
|
|
616
|
+
pulumi.set(__self__, "raw", raw)
|
|
617
|
+
if registry is not None:
|
|
618
|
+
pulumi.set(__self__, "registry", registry)
|
|
619
|
+
if s3 is not None:
|
|
620
|
+
pulumi.set(__self__, "s3", s3)
|
|
621
|
+
|
|
622
|
+
@property
|
|
623
|
+
@pulumi.getter
|
|
624
|
+
def azblob(self) -> Optional['outputs.CacheToAzureBlob']:
|
|
625
|
+
"""
|
|
626
|
+
Push cache to Azure's blob storage service.
|
|
627
|
+
"""
|
|
628
|
+
return pulumi.get(self, "azblob")
|
|
629
|
+
|
|
630
|
+
@property
|
|
631
|
+
@pulumi.getter
|
|
632
|
+
def disabled(self) -> Optional[bool]:
|
|
633
|
+
"""
|
|
634
|
+
When `true` this entry will be excluded. Defaults to `false`.
|
|
635
|
+
"""
|
|
636
|
+
return pulumi.get(self, "disabled")
|
|
637
|
+
|
|
638
|
+
@property
|
|
639
|
+
@pulumi.getter
|
|
640
|
+
def gha(self) -> Optional['outputs.CacheToGitHubActions']:
|
|
641
|
+
"""
|
|
642
|
+
Recommended for use with GitHub Actions workflows.
|
|
643
|
+
|
|
644
|
+
An action like `crazy-max/ghaction-github-runtime` is recommended to
|
|
645
|
+
expose appropriate credentials to your GitHub workflow.
|
|
646
|
+
"""
|
|
647
|
+
return pulumi.get(self, "gha")
|
|
648
|
+
|
|
649
|
+
@property
|
|
650
|
+
@pulumi.getter
|
|
651
|
+
def inline(self) -> Optional['outputs.CacheToInline']:
|
|
652
|
+
"""
|
|
653
|
+
The inline cache storage backend is the simplest implementation to get
|
|
654
|
+
started with, but it does not handle multi-stage builds. Consider the
|
|
655
|
+
`registry` cache backend instead.
|
|
656
|
+
"""
|
|
657
|
+
return pulumi.get(self, "inline")
|
|
658
|
+
|
|
659
|
+
@property
|
|
660
|
+
@pulumi.getter
|
|
661
|
+
def local(self) -> Optional['outputs.CacheToLocal']:
|
|
662
|
+
"""
|
|
663
|
+
A simple backend which caches imagines on your local filesystem.
|
|
664
|
+
"""
|
|
665
|
+
return pulumi.get(self, "local")
|
|
666
|
+
|
|
667
|
+
@property
|
|
668
|
+
@pulumi.getter
|
|
669
|
+
def raw(self) -> Optional[str]:
|
|
670
|
+
"""
|
|
671
|
+
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
672
|
+
`type=inline`)
|
|
673
|
+
"""
|
|
674
|
+
return pulumi.get(self, "raw")
|
|
675
|
+
|
|
676
|
+
@property
|
|
677
|
+
@pulumi.getter
|
|
678
|
+
def registry(self) -> Optional['outputs.CacheToRegistry']:
|
|
679
|
+
"""
|
|
680
|
+
Push caches to remote registries. Incompatible with the `docker` build
|
|
681
|
+
driver.
|
|
682
|
+
"""
|
|
683
|
+
return pulumi.get(self, "registry")
|
|
684
|
+
|
|
685
|
+
@property
|
|
686
|
+
@pulumi.getter
|
|
687
|
+
def s3(self) -> Optional['outputs.CacheToS3']:
|
|
688
|
+
"""
|
|
689
|
+
Push cache to AWS S3 or S3-compatible services such as MinIO.
|
|
690
|
+
"""
|
|
691
|
+
return pulumi.get(self, "s3")
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
@pulumi.output_type
|
|
695
|
+
class CacheToAzureBlob(dict):
|
|
696
|
+
@staticmethod
|
|
697
|
+
def __key_warning(key: str):
|
|
698
|
+
suggest = None
|
|
699
|
+
if key == "accountUrl":
|
|
700
|
+
suggest = "account_url"
|
|
701
|
+
elif key == "ignoreError":
|
|
702
|
+
suggest = "ignore_error"
|
|
703
|
+
elif key == "secretAccessKey":
|
|
704
|
+
suggest = "secret_access_key"
|
|
705
|
+
|
|
706
|
+
if suggest:
|
|
707
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheToAzureBlob. Access the value via the '{suggest}' property getter instead.")
|
|
708
|
+
|
|
709
|
+
def __getitem__(self, key: str) -> Any:
|
|
710
|
+
CacheToAzureBlob.__key_warning(key)
|
|
711
|
+
return super().__getitem__(key)
|
|
712
|
+
|
|
713
|
+
def get(self, key: str, default = None) -> Any:
|
|
714
|
+
CacheToAzureBlob.__key_warning(key)
|
|
715
|
+
return super().get(key, default)
|
|
716
|
+
|
|
717
|
+
def __init__(__self__, *,
|
|
718
|
+
name: str,
|
|
719
|
+
account_url: Optional[str] = None,
|
|
720
|
+
ignore_error: Optional[bool] = None,
|
|
721
|
+
mode: Optional['CacheMode'] = None,
|
|
722
|
+
secret_access_key: Optional[str] = None):
|
|
723
|
+
"""
|
|
724
|
+
:param str name: The name of the cache image.
|
|
725
|
+
:param str account_url: Base URL of the storage account.
|
|
726
|
+
:param bool ignore_error: Ignore errors caused by failed cache exports.
|
|
727
|
+
:param 'CacheMode' mode: The cache mode to use. Defaults to `min`.
|
|
728
|
+
:param str secret_access_key: Blob storage account key.
|
|
729
|
+
"""
|
|
730
|
+
pulumi.set(__self__, "name", name)
|
|
731
|
+
if account_url is not None:
|
|
732
|
+
pulumi.set(__self__, "account_url", account_url)
|
|
733
|
+
if ignore_error is None:
|
|
734
|
+
ignore_error = False
|
|
735
|
+
if ignore_error is not None:
|
|
736
|
+
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
737
|
+
if mode is None:
|
|
738
|
+
mode = 'min'
|
|
739
|
+
if mode is not None:
|
|
740
|
+
pulumi.set(__self__, "mode", mode)
|
|
741
|
+
if secret_access_key is not None:
|
|
742
|
+
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
743
|
+
|
|
744
|
+
@property
|
|
745
|
+
@pulumi.getter
|
|
746
|
+
def name(self) -> str:
|
|
747
|
+
"""
|
|
748
|
+
The name of the cache image.
|
|
749
|
+
"""
|
|
750
|
+
return pulumi.get(self, "name")
|
|
751
|
+
|
|
752
|
+
@property
|
|
753
|
+
@pulumi.getter(name="accountUrl")
|
|
754
|
+
def account_url(self) -> Optional[str]:
|
|
755
|
+
"""
|
|
756
|
+
Base URL of the storage account.
|
|
757
|
+
"""
|
|
758
|
+
return pulumi.get(self, "account_url")
|
|
759
|
+
|
|
760
|
+
@property
|
|
761
|
+
@pulumi.getter(name="ignoreError")
|
|
762
|
+
def ignore_error(self) -> Optional[bool]:
|
|
763
|
+
"""
|
|
764
|
+
Ignore errors caused by failed cache exports.
|
|
765
|
+
"""
|
|
766
|
+
return pulumi.get(self, "ignore_error")
|
|
767
|
+
|
|
768
|
+
@property
|
|
769
|
+
@pulumi.getter
|
|
770
|
+
def mode(self) -> Optional['CacheMode']:
|
|
771
|
+
"""
|
|
772
|
+
The cache mode to use. Defaults to `min`.
|
|
773
|
+
"""
|
|
774
|
+
return pulumi.get(self, "mode")
|
|
775
|
+
|
|
776
|
+
@property
|
|
777
|
+
@pulumi.getter(name="secretAccessKey")
|
|
778
|
+
def secret_access_key(self) -> Optional[str]:
|
|
779
|
+
"""
|
|
780
|
+
Blob storage account key.
|
|
781
|
+
"""
|
|
782
|
+
return pulumi.get(self, "secret_access_key")
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
@pulumi.output_type
|
|
786
|
+
class CacheToGitHubActions(dict):
|
|
787
|
+
@staticmethod
|
|
788
|
+
def __key_warning(key: str):
|
|
789
|
+
suggest = None
|
|
790
|
+
if key == "ignoreError":
|
|
791
|
+
suggest = "ignore_error"
|
|
792
|
+
|
|
793
|
+
if suggest:
|
|
794
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheToGitHubActions. Access the value via the '{suggest}' property getter instead.")
|
|
795
|
+
|
|
796
|
+
def __getitem__(self, key: str) -> Any:
|
|
797
|
+
CacheToGitHubActions.__key_warning(key)
|
|
798
|
+
return super().__getitem__(key)
|
|
799
|
+
|
|
800
|
+
def get(self, key: str, default = None) -> Any:
|
|
801
|
+
CacheToGitHubActions.__key_warning(key)
|
|
802
|
+
return super().get(key, default)
|
|
803
|
+
|
|
804
|
+
def __init__(__self__, *,
|
|
805
|
+
ignore_error: Optional[bool] = None,
|
|
806
|
+
mode: Optional['CacheMode'] = None,
|
|
807
|
+
scope: Optional[str] = None,
|
|
808
|
+
token: Optional[str] = None,
|
|
809
|
+
url: Optional[str] = None):
|
|
810
|
+
"""
|
|
811
|
+
:param bool ignore_error: Ignore errors caused by failed cache exports.
|
|
812
|
+
:param 'CacheMode' mode: The cache mode to use. Defaults to `min`.
|
|
813
|
+
:param str scope: The scope to use for cache keys. Defaults to `buildkit`.
|
|
814
|
+
|
|
815
|
+
This should be set if building and caching multiple images in one
|
|
816
|
+
workflow, otherwise caches will overwrite each other.
|
|
817
|
+
:param str token: The GitHub Actions token to use. This is not a personal access tokens
|
|
818
|
+
and is typically generated automatically as part of each job.
|
|
819
|
+
|
|
820
|
+
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
|
821
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
822
|
+
environment variable to your jobs.
|
|
823
|
+
:param str url: The cache server URL to use for artifacts.
|
|
824
|
+
|
|
825
|
+
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
|
826
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
827
|
+
environment variable to your jobs.
|
|
828
|
+
"""
|
|
829
|
+
if ignore_error is None:
|
|
830
|
+
ignore_error = False
|
|
831
|
+
if ignore_error is not None:
|
|
832
|
+
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
833
|
+
if mode is None:
|
|
834
|
+
mode = 'min'
|
|
835
|
+
if mode is not None:
|
|
836
|
+
pulumi.set(__self__, "mode", mode)
|
|
837
|
+
if scope is None:
|
|
838
|
+
scope = (_utilities.get_env('buildkit') or '')
|
|
839
|
+
if scope is not None:
|
|
840
|
+
pulumi.set(__self__, "scope", scope)
|
|
841
|
+
if token is None:
|
|
842
|
+
token = (_utilities.get_env('ACTIONS_RUNTIME_TOKEN') or '')
|
|
843
|
+
if token is not None:
|
|
844
|
+
pulumi.set(__self__, "token", token)
|
|
845
|
+
if url is None:
|
|
846
|
+
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
|
847
|
+
if url is not None:
|
|
848
|
+
pulumi.set(__self__, "url", url)
|
|
849
|
+
|
|
850
|
+
@property
|
|
851
|
+
@pulumi.getter(name="ignoreError")
|
|
852
|
+
def ignore_error(self) -> Optional[bool]:
|
|
853
|
+
"""
|
|
854
|
+
Ignore errors caused by failed cache exports.
|
|
855
|
+
"""
|
|
856
|
+
return pulumi.get(self, "ignore_error")
|
|
857
|
+
|
|
858
|
+
@property
|
|
859
|
+
@pulumi.getter
|
|
860
|
+
def mode(self) -> Optional['CacheMode']:
|
|
861
|
+
"""
|
|
862
|
+
The cache mode to use. Defaults to `min`.
|
|
863
|
+
"""
|
|
864
|
+
return pulumi.get(self, "mode")
|
|
865
|
+
|
|
866
|
+
@property
|
|
867
|
+
@pulumi.getter
|
|
868
|
+
def scope(self) -> Optional[str]:
|
|
869
|
+
"""
|
|
870
|
+
The scope to use for cache keys. Defaults to `buildkit`.
|
|
871
|
+
|
|
872
|
+
This should be set if building and caching multiple images in one
|
|
873
|
+
workflow, otherwise caches will overwrite each other.
|
|
874
|
+
"""
|
|
875
|
+
return pulumi.get(self, "scope")
|
|
876
|
+
|
|
877
|
+
@property
|
|
878
|
+
@pulumi.getter
|
|
879
|
+
def token(self) -> Optional[str]:
|
|
880
|
+
"""
|
|
881
|
+
The GitHub Actions token to use. This is not a personal access tokens
|
|
882
|
+
and is typically generated automatically as part of each job.
|
|
883
|
+
|
|
884
|
+
Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
|
885
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
886
|
+
environment variable to your jobs.
|
|
887
|
+
"""
|
|
888
|
+
return pulumi.get(self, "token")
|
|
889
|
+
|
|
890
|
+
@property
|
|
891
|
+
@pulumi.getter
|
|
892
|
+
def url(self) -> Optional[str]:
|
|
893
|
+
"""
|
|
894
|
+
The cache server URL to use for artifacts.
|
|
895
|
+
|
|
896
|
+
Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
|
897
|
+
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
|
898
|
+
environment variable to your jobs.
|
|
899
|
+
"""
|
|
900
|
+
return pulumi.get(self, "url")
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
@pulumi.output_type
|
|
904
|
+
class CacheToInline(dict):
|
|
905
|
+
"""
|
|
906
|
+
Include an inline cache with the exported image.
|
|
907
|
+
"""
|
|
908
|
+
def __init__(__self__):
|
|
909
|
+
"""
|
|
910
|
+
Include an inline cache with the exported image.
|
|
911
|
+
"""
|
|
912
|
+
pass
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
@pulumi.output_type
|
|
916
|
+
class CacheToLocal(dict):
|
|
917
|
+
@staticmethod
|
|
918
|
+
def __key_warning(key: str):
|
|
919
|
+
suggest = None
|
|
920
|
+
if key == "compressionLevel":
|
|
921
|
+
suggest = "compression_level"
|
|
922
|
+
elif key == "forceCompression":
|
|
923
|
+
suggest = "force_compression"
|
|
924
|
+
elif key == "ignoreError":
|
|
925
|
+
suggest = "ignore_error"
|
|
926
|
+
|
|
927
|
+
if suggest:
|
|
928
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheToLocal. Access the value via the '{suggest}' property getter instead.")
|
|
929
|
+
|
|
930
|
+
def __getitem__(self, key: str) -> Any:
|
|
931
|
+
CacheToLocal.__key_warning(key)
|
|
932
|
+
return super().__getitem__(key)
|
|
933
|
+
|
|
934
|
+
def get(self, key: str, default = None) -> Any:
|
|
935
|
+
CacheToLocal.__key_warning(key)
|
|
936
|
+
return super().get(key, default)
|
|
937
|
+
|
|
938
|
+
def __init__(__self__, *,
|
|
939
|
+
dest: str,
|
|
940
|
+
compression: Optional['CompressionType'] = None,
|
|
941
|
+
compression_level: Optional[int] = None,
|
|
942
|
+
force_compression: Optional[bool] = None,
|
|
943
|
+
ignore_error: Optional[bool] = None,
|
|
944
|
+
mode: Optional['CacheMode'] = None):
|
|
945
|
+
"""
|
|
946
|
+
:param str dest: Path of the local directory to export the cache.
|
|
947
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
948
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
949
|
+
:param bool force_compression: Forcefully apply compression.
|
|
950
|
+
:param bool ignore_error: Ignore errors caused by failed cache exports.
|
|
951
|
+
:param 'CacheMode' mode: The cache mode to use. Defaults to `min`.
|
|
952
|
+
"""
|
|
953
|
+
pulumi.set(__self__, "dest", dest)
|
|
954
|
+
if compression is None:
|
|
955
|
+
compression = 'gzip'
|
|
956
|
+
if compression is not None:
|
|
957
|
+
pulumi.set(__self__, "compression", compression)
|
|
958
|
+
if compression_level is None:
|
|
959
|
+
compression_level = 0
|
|
960
|
+
if compression_level is not None:
|
|
961
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
962
|
+
if force_compression is None:
|
|
963
|
+
force_compression = False
|
|
964
|
+
if force_compression is not None:
|
|
965
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
966
|
+
if ignore_error is None:
|
|
967
|
+
ignore_error = False
|
|
968
|
+
if ignore_error is not None:
|
|
969
|
+
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
970
|
+
if mode is None:
|
|
971
|
+
mode = 'min'
|
|
972
|
+
if mode is not None:
|
|
973
|
+
pulumi.set(__self__, "mode", mode)
|
|
974
|
+
|
|
975
|
+
@property
|
|
976
|
+
@pulumi.getter
|
|
977
|
+
def dest(self) -> str:
|
|
978
|
+
"""
|
|
979
|
+
Path of the local directory to export the cache.
|
|
980
|
+
"""
|
|
981
|
+
return pulumi.get(self, "dest")
|
|
982
|
+
|
|
983
|
+
@property
|
|
984
|
+
@pulumi.getter
|
|
985
|
+
def compression(self) -> Optional['CompressionType']:
|
|
986
|
+
"""
|
|
987
|
+
The compression type to use.
|
|
988
|
+
"""
|
|
989
|
+
return pulumi.get(self, "compression")
|
|
990
|
+
|
|
991
|
+
@property
|
|
992
|
+
@pulumi.getter(name="compressionLevel")
|
|
993
|
+
def compression_level(self) -> Optional[int]:
|
|
994
|
+
"""
|
|
995
|
+
Compression level from 0 to 22.
|
|
996
|
+
"""
|
|
997
|
+
return pulumi.get(self, "compression_level")
|
|
998
|
+
|
|
999
|
+
@property
|
|
1000
|
+
@pulumi.getter(name="forceCompression")
|
|
1001
|
+
def force_compression(self) -> Optional[bool]:
|
|
1002
|
+
"""
|
|
1003
|
+
Forcefully apply compression.
|
|
1004
|
+
"""
|
|
1005
|
+
return pulumi.get(self, "force_compression")
|
|
1006
|
+
|
|
1007
|
+
@property
|
|
1008
|
+
@pulumi.getter(name="ignoreError")
|
|
1009
|
+
def ignore_error(self) -> Optional[bool]:
|
|
1010
|
+
"""
|
|
1011
|
+
Ignore errors caused by failed cache exports.
|
|
1012
|
+
"""
|
|
1013
|
+
return pulumi.get(self, "ignore_error")
|
|
1014
|
+
|
|
1015
|
+
@property
|
|
1016
|
+
@pulumi.getter
|
|
1017
|
+
def mode(self) -> Optional['CacheMode']:
|
|
1018
|
+
"""
|
|
1019
|
+
The cache mode to use. Defaults to `min`.
|
|
1020
|
+
"""
|
|
1021
|
+
return pulumi.get(self, "mode")
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
@pulumi.output_type
|
|
1025
|
+
class CacheToRegistry(dict):
|
|
1026
|
+
@staticmethod
|
|
1027
|
+
def __key_warning(key: str):
|
|
1028
|
+
suggest = None
|
|
1029
|
+
if key == "compressionLevel":
|
|
1030
|
+
suggest = "compression_level"
|
|
1031
|
+
elif key == "forceCompression":
|
|
1032
|
+
suggest = "force_compression"
|
|
1033
|
+
elif key == "ignoreError":
|
|
1034
|
+
suggest = "ignore_error"
|
|
1035
|
+
elif key == "imageManifest":
|
|
1036
|
+
suggest = "image_manifest"
|
|
1037
|
+
elif key == "ociMediaTypes":
|
|
1038
|
+
suggest = "oci_media_types"
|
|
1039
|
+
|
|
1040
|
+
if suggest:
|
|
1041
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheToRegistry. Access the value via the '{suggest}' property getter instead.")
|
|
1042
|
+
|
|
1043
|
+
def __getitem__(self, key: str) -> Any:
|
|
1044
|
+
CacheToRegistry.__key_warning(key)
|
|
1045
|
+
return super().__getitem__(key)
|
|
1046
|
+
|
|
1047
|
+
def get(self, key: str, default = None) -> Any:
|
|
1048
|
+
CacheToRegistry.__key_warning(key)
|
|
1049
|
+
return super().get(key, default)
|
|
1050
|
+
|
|
1051
|
+
def __init__(__self__, *,
|
|
1052
|
+
ref: str,
|
|
1053
|
+
compression: Optional['CompressionType'] = None,
|
|
1054
|
+
compression_level: Optional[int] = None,
|
|
1055
|
+
force_compression: Optional[bool] = None,
|
|
1056
|
+
ignore_error: Optional[bool] = None,
|
|
1057
|
+
image_manifest: Optional[bool] = None,
|
|
1058
|
+
mode: Optional['CacheMode'] = None,
|
|
1059
|
+
oci_media_types: Optional[bool] = None):
|
|
1060
|
+
"""
|
|
1061
|
+
:param str ref: Fully qualified name of the cache image to import.
|
|
1062
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
1063
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
1064
|
+
:param bool force_compression: Forcefully apply compression.
|
|
1065
|
+
:param bool ignore_error: Ignore errors caused by failed cache exports.
|
|
1066
|
+
:param bool image_manifest: Export cache manifest as an OCI-compatible image manifest instead of a
|
|
1067
|
+
manifest list. Requires `ociMediaTypes` to also be `true`.
|
|
1068
|
+
|
|
1069
|
+
Some registries like AWS ECR will not work with caching if this is
|
|
1070
|
+
`false`.
|
|
1071
|
+
|
|
1072
|
+
Defaults to `false` to match Docker's default behavior.
|
|
1073
|
+
:param 'CacheMode' mode: The cache mode to use. Defaults to `min`.
|
|
1074
|
+
:param bool oci_media_types: Whether to use OCI media types in exported manifests. Defaults to
|
|
1075
|
+
`true`.
|
|
1076
|
+
"""
|
|
1077
|
+
pulumi.set(__self__, "ref", ref)
|
|
1078
|
+
if compression is None:
|
|
1079
|
+
compression = 'gzip'
|
|
1080
|
+
if compression is not None:
|
|
1081
|
+
pulumi.set(__self__, "compression", compression)
|
|
1082
|
+
if compression_level is None:
|
|
1083
|
+
compression_level = 0
|
|
1084
|
+
if compression_level is not None:
|
|
1085
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
1086
|
+
if force_compression is None:
|
|
1087
|
+
force_compression = False
|
|
1088
|
+
if force_compression is not None:
|
|
1089
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
1090
|
+
if ignore_error is None:
|
|
1091
|
+
ignore_error = False
|
|
1092
|
+
if ignore_error is not None:
|
|
1093
|
+
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
1094
|
+
if image_manifest is None:
|
|
1095
|
+
image_manifest = False
|
|
1096
|
+
if image_manifest is not None:
|
|
1097
|
+
pulumi.set(__self__, "image_manifest", image_manifest)
|
|
1098
|
+
if mode is None:
|
|
1099
|
+
mode = 'min'
|
|
1100
|
+
if mode is not None:
|
|
1101
|
+
pulumi.set(__self__, "mode", mode)
|
|
1102
|
+
if oci_media_types is None:
|
|
1103
|
+
oci_media_types = True
|
|
1104
|
+
if oci_media_types is not None:
|
|
1105
|
+
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
1106
|
+
|
|
1107
|
+
@property
|
|
1108
|
+
@pulumi.getter
|
|
1109
|
+
def ref(self) -> str:
|
|
1110
|
+
"""
|
|
1111
|
+
Fully qualified name of the cache image to import.
|
|
1112
|
+
"""
|
|
1113
|
+
return pulumi.get(self, "ref")
|
|
1114
|
+
|
|
1115
|
+
@property
|
|
1116
|
+
@pulumi.getter
|
|
1117
|
+
def compression(self) -> Optional['CompressionType']:
|
|
1118
|
+
"""
|
|
1119
|
+
The compression type to use.
|
|
1120
|
+
"""
|
|
1121
|
+
return pulumi.get(self, "compression")
|
|
1122
|
+
|
|
1123
|
+
@property
|
|
1124
|
+
@pulumi.getter(name="compressionLevel")
|
|
1125
|
+
def compression_level(self) -> Optional[int]:
|
|
1126
|
+
"""
|
|
1127
|
+
Compression level from 0 to 22.
|
|
1128
|
+
"""
|
|
1129
|
+
return pulumi.get(self, "compression_level")
|
|
1130
|
+
|
|
1131
|
+
@property
|
|
1132
|
+
@pulumi.getter(name="forceCompression")
|
|
1133
|
+
def force_compression(self) -> Optional[bool]:
|
|
1134
|
+
"""
|
|
1135
|
+
Forcefully apply compression.
|
|
1136
|
+
"""
|
|
1137
|
+
return pulumi.get(self, "force_compression")
|
|
1138
|
+
|
|
1139
|
+
@property
|
|
1140
|
+
@pulumi.getter(name="ignoreError")
|
|
1141
|
+
def ignore_error(self) -> Optional[bool]:
|
|
1142
|
+
"""
|
|
1143
|
+
Ignore errors caused by failed cache exports.
|
|
1144
|
+
"""
|
|
1145
|
+
return pulumi.get(self, "ignore_error")
|
|
1146
|
+
|
|
1147
|
+
@property
|
|
1148
|
+
@pulumi.getter(name="imageManifest")
|
|
1149
|
+
def image_manifest(self) -> Optional[bool]:
|
|
1150
|
+
"""
|
|
1151
|
+
Export cache manifest as an OCI-compatible image manifest instead of a
|
|
1152
|
+
manifest list. Requires `ociMediaTypes` to also be `true`.
|
|
1153
|
+
|
|
1154
|
+
Some registries like AWS ECR will not work with caching if this is
|
|
1155
|
+
`false`.
|
|
1156
|
+
|
|
1157
|
+
Defaults to `false` to match Docker's default behavior.
|
|
1158
|
+
"""
|
|
1159
|
+
return pulumi.get(self, "image_manifest")
|
|
1160
|
+
|
|
1161
|
+
@property
|
|
1162
|
+
@pulumi.getter
|
|
1163
|
+
def mode(self) -> Optional['CacheMode']:
|
|
1164
|
+
"""
|
|
1165
|
+
The cache mode to use. Defaults to `min`.
|
|
1166
|
+
"""
|
|
1167
|
+
return pulumi.get(self, "mode")
|
|
1168
|
+
|
|
1169
|
+
@property
|
|
1170
|
+
@pulumi.getter(name="ociMediaTypes")
|
|
1171
|
+
def oci_media_types(self) -> Optional[bool]:
|
|
1172
|
+
"""
|
|
1173
|
+
Whether to use OCI media types in exported manifests. Defaults to
|
|
1174
|
+
`true`.
|
|
1175
|
+
"""
|
|
1176
|
+
return pulumi.get(self, "oci_media_types")
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
@pulumi.output_type
|
|
1180
|
+
class CacheToS3(dict):
|
|
1181
|
+
@staticmethod
|
|
1182
|
+
def __key_warning(key: str):
|
|
1183
|
+
suggest = None
|
|
1184
|
+
if key == "accessKeyId":
|
|
1185
|
+
suggest = "access_key_id"
|
|
1186
|
+
elif key == "blobsPrefix":
|
|
1187
|
+
suggest = "blobs_prefix"
|
|
1188
|
+
elif key == "endpointUrl":
|
|
1189
|
+
suggest = "endpoint_url"
|
|
1190
|
+
elif key == "ignoreError":
|
|
1191
|
+
suggest = "ignore_error"
|
|
1192
|
+
elif key == "manifestsPrefix":
|
|
1193
|
+
suggest = "manifests_prefix"
|
|
1194
|
+
elif key == "secretAccessKey":
|
|
1195
|
+
suggest = "secret_access_key"
|
|
1196
|
+
elif key == "sessionToken":
|
|
1197
|
+
suggest = "session_token"
|
|
1198
|
+
elif key == "usePathStyle":
|
|
1199
|
+
suggest = "use_path_style"
|
|
1200
|
+
|
|
1201
|
+
if suggest:
|
|
1202
|
+
pulumi.log.warn(f"Key '{key}' not found in CacheToS3. Access the value via the '{suggest}' property getter instead.")
|
|
1203
|
+
|
|
1204
|
+
def __getitem__(self, key: str) -> Any:
|
|
1205
|
+
CacheToS3.__key_warning(key)
|
|
1206
|
+
return super().__getitem__(key)
|
|
1207
|
+
|
|
1208
|
+
def get(self, key: str, default = None) -> Any:
|
|
1209
|
+
CacheToS3.__key_warning(key)
|
|
1210
|
+
return super().get(key, default)
|
|
1211
|
+
|
|
1212
|
+
def __init__(__self__, *,
|
|
1213
|
+
bucket: str,
|
|
1214
|
+
region: Optional[str] = None,
|
|
1215
|
+
access_key_id: Optional[str] = None,
|
|
1216
|
+
blobs_prefix: Optional[str] = None,
|
|
1217
|
+
endpoint_url: Optional[str] = None,
|
|
1218
|
+
ignore_error: Optional[bool] = None,
|
|
1219
|
+
manifests_prefix: Optional[str] = None,
|
|
1220
|
+
mode: Optional['CacheMode'] = None,
|
|
1221
|
+
name: Optional[str] = None,
|
|
1222
|
+
secret_access_key: Optional[str] = None,
|
|
1223
|
+
session_token: Optional[str] = None,
|
|
1224
|
+
use_path_style: Optional[bool] = None):
|
|
1225
|
+
"""
|
|
1226
|
+
:param str bucket: Name of the S3 bucket.
|
|
1227
|
+
:param str region: The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
1228
|
+
:param str access_key_id: Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
1229
|
+
:param str blobs_prefix: Prefix to prepend to blob filenames.
|
|
1230
|
+
:param str endpoint_url: Endpoint of the S3 bucket.
|
|
1231
|
+
:param bool ignore_error: Ignore errors caused by failed cache exports.
|
|
1232
|
+
:param str manifests_prefix: Prefix to prepend on manifest filenames.
|
|
1233
|
+
:param 'CacheMode' mode: The cache mode to use. Defaults to `min`.
|
|
1234
|
+
:param str name: Name of the cache image.
|
|
1235
|
+
:param str secret_access_key: Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
1236
|
+
:param str session_token: Defaults to `$AWS_SESSION_TOKEN`.
|
|
1237
|
+
:param bool use_path_style: Uses `bucket` in the URL instead of hostname when `true`.
|
|
1238
|
+
"""
|
|
1239
|
+
pulumi.set(__self__, "bucket", bucket)
|
|
1240
|
+
if region is None:
|
|
1241
|
+
region = (_utilities.get_env('AWS_REGION') or '')
|
|
1242
|
+
pulumi.set(__self__, "region", region)
|
|
1243
|
+
if access_key_id is None:
|
|
1244
|
+
access_key_id = (_utilities.get_env('AWS_ACCESS_KEY_ID') or '')
|
|
1245
|
+
if access_key_id is not None:
|
|
1246
|
+
pulumi.set(__self__, "access_key_id", access_key_id)
|
|
1247
|
+
if blobs_prefix is not None:
|
|
1248
|
+
pulumi.set(__self__, "blobs_prefix", blobs_prefix)
|
|
1249
|
+
if endpoint_url is not None:
|
|
1250
|
+
pulumi.set(__self__, "endpoint_url", endpoint_url)
|
|
1251
|
+
if ignore_error is None:
|
|
1252
|
+
ignore_error = False
|
|
1253
|
+
if ignore_error is not None:
|
|
1254
|
+
pulumi.set(__self__, "ignore_error", ignore_error)
|
|
1255
|
+
if manifests_prefix is not None:
|
|
1256
|
+
pulumi.set(__self__, "manifests_prefix", manifests_prefix)
|
|
1257
|
+
if mode is None:
|
|
1258
|
+
mode = 'min'
|
|
1259
|
+
if mode is not None:
|
|
1260
|
+
pulumi.set(__self__, "mode", mode)
|
|
1261
|
+
if name is not None:
|
|
1262
|
+
pulumi.set(__self__, "name", name)
|
|
1263
|
+
if secret_access_key is None:
|
|
1264
|
+
secret_access_key = (_utilities.get_env('AWS_SECRET_ACCESS_KEY') or '')
|
|
1265
|
+
if secret_access_key is not None:
|
|
1266
|
+
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
|
1267
|
+
if session_token is None:
|
|
1268
|
+
session_token = (_utilities.get_env('AWS_SESSION_TOKEN') or '')
|
|
1269
|
+
if session_token is not None:
|
|
1270
|
+
pulumi.set(__self__, "session_token", session_token)
|
|
1271
|
+
if use_path_style is not None:
|
|
1272
|
+
pulumi.set(__self__, "use_path_style", use_path_style)
|
|
1273
|
+
|
|
1274
|
+
@property
|
|
1275
|
+
@pulumi.getter
|
|
1276
|
+
def bucket(self) -> str:
|
|
1277
|
+
"""
|
|
1278
|
+
Name of the S3 bucket.
|
|
1279
|
+
"""
|
|
1280
|
+
return pulumi.get(self, "bucket")
|
|
1281
|
+
|
|
1282
|
+
@property
|
|
1283
|
+
@pulumi.getter
|
|
1284
|
+
def region(self) -> str:
|
|
1285
|
+
"""
|
|
1286
|
+
The geographic location of the bucket. Defaults to `$AWS_REGION`.
|
|
1287
|
+
"""
|
|
1288
|
+
return pulumi.get(self, "region")
|
|
1289
|
+
|
|
1290
|
+
@property
|
|
1291
|
+
@pulumi.getter(name="accessKeyId")
|
|
1292
|
+
def access_key_id(self) -> Optional[str]:
|
|
1293
|
+
"""
|
|
1294
|
+
Defaults to `$AWS_ACCESS_KEY_ID`.
|
|
1295
|
+
"""
|
|
1296
|
+
return pulumi.get(self, "access_key_id")
|
|
1297
|
+
|
|
1298
|
+
@property
|
|
1299
|
+
@pulumi.getter(name="blobsPrefix")
|
|
1300
|
+
def blobs_prefix(self) -> Optional[str]:
|
|
1301
|
+
"""
|
|
1302
|
+
Prefix to prepend to blob filenames.
|
|
1303
|
+
"""
|
|
1304
|
+
return pulumi.get(self, "blobs_prefix")
|
|
1305
|
+
|
|
1306
|
+
@property
|
|
1307
|
+
@pulumi.getter(name="endpointUrl")
|
|
1308
|
+
def endpoint_url(self) -> Optional[str]:
|
|
1309
|
+
"""
|
|
1310
|
+
Endpoint of the S3 bucket.
|
|
1311
|
+
"""
|
|
1312
|
+
return pulumi.get(self, "endpoint_url")
|
|
1313
|
+
|
|
1314
|
+
@property
|
|
1315
|
+
@pulumi.getter(name="ignoreError")
|
|
1316
|
+
def ignore_error(self) -> Optional[bool]:
|
|
1317
|
+
"""
|
|
1318
|
+
Ignore errors caused by failed cache exports.
|
|
1319
|
+
"""
|
|
1320
|
+
return pulumi.get(self, "ignore_error")
|
|
1321
|
+
|
|
1322
|
+
@property
|
|
1323
|
+
@pulumi.getter(name="manifestsPrefix")
|
|
1324
|
+
def manifests_prefix(self) -> Optional[str]:
|
|
1325
|
+
"""
|
|
1326
|
+
Prefix to prepend on manifest filenames.
|
|
1327
|
+
"""
|
|
1328
|
+
return pulumi.get(self, "manifests_prefix")
|
|
1329
|
+
|
|
1330
|
+
@property
|
|
1331
|
+
@pulumi.getter
|
|
1332
|
+
def mode(self) -> Optional['CacheMode']:
|
|
1333
|
+
"""
|
|
1334
|
+
The cache mode to use. Defaults to `min`.
|
|
1335
|
+
"""
|
|
1336
|
+
return pulumi.get(self, "mode")
|
|
1337
|
+
|
|
1338
|
+
@property
|
|
1339
|
+
@pulumi.getter
|
|
1340
|
+
def name(self) -> Optional[str]:
|
|
1341
|
+
"""
|
|
1342
|
+
Name of the cache image.
|
|
1343
|
+
"""
|
|
1344
|
+
return pulumi.get(self, "name")
|
|
1345
|
+
|
|
1346
|
+
@property
|
|
1347
|
+
@pulumi.getter(name="secretAccessKey")
|
|
1348
|
+
def secret_access_key(self) -> Optional[str]:
|
|
1349
|
+
"""
|
|
1350
|
+
Defaults to `$AWS_SECRET_ACCESS_KEY`.
|
|
1351
|
+
"""
|
|
1352
|
+
return pulumi.get(self, "secret_access_key")
|
|
1353
|
+
|
|
1354
|
+
@property
|
|
1355
|
+
@pulumi.getter(name="sessionToken")
|
|
1356
|
+
def session_token(self) -> Optional[str]:
|
|
1357
|
+
"""
|
|
1358
|
+
Defaults to `$AWS_SESSION_TOKEN`.
|
|
1359
|
+
"""
|
|
1360
|
+
return pulumi.get(self, "session_token")
|
|
1361
|
+
|
|
1362
|
+
@property
|
|
1363
|
+
@pulumi.getter(name="usePathStyle")
|
|
1364
|
+
def use_path_style(self) -> Optional[bool]:
|
|
1365
|
+
"""
|
|
1366
|
+
Uses `bucket` in the URL instead of hostname when `true`.
|
|
1367
|
+
"""
|
|
1368
|
+
return pulumi.get(self, "use_path_style")
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
@pulumi.output_type
|
|
1372
|
+
class Context(dict):
|
|
1373
|
+
def __init__(__self__, *,
|
|
1374
|
+
location: str):
|
|
1375
|
+
"""
|
|
1376
|
+
:param str location: Resources to use for build context.
|
|
1377
|
+
|
|
1378
|
+
The location can be:
|
|
1379
|
+
* A relative or absolute path to a local directory (`.`, `./app`,
|
|
1380
|
+
`/app`, etc.).
|
|
1381
|
+
* A remote URL of a Git repository, tarball, or plain text file
|
|
1382
|
+
(`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
|
|
1383
|
+
etc.).
|
|
1384
|
+
"""
|
|
1385
|
+
pulumi.set(__self__, "location", location)
|
|
1386
|
+
|
|
1387
|
+
@property
|
|
1388
|
+
@pulumi.getter
|
|
1389
|
+
def location(self) -> str:
|
|
1390
|
+
"""
|
|
1391
|
+
Resources to use for build context.
|
|
1392
|
+
|
|
1393
|
+
The location can be:
|
|
1394
|
+
* A relative or absolute path to a local directory (`.`, `./app`,
|
|
1395
|
+
`/app`, etc.).
|
|
1396
|
+
* A remote URL of a Git repository, tarball, or plain text file
|
|
1397
|
+
(`https://github.com/user/myrepo.git`, `http://server/context.tar.gz`,
|
|
1398
|
+
etc.).
|
|
1399
|
+
"""
|
|
1400
|
+
return pulumi.get(self, "location")
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
@pulumi.output_type
|
|
1404
|
+
class Dockerfile(dict):
|
|
1405
|
+
def __init__(__self__, *,
|
|
1406
|
+
inline: Optional[str] = None,
|
|
1407
|
+
location: Optional[str] = None):
|
|
1408
|
+
"""
|
|
1409
|
+
:param str inline: Raw Dockerfile contents.
|
|
1410
|
+
|
|
1411
|
+
Conflicts with `location`.
|
|
1412
|
+
|
|
1413
|
+
Equivalent to invoking Docker with `-f -`.
|
|
1414
|
+
:param str location: Location of the Dockerfile to use.
|
|
1415
|
+
|
|
1416
|
+
Can be a relative or absolute path to a local file, or a remote URL.
|
|
1417
|
+
|
|
1418
|
+
Defaults to `${context.location}/Dockerfile` if context is on-disk.
|
|
1419
|
+
|
|
1420
|
+
Conflicts with `inline`.
|
|
1421
|
+
"""
|
|
1422
|
+
if inline is not None:
|
|
1423
|
+
pulumi.set(__self__, "inline", inline)
|
|
1424
|
+
if location is not None:
|
|
1425
|
+
pulumi.set(__self__, "location", location)
|
|
1426
|
+
|
|
1427
|
+
@property
|
|
1428
|
+
@pulumi.getter
|
|
1429
|
+
def inline(self) -> Optional[str]:
|
|
1430
|
+
"""
|
|
1431
|
+
Raw Dockerfile contents.
|
|
1432
|
+
|
|
1433
|
+
Conflicts with `location`.
|
|
1434
|
+
|
|
1435
|
+
Equivalent to invoking Docker with `-f -`.
|
|
1436
|
+
"""
|
|
1437
|
+
return pulumi.get(self, "inline")
|
|
1438
|
+
|
|
1439
|
+
@property
|
|
1440
|
+
@pulumi.getter
|
|
1441
|
+
def location(self) -> Optional[str]:
|
|
1442
|
+
"""
|
|
1443
|
+
Location of the Dockerfile to use.
|
|
1444
|
+
|
|
1445
|
+
Can be a relative or absolute path to a local file, or a remote URL.
|
|
1446
|
+
|
|
1447
|
+
Defaults to `${context.location}/Dockerfile` if context is on-disk.
|
|
1448
|
+
|
|
1449
|
+
Conflicts with `inline`.
|
|
1450
|
+
"""
|
|
1451
|
+
return pulumi.get(self, "location")
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
@pulumi.output_type
|
|
1455
|
+
class Export(dict):
|
|
1456
|
+
def __init__(__self__, *,
|
|
1457
|
+
cacheonly: Optional['outputs.ExportCacheOnly'] = None,
|
|
1458
|
+
disabled: Optional[bool] = None,
|
|
1459
|
+
docker: Optional['outputs.ExportDocker'] = None,
|
|
1460
|
+
image: Optional['outputs.ExportImage'] = None,
|
|
1461
|
+
local: Optional['outputs.ExportLocal'] = None,
|
|
1462
|
+
oci: Optional['outputs.ExportOCI'] = None,
|
|
1463
|
+
raw: Optional[str] = None,
|
|
1464
|
+
registry: Optional['outputs.ExportRegistry'] = None,
|
|
1465
|
+
tar: Optional['outputs.ExportTar'] = None):
|
|
1466
|
+
"""
|
|
1467
|
+
:param 'ExportCacheOnly' cacheonly: A no-op export. Helpful for silencing the 'no exports' warning if you
|
|
1468
|
+
just want to populate caches.
|
|
1469
|
+
:param bool disabled: When `true` this entry will be excluded. Defaults to `false`.
|
|
1470
|
+
:param 'ExportDocker' docker: Export as a Docker image layout.
|
|
1471
|
+
:param 'ExportImage' image: Outputs the build result into a container image format.
|
|
1472
|
+
:param 'ExportLocal' local: Export to a local directory as files and directories.
|
|
1473
|
+
:param 'ExportOCI' oci: Identical to the Docker exporter but uses OCI media types by default.
|
|
1474
|
+
:param str raw: A raw string as you would provide it to the Docker CLI (e.g.,
|
|
1475
|
+
`type=docker`)
|
|
1476
|
+
:param 'ExportRegistry' registry: Identical to the Image exporter, but pushes by default.
|
|
1477
|
+
:param 'ExportTar' tar: Export to a local directory as a tarball.
|
|
1478
|
+
"""
|
|
1479
|
+
if cacheonly is not None:
|
|
1480
|
+
pulumi.set(__self__, "cacheonly", cacheonly)
|
|
1481
|
+
if disabled is not None:
|
|
1482
|
+
pulumi.set(__self__, "disabled", disabled)
|
|
1483
|
+
if docker is not None:
|
|
1484
|
+
pulumi.set(__self__, "docker", docker)
|
|
1485
|
+
if image is not None:
|
|
1486
|
+
pulumi.set(__self__, "image", image)
|
|
1487
|
+
if local is not None:
|
|
1488
|
+
pulumi.set(__self__, "local", local)
|
|
1489
|
+
if oci is not None:
|
|
1490
|
+
pulumi.set(__self__, "oci", oci)
|
|
1491
|
+
if raw is not None:
|
|
1492
|
+
pulumi.set(__self__, "raw", raw)
|
|
1493
|
+
if registry is not None:
|
|
1494
|
+
pulumi.set(__self__, "registry", registry)
|
|
1495
|
+
if tar is not None:
|
|
1496
|
+
pulumi.set(__self__, "tar", tar)
|
|
1497
|
+
|
|
1498
|
+
@property
|
|
1499
|
+
@pulumi.getter
|
|
1500
|
+
def cacheonly(self) -> Optional['outputs.ExportCacheOnly']:
|
|
1501
|
+
"""
|
|
1502
|
+
A no-op export. Helpful for silencing the 'no exports' warning if you
|
|
1503
|
+
just want to populate caches.
|
|
1504
|
+
"""
|
|
1505
|
+
return pulumi.get(self, "cacheonly")
|
|
1506
|
+
|
|
1507
|
+
@property
|
|
1508
|
+
@pulumi.getter
|
|
1509
|
+
def disabled(self) -> Optional[bool]:
|
|
1510
|
+
"""
|
|
1511
|
+
When `true` this entry will be excluded. Defaults to `false`.
|
|
1512
|
+
"""
|
|
1513
|
+
return pulumi.get(self, "disabled")
|
|
1514
|
+
|
|
1515
|
+
@property
|
|
1516
|
+
@pulumi.getter
|
|
1517
|
+
def docker(self) -> Optional['outputs.ExportDocker']:
|
|
1518
|
+
"""
|
|
1519
|
+
Export as a Docker image layout.
|
|
1520
|
+
"""
|
|
1521
|
+
return pulumi.get(self, "docker")
|
|
1522
|
+
|
|
1523
|
+
@property
|
|
1524
|
+
@pulumi.getter
|
|
1525
|
+
def image(self) -> Optional['outputs.ExportImage']:
|
|
1526
|
+
"""
|
|
1527
|
+
Outputs the build result into a container image format.
|
|
1528
|
+
"""
|
|
1529
|
+
return pulumi.get(self, "image")
|
|
1530
|
+
|
|
1531
|
+
@property
|
|
1532
|
+
@pulumi.getter
|
|
1533
|
+
def local(self) -> Optional['outputs.ExportLocal']:
|
|
1534
|
+
"""
|
|
1535
|
+
Export to a local directory as files and directories.
|
|
1536
|
+
"""
|
|
1537
|
+
return pulumi.get(self, "local")
|
|
1538
|
+
|
|
1539
|
+
@property
|
|
1540
|
+
@pulumi.getter
|
|
1541
|
+
def oci(self) -> Optional['outputs.ExportOCI']:
|
|
1542
|
+
"""
|
|
1543
|
+
Identical to the Docker exporter but uses OCI media types by default.
|
|
1544
|
+
"""
|
|
1545
|
+
return pulumi.get(self, "oci")
|
|
1546
|
+
|
|
1547
|
+
@property
|
|
1548
|
+
@pulumi.getter
|
|
1549
|
+
def raw(self) -> Optional[str]:
|
|
1550
|
+
"""
|
|
1551
|
+
A raw string as you would provide it to the Docker CLI (e.g.,
|
|
1552
|
+
`type=docker`)
|
|
1553
|
+
"""
|
|
1554
|
+
return pulumi.get(self, "raw")
|
|
1555
|
+
|
|
1556
|
+
@property
|
|
1557
|
+
@pulumi.getter
|
|
1558
|
+
def registry(self) -> Optional['outputs.ExportRegistry']:
|
|
1559
|
+
"""
|
|
1560
|
+
Identical to the Image exporter, but pushes by default.
|
|
1561
|
+
"""
|
|
1562
|
+
return pulumi.get(self, "registry")
|
|
1563
|
+
|
|
1564
|
+
@property
|
|
1565
|
+
@pulumi.getter
|
|
1566
|
+
def tar(self) -> Optional['outputs.ExportTar']:
|
|
1567
|
+
"""
|
|
1568
|
+
Export to a local directory as a tarball.
|
|
1569
|
+
"""
|
|
1570
|
+
return pulumi.get(self, "tar")
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
@pulumi.output_type
|
|
1574
|
+
class ExportCacheOnly(dict):
|
|
1575
|
+
def __init__(__self__):
|
|
1576
|
+
pass
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
@pulumi.output_type
|
|
1580
|
+
class ExportDocker(dict):
|
|
1581
|
+
@staticmethod
|
|
1582
|
+
def __key_warning(key: str):
|
|
1583
|
+
suggest = None
|
|
1584
|
+
if key == "compressionLevel":
|
|
1585
|
+
suggest = "compression_level"
|
|
1586
|
+
elif key == "forceCompression":
|
|
1587
|
+
suggest = "force_compression"
|
|
1588
|
+
elif key == "ociMediaTypes":
|
|
1589
|
+
suggest = "oci_media_types"
|
|
1590
|
+
|
|
1591
|
+
if suggest:
|
|
1592
|
+
pulumi.log.warn(f"Key '{key}' not found in ExportDocker. Access the value via the '{suggest}' property getter instead.")
|
|
1593
|
+
|
|
1594
|
+
def __getitem__(self, key: str) -> Any:
|
|
1595
|
+
ExportDocker.__key_warning(key)
|
|
1596
|
+
return super().__getitem__(key)
|
|
1597
|
+
|
|
1598
|
+
def get(self, key: str, default = None) -> Any:
|
|
1599
|
+
ExportDocker.__key_warning(key)
|
|
1600
|
+
return super().get(key, default)
|
|
1601
|
+
|
|
1602
|
+
def __init__(__self__, *,
|
|
1603
|
+
annotations: Optional[Mapping[str, str]] = None,
|
|
1604
|
+
compression: Optional['CompressionType'] = None,
|
|
1605
|
+
compression_level: Optional[int] = None,
|
|
1606
|
+
dest: Optional[str] = None,
|
|
1607
|
+
force_compression: Optional[bool] = None,
|
|
1608
|
+
names: Optional[Sequence[str]] = None,
|
|
1609
|
+
oci_media_types: Optional[bool] = None,
|
|
1610
|
+
tar: Optional[bool] = None):
|
|
1611
|
+
"""
|
|
1612
|
+
:param Mapping[str, str] annotations: Attach an arbitrary key/value annotation to the image.
|
|
1613
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
1614
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
1615
|
+
:param str dest: The local export path.
|
|
1616
|
+
:param bool force_compression: Forcefully apply compression.
|
|
1617
|
+
:param Sequence[str] names: Specify images names to export. This is overridden if tags are already specified.
|
|
1618
|
+
:param bool oci_media_types: Use OCI media types in exporter manifests.
|
|
1619
|
+
:param bool tar: Bundle the output into a tarball layout.
|
|
1620
|
+
"""
|
|
1621
|
+
if annotations is not None:
|
|
1622
|
+
pulumi.set(__self__, "annotations", annotations)
|
|
1623
|
+
if compression is None:
|
|
1624
|
+
compression = 'gzip'
|
|
1625
|
+
if compression is not None:
|
|
1626
|
+
pulumi.set(__self__, "compression", compression)
|
|
1627
|
+
if compression_level is None:
|
|
1628
|
+
compression_level = 0
|
|
1629
|
+
if compression_level is not None:
|
|
1630
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
1631
|
+
if dest is not None:
|
|
1632
|
+
pulumi.set(__self__, "dest", dest)
|
|
1633
|
+
if force_compression is None:
|
|
1634
|
+
force_compression = False
|
|
1635
|
+
if force_compression is not None:
|
|
1636
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
1637
|
+
if names is not None:
|
|
1638
|
+
pulumi.set(__self__, "names", names)
|
|
1639
|
+
if oci_media_types is None:
|
|
1640
|
+
oci_media_types = False
|
|
1641
|
+
if oci_media_types is not None:
|
|
1642
|
+
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
1643
|
+
if tar is None:
|
|
1644
|
+
tar = True
|
|
1645
|
+
if tar is not None:
|
|
1646
|
+
pulumi.set(__self__, "tar", tar)
|
|
1647
|
+
|
|
1648
|
+
@property
|
|
1649
|
+
@pulumi.getter
|
|
1650
|
+
def annotations(self) -> Optional[Mapping[str, str]]:
|
|
1651
|
+
"""
|
|
1652
|
+
Attach an arbitrary key/value annotation to the image.
|
|
1653
|
+
"""
|
|
1654
|
+
return pulumi.get(self, "annotations")
|
|
1655
|
+
|
|
1656
|
+
@property
|
|
1657
|
+
@pulumi.getter
|
|
1658
|
+
def compression(self) -> Optional['CompressionType']:
|
|
1659
|
+
"""
|
|
1660
|
+
The compression type to use.
|
|
1661
|
+
"""
|
|
1662
|
+
return pulumi.get(self, "compression")
|
|
1663
|
+
|
|
1664
|
+
@property
|
|
1665
|
+
@pulumi.getter(name="compressionLevel")
|
|
1666
|
+
def compression_level(self) -> Optional[int]:
|
|
1667
|
+
"""
|
|
1668
|
+
Compression level from 0 to 22.
|
|
1669
|
+
"""
|
|
1670
|
+
return pulumi.get(self, "compression_level")
|
|
1671
|
+
|
|
1672
|
+
@property
|
|
1673
|
+
@pulumi.getter
|
|
1674
|
+
def dest(self) -> Optional[str]:
|
|
1675
|
+
"""
|
|
1676
|
+
The local export path.
|
|
1677
|
+
"""
|
|
1678
|
+
return pulumi.get(self, "dest")
|
|
1679
|
+
|
|
1680
|
+
@property
|
|
1681
|
+
@pulumi.getter(name="forceCompression")
|
|
1682
|
+
def force_compression(self) -> Optional[bool]:
|
|
1683
|
+
"""
|
|
1684
|
+
Forcefully apply compression.
|
|
1685
|
+
"""
|
|
1686
|
+
return pulumi.get(self, "force_compression")
|
|
1687
|
+
|
|
1688
|
+
@property
|
|
1689
|
+
@pulumi.getter
|
|
1690
|
+
def names(self) -> Optional[Sequence[str]]:
|
|
1691
|
+
"""
|
|
1692
|
+
Specify images names to export. This is overridden if tags are already specified.
|
|
1693
|
+
"""
|
|
1694
|
+
return pulumi.get(self, "names")
|
|
1695
|
+
|
|
1696
|
+
@property
|
|
1697
|
+
@pulumi.getter(name="ociMediaTypes")
|
|
1698
|
+
def oci_media_types(self) -> Optional[bool]:
|
|
1699
|
+
"""
|
|
1700
|
+
Use OCI media types in exporter manifests.
|
|
1701
|
+
"""
|
|
1702
|
+
return pulumi.get(self, "oci_media_types")
|
|
1703
|
+
|
|
1704
|
+
@property
|
|
1705
|
+
@pulumi.getter
|
|
1706
|
+
def tar(self) -> Optional[bool]:
|
|
1707
|
+
"""
|
|
1708
|
+
Bundle the output into a tarball layout.
|
|
1709
|
+
"""
|
|
1710
|
+
return pulumi.get(self, "tar")
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
@pulumi.output_type
|
|
1714
|
+
class ExportImage(dict):
|
|
1715
|
+
@staticmethod
|
|
1716
|
+
def __key_warning(key: str):
|
|
1717
|
+
suggest = None
|
|
1718
|
+
if key == "compressionLevel":
|
|
1719
|
+
suggest = "compression_level"
|
|
1720
|
+
elif key == "danglingNamePrefix":
|
|
1721
|
+
suggest = "dangling_name_prefix"
|
|
1722
|
+
elif key == "forceCompression":
|
|
1723
|
+
suggest = "force_compression"
|
|
1724
|
+
elif key == "nameCanonical":
|
|
1725
|
+
suggest = "name_canonical"
|
|
1726
|
+
elif key == "ociMediaTypes":
|
|
1727
|
+
suggest = "oci_media_types"
|
|
1728
|
+
elif key == "pushByDigest":
|
|
1729
|
+
suggest = "push_by_digest"
|
|
1730
|
+
|
|
1731
|
+
if suggest:
|
|
1732
|
+
pulumi.log.warn(f"Key '{key}' not found in ExportImage. Access the value via the '{suggest}' property getter instead.")
|
|
1733
|
+
|
|
1734
|
+
def __getitem__(self, key: str) -> Any:
|
|
1735
|
+
ExportImage.__key_warning(key)
|
|
1736
|
+
return super().__getitem__(key)
|
|
1737
|
+
|
|
1738
|
+
def get(self, key: str, default = None) -> Any:
|
|
1739
|
+
ExportImage.__key_warning(key)
|
|
1740
|
+
return super().get(key, default)
|
|
1741
|
+
|
|
1742
|
+
def __init__(__self__, *,
|
|
1743
|
+
annotations: Optional[Mapping[str, str]] = None,
|
|
1744
|
+
compression: Optional['CompressionType'] = None,
|
|
1745
|
+
compression_level: Optional[int] = None,
|
|
1746
|
+
dangling_name_prefix: Optional[str] = None,
|
|
1747
|
+
force_compression: Optional[bool] = None,
|
|
1748
|
+
insecure: Optional[bool] = None,
|
|
1749
|
+
name_canonical: Optional[bool] = None,
|
|
1750
|
+
names: Optional[Sequence[str]] = None,
|
|
1751
|
+
oci_media_types: Optional[bool] = None,
|
|
1752
|
+
push: Optional[bool] = None,
|
|
1753
|
+
push_by_digest: Optional[bool] = None,
|
|
1754
|
+
store: Optional[bool] = None,
|
|
1755
|
+
unpack: Optional[bool] = None):
|
|
1756
|
+
"""
|
|
1757
|
+
:param Mapping[str, str] annotations: Attach an arbitrary key/value annotation to the image.
|
|
1758
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
1759
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
1760
|
+
:param str dangling_name_prefix: Name image with `prefix@<digest>`, used for anonymous images.
|
|
1761
|
+
:param bool force_compression: Forcefully apply compression.
|
|
1762
|
+
:param bool insecure: Allow pushing to an insecure registry.
|
|
1763
|
+
:param bool name_canonical: Add additional canonical name (`name@<digest>`).
|
|
1764
|
+
:param Sequence[str] names: Specify images names to export. This is overridden if tags are already specified.
|
|
1765
|
+
:param bool oci_media_types: Use OCI media types in exporter manifests.
|
|
1766
|
+
:param bool push: Push after creating the image. Defaults to `false`.
|
|
1767
|
+
:param bool push_by_digest: Push image without name.
|
|
1768
|
+
:param bool store: Store resulting images to the worker's image store and ensure all of
|
|
1769
|
+
its blobs are in the content store.
|
|
1770
|
+
|
|
1771
|
+
Defaults to `true`.
|
|
1772
|
+
|
|
1773
|
+
Ignored if the worker doesn't have image store (when using OCI workers,
|
|
1774
|
+
for example).
|
|
1775
|
+
:param bool unpack: Unpack image after creation (for use with containerd). Defaults to
|
|
1776
|
+
`false`.
|
|
1777
|
+
"""
|
|
1778
|
+
if annotations is not None:
|
|
1779
|
+
pulumi.set(__self__, "annotations", annotations)
|
|
1780
|
+
if compression is None:
|
|
1781
|
+
compression = 'gzip'
|
|
1782
|
+
if compression is not None:
|
|
1783
|
+
pulumi.set(__self__, "compression", compression)
|
|
1784
|
+
if compression_level is None:
|
|
1785
|
+
compression_level = 0
|
|
1786
|
+
if compression_level is not None:
|
|
1787
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
1788
|
+
if dangling_name_prefix is not None:
|
|
1789
|
+
pulumi.set(__self__, "dangling_name_prefix", dangling_name_prefix)
|
|
1790
|
+
if force_compression is None:
|
|
1791
|
+
force_compression = False
|
|
1792
|
+
if force_compression is not None:
|
|
1793
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
1794
|
+
if insecure is not None:
|
|
1795
|
+
pulumi.set(__self__, "insecure", insecure)
|
|
1796
|
+
if name_canonical is not None:
|
|
1797
|
+
pulumi.set(__self__, "name_canonical", name_canonical)
|
|
1798
|
+
if names is not None:
|
|
1799
|
+
pulumi.set(__self__, "names", names)
|
|
1800
|
+
if oci_media_types is None:
|
|
1801
|
+
oci_media_types = False
|
|
1802
|
+
if oci_media_types is not None:
|
|
1803
|
+
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
1804
|
+
if push is not None:
|
|
1805
|
+
pulumi.set(__self__, "push", push)
|
|
1806
|
+
if push_by_digest is not None:
|
|
1807
|
+
pulumi.set(__self__, "push_by_digest", push_by_digest)
|
|
1808
|
+
if store is None:
|
|
1809
|
+
store = True
|
|
1810
|
+
if store is not None:
|
|
1811
|
+
pulumi.set(__self__, "store", store)
|
|
1812
|
+
if unpack is not None:
|
|
1813
|
+
pulumi.set(__self__, "unpack", unpack)
|
|
1814
|
+
|
|
1815
|
+
@property
|
|
1816
|
+
@pulumi.getter
|
|
1817
|
+
def annotations(self) -> Optional[Mapping[str, str]]:
|
|
1818
|
+
"""
|
|
1819
|
+
Attach an arbitrary key/value annotation to the image.
|
|
1820
|
+
"""
|
|
1821
|
+
return pulumi.get(self, "annotations")
|
|
1822
|
+
|
|
1823
|
+
@property
|
|
1824
|
+
@pulumi.getter
|
|
1825
|
+
def compression(self) -> Optional['CompressionType']:
|
|
1826
|
+
"""
|
|
1827
|
+
The compression type to use.
|
|
1828
|
+
"""
|
|
1829
|
+
return pulumi.get(self, "compression")
|
|
1830
|
+
|
|
1831
|
+
@property
|
|
1832
|
+
@pulumi.getter(name="compressionLevel")
|
|
1833
|
+
def compression_level(self) -> Optional[int]:
|
|
1834
|
+
"""
|
|
1835
|
+
Compression level from 0 to 22.
|
|
1836
|
+
"""
|
|
1837
|
+
return pulumi.get(self, "compression_level")
|
|
1838
|
+
|
|
1839
|
+
@property
|
|
1840
|
+
@pulumi.getter(name="danglingNamePrefix")
|
|
1841
|
+
def dangling_name_prefix(self) -> Optional[str]:
|
|
1842
|
+
"""
|
|
1843
|
+
Name image with `prefix@<digest>`, used for anonymous images.
|
|
1844
|
+
"""
|
|
1845
|
+
return pulumi.get(self, "dangling_name_prefix")
|
|
1846
|
+
|
|
1847
|
+
@property
|
|
1848
|
+
@pulumi.getter(name="forceCompression")
|
|
1849
|
+
def force_compression(self) -> Optional[bool]:
|
|
1850
|
+
"""
|
|
1851
|
+
Forcefully apply compression.
|
|
1852
|
+
"""
|
|
1853
|
+
return pulumi.get(self, "force_compression")
|
|
1854
|
+
|
|
1855
|
+
@property
|
|
1856
|
+
@pulumi.getter
|
|
1857
|
+
def insecure(self) -> Optional[bool]:
|
|
1858
|
+
"""
|
|
1859
|
+
Allow pushing to an insecure registry.
|
|
1860
|
+
"""
|
|
1861
|
+
return pulumi.get(self, "insecure")
|
|
1862
|
+
|
|
1863
|
+
@property
|
|
1864
|
+
@pulumi.getter(name="nameCanonical")
|
|
1865
|
+
def name_canonical(self) -> Optional[bool]:
|
|
1866
|
+
"""
|
|
1867
|
+
Add additional canonical name (`name@<digest>`).
|
|
1868
|
+
"""
|
|
1869
|
+
return pulumi.get(self, "name_canonical")
|
|
1870
|
+
|
|
1871
|
+
@property
|
|
1872
|
+
@pulumi.getter
|
|
1873
|
+
def names(self) -> Optional[Sequence[str]]:
|
|
1874
|
+
"""
|
|
1875
|
+
Specify images names to export. This is overridden if tags are already specified.
|
|
1876
|
+
"""
|
|
1877
|
+
return pulumi.get(self, "names")
|
|
1878
|
+
|
|
1879
|
+
@property
|
|
1880
|
+
@pulumi.getter(name="ociMediaTypes")
|
|
1881
|
+
def oci_media_types(self) -> Optional[bool]:
|
|
1882
|
+
"""
|
|
1883
|
+
Use OCI media types in exporter manifests.
|
|
1884
|
+
"""
|
|
1885
|
+
return pulumi.get(self, "oci_media_types")
|
|
1886
|
+
|
|
1887
|
+
@property
|
|
1888
|
+
@pulumi.getter
|
|
1889
|
+
def push(self) -> Optional[bool]:
|
|
1890
|
+
"""
|
|
1891
|
+
Push after creating the image. Defaults to `false`.
|
|
1892
|
+
"""
|
|
1893
|
+
return pulumi.get(self, "push")
|
|
1894
|
+
|
|
1895
|
+
@property
|
|
1896
|
+
@pulumi.getter(name="pushByDigest")
|
|
1897
|
+
def push_by_digest(self) -> Optional[bool]:
|
|
1898
|
+
"""
|
|
1899
|
+
Push image without name.
|
|
1900
|
+
"""
|
|
1901
|
+
return pulumi.get(self, "push_by_digest")
|
|
1902
|
+
|
|
1903
|
+
@property
|
|
1904
|
+
@pulumi.getter
|
|
1905
|
+
def store(self) -> Optional[bool]:
|
|
1906
|
+
"""
|
|
1907
|
+
Store resulting images to the worker's image store and ensure all of
|
|
1908
|
+
its blobs are in the content store.
|
|
1909
|
+
|
|
1910
|
+
Defaults to `true`.
|
|
1911
|
+
|
|
1912
|
+
Ignored if the worker doesn't have image store (when using OCI workers,
|
|
1913
|
+
for example).
|
|
1914
|
+
"""
|
|
1915
|
+
return pulumi.get(self, "store")
|
|
1916
|
+
|
|
1917
|
+
@property
|
|
1918
|
+
@pulumi.getter
|
|
1919
|
+
def unpack(self) -> Optional[bool]:
|
|
1920
|
+
"""
|
|
1921
|
+
Unpack image after creation (for use with containerd). Defaults to
|
|
1922
|
+
`false`.
|
|
1923
|
+
"""
|
|
1924
|
+
return pulumi.get(self, "unpack")
|
|
1925
|
+
|
|
1926
|
+
|
|
1927
|
+
@pulumi.output_type
|
|
1928
|
+
class ExportLocal(dict):
|
|
1929
|
+
def __init__(__self__, *,
|
|
1930
|
+
dest: str):
|
|
1931
|
+
"""
|
|
1932
|
+
:param str dest: Output path.
|
|
1933
|
+
"""
|
|
1934
|
+
pulumi.set(__self__, "dest", dest)
|
|
1935
|
+
|
|
1936
|
+
@property
|
|
1937
|
+
@pulumi.getter
|
|
1938
|
+
def dest(self) -> str:
|
|
1939
|
+
"""
|
|
1940
|
+
Output path.
|
|
1941
|
+
"""
|
|
1942
|
+
return pulumi.get(self, "dest")
|
|
1943
|
+
|
|
1944
|
+
|
|
1945
|
+
@pulumi.output_type
|
|
1946
|
+
class ExportOCI(dict):
|
|
1947
|
+
@staticmethod
|
|
1948
|
+
def __key_warning(key: str):
|
|
1949
|
+
suggest = None
|
|
1950
|
+
if key == "compressionLevel":
|
|
1951
|
+
suggest = "compression_level"
|
|
1952
|
+
elif key == "forceCompression":
|
|
1953
|
+
suggest = "force_compression"
|
|
1954
|
+
elif key == "ociMediaTypes":
|
|
1955
|
+
suggest = "oci_media_types"
|
|
1956
|
+
|
|
1957
|
+
if suggest:
|
|
1958
|
+
pulumi.log.warn(f"Key '{key}' not found in ExportOCI. Access the value via the '{suggest}' property getter instead.")
|
|
1959
|
+
|
|
1960
|
+
def __getitem__(self, key: str) -> Any:
|
|
1961
|
+
ExportOCI.__key_warning(key)
|
|
1962
|
+
return super().__getitem__(key)
|
|
1963
|
+
|
|
1964
|
+
def get(self, key: str, default = None) -> Any:
|
|
1965
|
+
ExportOCI.__key_warning(key)
|
|
1966
|
+
return super().get(key, default)
|
|
1967
|
+
|
|
1968
|
+
def __init__(__self__, *,
|
|
1969
|
+
annotations: Optional[Mapping[str, str]] = None,
|
|
1970
|
+
compression: Optional['CompressionType'] = None,
|
|
1971
|
+
compression_level: Optional[int] = None,
|
|
1972
|
+
dest: Optional[str] = None,
|
|
1973
|
+
force_compression: Optional[bool] = None,
|
|
1974
|
+
names: Optional[Sequence[str]] = None,
|
|
1975
|
+
oci_media_types: Optional[bool] = None,
|
|
1976
|
+
tar: Optional[bool] = None):
|
|
1977
|
+
"""
|
|
1978
|
+
:param Mapping[str, str] annotations: Attach an arbitrary key/value annotation to the image.
|
|
1979
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
1980
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
1981
|
+
:param str dest: The local export path.
|
|
1982
|
+
:param bool force_compression: Forcefully apply compression.
|
|
1983
|
+
:param Sequence[str] names: Specify images names to export. This is overridden if tags are already specified.
|
|
1984
|
+
:param bool oci_media_types: Use OCI media types in exporter manifests.
|
|
1985
|
+
:param bool tar: Bundle the output into a tarball layout.
|
|
1986
|
+
"""
|
|
1987
|
+
if annotations is not None:
|
|
1988
|
+
pulumi.set(__self__, "annotations", annotations)
|
|
1989
|
+
if compression is None:
|
|
1990
|
+
compression = 'gzip'
|
|
1991
|
+
if compression is not None:
|
|
1992
|
+
pulumi.set(__self__, "compression", compression)
|
|
1993
|
+
if compression_level is None:
|
|
1994
|
+
compression_level = 0
|
|
1995
|
+
if compression_level is not None:
|
|
1996
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
1997
|
+
if dest is not None:
|
|
1998
|
+
pulumi.set(__self__, "dest", dest)
|
|
1999
|
+
if force_compression is None:
|
|
2000
|
+
force_compression = False
|
|
2001
|
+
if force_compression is not None:
|
|
2002
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
2003
|
+
if names is not None:
|
|
2004
|
+
pulumi.set(__self__, "names", names)
|
|
2005
|
+
if oci_media_types is None:
|
|
2006
|
+
oci_media_types = True
|
|
2007
|
+
if oci_media_types is not None:
|
|
2008
|
+
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
2009
|
+
if tar is None:
|
|
2010
|
+
tar = True
|
|
2011
|
+
if tar is not None:
|
|
2012
|
+
pulumi.set(__self__, "tar", tar)
|
|
2013
|
+
|
|
2014
|
+
@property
|
|
2015
|
+
@pulumi.getter
|
|
2016
|
+
def annotations(self) -> Optional[Mapping[str, str]]:
|
|
2017
|
+
"""
|
|
2018
|
+
Attach an arbitrary key/value annotation to the image.
|
|
2019
|
+
"""
|
|
2020
|
+
return pulumi.get(self, "annotations")
|
|
2021
|
+
|
|
2022
|
+
@property
|
|
2023
|
+
@pulumi.getter
|
|
2024
|
+
def compression(self) -> Optional['CompressionType']:
|
|
2025
|
+
"""
|
|
2026
|
+
The compression type to use.
|
|
2027
|
+
"""
|
|
2028
|
+
return pulumi.get(self, "compression")
|
|
2029
|
+
|
|
2030
|
+
@property
|
|
2031
|
+
@pulumi.getter(name="compressionLevel")
|
|
2032
|
+
def compression_level(self) -> Optional[int]:
|
|
2033
|
+
"""
|
|
2034
|
+
Compression level from 0 to 22.
|
|
2035
|
+
"""
|
|
2036
|
+
return pulumi.get(self, "compression_level")
|
|
2037
|
+
|
|
2038
|
+
@property
|
|
2039
|
+
@pulumi.getter
|
|
2040
|
+
def dest(self) -> Optional[str]:
|
|
2041
|
+
"""
|
|
2042
|
+
The local export path.
|
|
2043
|
+
"""
|
|
2044
|
+
return pulumi.get(self, "dest")
|
|
2045
|
+
|
|
2046
|
+
@property
|
|
2047
|
+
@pulumi.getter(name="forceCompression")
|
|
2048
|
+
def force_compression(self) -> Optional[bool]:
|
|
2049
|
+
"""
|
|
2050
|
+
Forcefully apply compression.
|
|
2051
|
+
"""
|
|
2052
|
+
return pulumi.get(self, "force_compression")
|
|
2053
|
+
|
|
2054
|
+
@property
|
|
2055
|
+
@pulumi.getter
|
|
2056
|
+
def names(self) -> Optional[Sequence[str]]:
|
|
2057
|
+
"""
|
|
2058
|
+
Specify images names to export. This is overridden if tags are already specified.
|
|
2059
|
+
"""
|
|
2060
|
+
return pulumi.get(self, "names")
|
|
2061
|
+
|
|
2062
|
+
@property
|
|
2063
|
+
@pulumi.getter(name="ociMediaTypes")
|
|
2064
|
+
def oci_media_types(self) -> Optional[bool]:
|
|
2065
|
+
"""
|
|
2066
|
+
Use OCI media types in exporter manifests.
|
|
2067
|
+
"""
|
|
2068
|
+
return pulumi.get(self, "oci_media_types")
|
|
2069
|
+
|
|
2070
|
+
@property
|
|
2071
|
+
@pulumi.getter
|
|
2072
|
+
def tar(self) -> Optional[bool]:
|
|
2073
|
+
"""
|
|
2074
|
+
Bundle the output into a tarball layout.
|
|
2075
|
+
"""
|
|
2076
|
+
return pulumi.get(self, "tar")
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
@pulumi.output_type
|
|
2080
|
+
class ExportRegistry(dict):
|
|
2081
|
+
@staticmethod
|
|
2082
|
+
def __key_warning(key: str):
|
|
2083
|
+
suggest = None
|
|
2084
|
+
if key == "compressionLevel":
|
|
2085
|
+
suggest = "compression_level"
|
|
2086
|
+
elif key == "danglingNamePrefix":
|
|
2087
|
+
suggest = "dangling_name_prefix"
|
|
2088
|
+
elif key == "forceCompression":
|
|
2089
|
+
suggest = "force_compression"
|
|
2090
|
+
elif key == "nameCanonical":
|
|
2091
|
+
suggest = "name_canonical"
|
|
2092
|
+
elif key == "ociMediaTypes":
|
|
2093
|
+
suggest = "oci_media_types"
|
|
2094
|
+
elif key == "pushByDigest":
|
|
2095
|
+
suggest = "push_by_digest"
|
|
2096
|
+
|
|
2097
|
+
if suggest:
|
|
2098
|
+
pulumi.log.warn(f"Key '{key}' not found in ExportRegistry. Access the value via the '{suggest}' property getter instead.")
|
|
2099
|
+
|
|
2100
|
+
def __getitem__(self, key: str) -> Any:
|
|
2101
|
+
ExportRegistry.__key_warning(key)
|
|
2102
|
+
return super().__getitem__(key)
|
|
2103
|
+
|
|
2104
|
+
def get(self, key: str, default = None) -> Any:
|
|
2105
|
+
ExportRegistry.__key_warning(key)
|
|
2106
|
+
return super().get(key, default)
|
|
2107
|
+
|
|
2108
|
+
def __init__(__self__, *,
|
|
2109
|
+
annotations: Optional[Mapping[str, str]] = None,
|
|
2110
|
+
compression: Optional['CompressionType'] = None,
|
|
2111
|
+
compression_level: Optional[int] = None,
|
|
2112
|
+
dangling_name_prefix: Optional[str] = None,
|
|
2113
|
+
force_compression: Optional[bool] = None,
|
|
2114
|
+
insecure: Optional[bool] = None,
|
|
2115
|
+
name_canonical: Optional[bool] = None,
|
|
2116
|
+
names: Optional[Sequence[str]] = None,
|
|
2117
|
+
oci_media_types: Optional[bool] = None,
|
|
2118
|
+
push: Optional[bool] = None,
|
|
2119
|
+
push_by_digest: Optional[bool] = None,
|
|
2120
|
+
store: Optional[bool] = None,
|
|
2121
|
+
unpack: Optional[bool] = None):
|
|
2122
|
+
"""
|
|
2123
|
+
:param Mapping[str, str] annotations: Attach an arbitrary key/value annotation to the image.
|
|
2124
|
+
:param 'CompressionType' compression: The compression type to use.
|
|
2125
|
+
:param int compression_level: Compression level from 0 to 22.
|
|
2126
|
+
:param str dangling_name_prefix: Name image with `prefix@<digest>`, used for anonymous images.
|
|
2127
|
+
:param bool force_compression: Forcefully apply compression.
|
|
2128
|
+
:param bool insecure: Allow pushing to an insecure registry.
|
|
2129
|
+
:param bool name_canonical: Add additional canonical name (`name@<digest>`).
|
|
2130
|
+
:param Sequence[str] names: Specify images names to export. This is overridden if tags are already specified.
|
|
2131
|
+
:param bool oci_media_types: Use OCI media types in exporter manifests.
|
|
2132
|
+
:param bool push: Push after creating the image. Defaults to `true`.
|
|
2133
|
+
:param bool push_by_digest: Push image without name.
|
|
2134
|
+
:param bool store: Store resulting images to the worker's image store and ensure all of
|
|
2135
|
+
its blobs are in the content store.
|
|
2136
|
+
|
|
2137
|
+
Defaults to `true`.
|
|
2138
|
+
|
|
2139
|
+
Ignored if the worker doesn't have image store (when using OCI workers,
|
|
2140
|
+
for example).
|
|
2141
|
+
:param bool unpack: Unpack image after creation (for use with containerd). Defaults to
|
|
2142
|
+
`false`.
|
|
2143
|
+
"""
|
|
2144
|
+
if annotations is not None:
|
|
2145
|
+
pulumi.set(__self__, "annotations", annotations)
|
|
2146
|
+
if compression is None:
|
|
2147
|
+
compression = 'gzip'
|
|
2148
|
+
if compression is not None:
|
|
2149
|
+
pulumi.set(__self__, "compression", compression)
|
|
2150
|
+
if compression_level is None:
|
|
2151
|
+
compression_level = 0
|
|
2152
|
+
if compression_level is not None:
|
|
2153
|
+
pulumi.set(__self__, "compression_level", compression_level)
|
|
2154
|
+
if dangling_name_prefix is not None:
|
|
2155
|
+
pulumi.set(__self__, "dangling_name_prefix", dangling_name_prefix)
|
|
2156
|
+
if force_compression is None:
|
|
2157
|
+
force_compression = False
|
|
2158
|
+
if force_compression is not None:
|
|
2159
|
+
pulumi.set(__self__, "force_compression", force_compression)
|
|
2160
|
+
if insecure is not None:
|
|
2161
|
+
pulumi.set(__self__, "insecure", insecure)
|
|
2162
|
+
if name_canonical is not None:
|
|
2163
|
+
pulumi.set(__self__, "name_canonical", name_canonical)
|
|
2164
|
+
if names is not None:
|
|
2165
|
+
pulumi.set(__self__, "names", names)
|
|
2166
|
+
if oci_media_types is None:
|
|
2167
|
+
oci_media_types = False
|
|
2168
|
+
if oci_media_types is not None:
|
|
2169
|
+
pulumi.set(__self__, "oci_media_types", oci_media_types)
|
|
2170
|
+
if push is None:
|
|
2171
|
+
push = True
|
|
2172
|
+
if push is not None:
|
|
2173
|
+
pulumi.set(__self__, "push", push)
|
|
2174
|
+
if push_by_digest is not None:
|
|
2175
|
+
pulumi.set(__self__, "push_by_digest", push_by_digest)
|
|
2176
|
+
if store is None:
|
|
2177
|
+
store = True
|
|
2178
|
+
if store is not None:
|
|
2179
|
+
pulumi.set(__self__, "store", store)
|
|
2180
|
+
if unpack is not None:
|
|
2181
|
+
pulumi.set(__self__, "unpack", unpack)
|
|
2182
|
+
|
|
2183
|
+
@property
|
|
2184
|
+
@pulumi.getter
|
|
2185
|
+
def annotations(self) -> Optional[Mapping[str, str]]:
|
|
2186
|
+
"""
|
|
2187
|
+
Attach an arbitrary key/value annotation to the image.
|
|
2188
|
+
"""
|
|
2189
|
+
return pulumi.get(self, "annotations")
|
|
2190
|
+
|
|
2191
|
+
@property
|
|
2192
|
+
@pulumi.getter
|
|
2193
|
+
def compression(self) -> Optional['CompressionType']:
|
|
2194
|
+
"""
|
|
2195
|
+
The compression type to use.
|
|
2196
|
+
"""
|
|
2197
|
+
return pulumi.get(self, "compression")
|
|
2198
|
+
|
|
2199
|
+
@property
|
|
2200
|
+
@pulumi.getter(name="compressionLevel")
|
|
2201
|
+
def compression_level(self) -> Optional[int]:
|
|
2202
|
+
"""
|
|
2203
|
+
Compression level from 0 to 22.
|
|
2204
|
+
"""
|
|
2205
|
+
return pulumi.get(self, "compression_level")
|
|
2206
|
+
|
|
2207
|
+
@property
|
|
2208
|
+
@pulumi.getter(name="danglingNamePrefix")
|
|
2209
|
+
def dangling_name_prefix(self) -> Optional[str]:
|
|
2210
|
+
"""
|
|
2211
|
+
Name image with `prefix@<digest>`, used for anonymous images.
|
|
2212
|
+
"""
|
|
2213
|
+
return pulumi.get(self, "dangling_name_prefix")
|
|
2214
|
+
|
|
2215
|
+
@property
|
|
2216
|
+
@pulumi.getter(name="forceCompression")
|
|
2217
|
+
def force_compression(self) -> Optional[bool]:
|
|
2218
|
+
"""
|
|
2219
|
+
Forcefully apply compression.
|
|
2220
|
+
"""
|
|
2221
|
+
return pulumi.get(self, "force_compression")
|
|
2222
|
+
|
|
2223
|
+
@property
|
|
2224
|
+
@pulumi.getter
|
|
2225
|
+
def insecure(self) -> Optional[bool]:
|
|
2226
|
+
"""
|
|
2227
|
+
Allow pushing to an insecure registry.
|
|
2228
|
+
"""
|
|
2229
|
+
return pulumi.get(self, "insecure")
|
|
2230
|
+
|
|
2231
|
+
@property
|
|
2232
|
+
@pulumi.getter(name="nameCanonical")
|
|
2233
|
+
def name_canonical(self) -> Optional[bool]:
|
|
2234
|
+
"""
|
|
2235
|
+
Add additional canonical name (`name@<digest>`).
|
|
2236
|
+
"""
|
|
2237
|
+
return pulumi.get(self, "name_canonical")
|
|
2238
|
+
|
|
2239
|
+
@property
|
|
2240
|
+
@pulumi.getter
|
|
2241
|
+
def names(self) -> Optional[Sequence[str]]:
|
|
2242
|
+
"""
|
|
2243
|
+
Specify images names to export. This is overridden if tags are already specified.
|
|
2244
|
+
"""
|
|
2245
|
+
return pulumi.get(self, "names")
|
|
2246
|
+
|
|
2247
|
+
@property
|
|
2248
|
+
@pulumi.getter(name="ociMediaTypes")
|
|
2249
|
+
def oci_media_types(self) -> Optional[bool]:
|
|
2250
|
+
"""
|
|
2251
|
+
Use OCI media types in exporter manifests.
|
|
2252
|
+
"""
|
|
2253
|
+
return pulumi.get(self, "oci_media_types")
|
|
2254
|
+
|
|
2255
|
+
@property
|
|
2256
|
+
@pulumi.getter
|
|
2257
|
+
def push(self) -> Optional[bool]:
|
|
2258
|
+
"""
|
|
2259
|
+
Push after creating the image. Defaults to `true`.
|
|
2260
|
+
"""
|
|
2261
|
+
return pulumi.get(self, "push")
|
|
2262
|
+
|
|
2263
|
+
@property
|
|
2264
|
+
@pulumi.getter(name="pushByDigest")
|
|
2265
|
+
def push_by_digest(self) -> Optional[bool]:
|
|
2266
|
+
"""
|
|
2267
|
+
Push image without name.
|
|
2268
|
+
"""
|
|
2269
|
+
return pulumi.get(self, "push_by_digest")
|
|
2270
|
+
|
|
2271
|
+
@property
|
|
2272
|
+
@pulumi.getter
|
|
2273
|
+
def store(self) -> Optional[bool]:
|
|
2274
|
+
"""
|
|
2275
|
+
Store resulting images to the worker's image store and ensure all of
|
|
2276
|
+
its blobs are in the content store.
|
|
2277
|
+
|
|
2278
|
+
Defaults to `true`.
|
|
2279
|
+
|
|
2280
|
+
Ignored if the worker doesn't have image store (when using OCI workers,
|
|
2281
|
+
for example).
|
|
2282
|
+
"""
|
|
2283
|
+
return pulumi.get(self, "store")
|
|
2284
|
+
|
|
2285
|
+
@property
|
|
2286
|
+
@pulumi.getter
|
|
2287
|
+
def unpack(self) -> Optional[bool]:
|
|
2288
|
+
"""
|
|
2289
|
+
Unpack image after creation (for use with containerd). Defaults to
|
|
2290
|
+
`false`.
|
|
2291
|
+
"""
|
|
2292
|
+
return pulumi.get(self, "unpack")
|
|
2293
|
+
|
|
2294
|
+
|
|
2295
|
+
@pulumi.output_type
|
|
2296
|
+
class ExportTar(dict):
|
|
2297
|
+
def __init__(__self__, *,
|
|
2298
|
+
dest: str):
|
|
2299
|
+
"""
|
|
2300
|
+
:param str dest: Output path.
|
|
2301
|
+
"""
|
|
2302
|
+
pulumi.set(__self__, "dest", dest)
|
|
2303
|
+
|
|
2304
|
+
@property
|
|
2305
|
+
@pulumi.getter
|
|
2306
|
+
def dest(self) -> str:
|
|
2307
|
+
"""
|
|
2308
|
+
Output path.
|
|
2309
|
+
"""
|
|
2310
|
+
return pulumi.get(self, "dest")
|
|
2311
|
+
|
|
2312
|
+
|
|
2313
|
+
@pulumi.output_type
|
|
2314
|
+
class Registry(dict):
|
|
2315
|
+
def __init__(__self__, *,
|
|
2316
|
+
address: str,
|
|
2317
|
+
password: Optional[str] = None,
|
|
2318
|
+
username: Optional[str] = None):
|
|
2319
|
+
"""
|
|
2320
|
+
:param str address: The registry's address (e.g. "docker.io").
|
|
2321
|
+
:param str password: Password or token for the registry.
|
|
2322
|
+
:param str username: Username for the registry.
|
|
2323
|
+
"""
|
|
2324
|
+
pulumi.set(__self__, "address", address)
|
|
2325
|
+
if password is not None:
|
|
2326
|
+
pulumi.set(__self__, "password", password)
|
|
2327
|
+
if username is not None:
|
|
2328
|
+
pulumi.set(__self__, "username", username)
|
|
2329
|
+
|
|
2330
|
+
@property
|
|
2331
|
+
@pulumi.getter
|
|
2332
|
+
def address(self) -> str:
|
|
2333
|
+
"""
|
|
2334
|
+
The registry's address (e.g. "docker.io").
|
|
2335
|
+
"""
|
|
2336
|
+
return pulumi.get(self, "address")
|
|
2337
|
+
|
|
2338
|
+
@property
|
|
2339
|
+
@pulumi.getter
|
|
2340
|
+
def password(self) -> Optional[str]:
|
|
2341
|
+
"""
|
|
2342
|
+
Password or token for the registry.
|
|
2343
|
+
"""
|
|
2344
|
+
return pulumi.get(self, "password")
|
|
2345
|
+
|
|
2346
|
+
@property
|
|
2347
|
+
@pulumi.getter
|
|
2348
|
+
def username(self) -> Optional[str]:
|
|
2349
|
+
"""
|
|
2350
|
+
Username for the registry.
|
|
2351
|
+
"""
|
|
2352
|
+
return pulumi.get(self, "username")
|
|
2353
|
+
|
|
2354
|
+
|
|
2355
|
+
@pulumi.output_type
|
|
2356
|
+
class SSH(dict):
|
|
2357
|
+
def __init__(__self__, *,
|
|
2358
|
+
id: str,
|
|
2359
|
+
paths: Optional[Sequence[str]] = None):
|
|
2360
|
+
"""
|
|
2361
|
+
:param str id: Useful for distinguishing different servers that are part of the same
|
|
2362
|
+
build.
|
|
2363
|
+
|
|
2364
|
+
A value of `default` is appropriate if only dealing with a single host.
|
|
2365
|
+
:param Sequence[str] paths: SSH agent socket or private keys to expose to the build under the given
|
|
2366
|
+
identifier.
|
|
2367
|
+
|
|
2368
|
+
Defaults to `[$SSH_AUTH_SOCK]`.
|
|
2369
|
+
|
|
2370
|
+
Note that your keys are **not** automatically added when using an
|
|
2371
|
+
agent. Run `ssh-add -l` locally to confirm which public keys are
|
|
2372
|
+
visible to the agent; these will be exposed to your build.
|
|
2373
|
+
"""
|
|
2374
|
+
pulumi.set(__self__, "id", id)
|
|
2375
|
+
if paths is not None:
|
|
2376
|
+
pulumi.set(__self__, "paths", paths)
|
|
2377
|
+
|
|
2378
|
+
@property
|
|
2379
|
+
@pulumi.getter
|
|
2380
|
+
def id(self) -> str:
|
|
2381
|
+
"""
|
|
2382
|
+
Useful for distinguishing different servers that are part of the same
|
|
2383
|
+
build.
|
|
2384
|
+
|
|
2385
|
+
A value of `default` is appropriate if only dealing with a single host.
|
|
2386
|
+
"""
|
|
2387
|
+
return pulumi.get(self, "id")
|
|
2388
|
+
|
|
2389
|
+
@property
|
|
2390
|
+
@pulumi.getter
|
|
2391
|
+
def paths(self) -> Optional[Sequence[str]]:
|
|
2392
|
+
"""
|
|
2393
|
+
SSH agent socket or private keys to expose to the build under the given
|
|
2394
|
+
identifier.
|
|
2395
|
+
|
|
2396
|
+
Defaults to `[$SSH_AUTH_SOCK]`.
|
|
2397
|
+
|
|
2398
|
+
Note that your keys are **not** automatically added when using an
|
|
2399
|
+
agent. Run `ssh-add -l` locally to confirm which public keys are
|
|
2400
|
+
visible to the agent; these will be exposed to your build.
|
|
2401
|
+
"""
|
|
2402
|
+
return pulumi.get(self, "paths")
|
|
2403
|
+
|
|
2404
|
+
|