pulumi-cloudinit 1.3.0a1637244500__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-cloudinit might be problematic. Click here for more details.
- pulumi_cloudinit-1.4.0/PKG-INFO +61 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/_inputs.py +27 -11
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/_utilities.py +55 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/config.py +114 -29
- pulumi_cloudinit-1.4.0/pulumi_cloudinit/get_config.py +183 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/outputs.py +26 -10
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/provider.py +2 -4
- pulumi_cloudinit-1.4.0/pulumi_cloudinit/pulumi-plugin.json +4 -0
- pulumi_cloudinit-1.4.0/pulumi_cloudinit.egg-info/PKG-INFO +61 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit.egg-info/SOURCES.txt +2 -2
- pulumi_cloudinit-1.4.0/pyproject.toml +22 -0
- pulumi_cloudinit-1.3.0a1637244500/PKG-INFO +0 -58
- pulumi_cloudinit-1.3.0a1637244500/pulumi_cloudinit/get_config.py +0 -205
- pulumi_cloudinit-1.3.0a1637244500/pulumi_cloudinit.egg-info/PKG-INFO +0 -58
- pulumi_cloudinit-1.3.0a1637244500/pulumi_cloudinit.egg-info/not-zip-safe +0 -1
- pulumi_cloudinit-1.3.0a1637244500/setup.py +0 -65
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/README.md +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/__init__.py +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit/py.typed +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit.egg-info/dependency_links.txt +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit.egg-info/requires.txt +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/pulumi_cloudinit.egg-info/top_level.txt +0 -0
- {pulumi_cloudinit-1.3.0a1637244500 → pulumi_cloudinit-1.4.0}/setup.cfg +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pulumi_cloudinit
|
|
3
|
+
Version: 1.4.0
|
|
4
|
+
Summary: A Pulumi package for creating and managing cloudinit cloud resources.
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
Project-URL: Homepage, https://pulumi.io
|
|
7
|
+
Project-URL: Repository, https://github.com/pulumi/pulumi-cloudinit
|
|
8
|
+
Keywords: pulumi,cloudinit
|
|
9
|
+
Requires-Python: >=3.7
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: parver>=0.2.1
|
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
|
13
|
+
Requires-Dist: semver>=2.8.1
|
|
14
|
+
|
|
15
|
+
[](https://github.com/pulumi/pulumi-cloudinit/actions)
|
|
16
|
+
[](https://slack.pulumi.com)
|
|
17
|
+
[](https://npmjs.com/package/@pulumi/cloudinit)
|
|
18
|
+
[](https://badge.fury.io/nu/pulumi.cloudinit)
|
|
19
|
+
[](https://pypi.org/project/pulumi-cloudinit)
|
|
20
|
+
[](https://pkg.go.dev/github.com/pulumi/pulumi-cloudinit/sdk/go)
|
|
21
|
+
[](https://github.com/pulumi/pulumi-cloudinit/blob/master/LICENSE)
|
|
22
|
+
|
|
23
|
+
# CloudInit Provider
|
|
24
|
+
|
|
25
|
+
Provider for rendering [cloud-init](https://cloudinit.readthedocs.io/) configurations.
|
|
26
|
+
|
|
27
|
+
## Installing
|
|
28
|
+
|
|
29
|
+
This package is available in many languages in the standard packaging formats.
|
|
30
|
+
|
|
31
|
+
### Node.js (Java/TypeScript)
|
|
32
|
+
|
|
33
|
+
To use from JavaScript or TypeScript in Node.js, install using either `npm`:
|
|
34
|
+
|
|
35
|
+
$ npm install @pulumi/cloudinit
|
|
36
|
+
|
|
37
|
+
or `yarn`:
|
|
38
|
+
|
|
39
|
+
$ yarn add @pulumi/cloudinit
|
|
40
|
+
|
|
41
|
+
### Python 3
|
|
42
|
+
|
|
43
|
+
To use from Python, install using `pip`:
|
|
44
|
+
|
|
45
|
+
$ pip install pulumi_cloudinit
|
|
46
|
+
|
|
47
|
+
### Go
|
|
48
|
+
|
|
49
|
+
To use from Go, use `go get` to grab the latest version of the library
|
|
50
|
+
|
|
51
|
+
$ go get github.com/pulumi/pulumi-cloudinit/sdk
|
|
52
|
+
|
|
53
|
+
### .NET
|
|
54
|
+
|
|
55
|
+
To use from .NET, install using `dotnet add package`:
|
|
56
|
+
|
|
57
|
+
$ dotnet add package Pulumi.CloudInit
|
|
58
|
+
|
|
59
|
+
## Reference
|
|
60
|
+
|
|
61
|
+
For further information, please visit [the CloudInit provider docs](https://www.pulumi.com/docs/intro/cloud-providers/cloudinit) or for detailed reference documentation, please visit [the API docs](https://www.pulumi.com/docs/reference/pkg/cloudinit).
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
|
|
5
|
+
import copy
|
|
5
6
|
import warnings
|
|
6
7
|
import pulumi
|
|
7
8
|
import pulumi.runtime
|
|
@@ -20,6 +21,12 @@ class ConfigPartArgs:
|
|
|
20
21
|
content_type: Optional[pulumi.Input[str]] = None,
|
|
21
22
|
filename: Optional[pulumi.Input[str]] = None,
|
|
22
23
|
merge_type: Optional[pulumi.Input[str]] = None):
|
|
24
|
+
"""
|
|
25
|
+
:param pulumi.Input[str] content: Body content for the part.
|
|
26
|
+
:param pulumi.Input[str] content_type: A MIME-style content type to report in the header for the part. Defaults to `text/plain`
|
|
27
|
+
:param pulumi.Input[str] filename: A filename to report in the header for the part.
|
|
28
|
+
:param pulumi.Input[str] merge_type: A value for the `X-Merge-Type` header of the part, to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/reference/merging.html).
|
|
29
|
+
"""
|
|
23
30
|
pulumi.set(__self__, "content", content)
|
|
24
31
|
if content_type is not None:
|
|
25
32
|
pulumi.set(__self__, "content_type", content_type)
|
|
@@ -31,6 +38,9 @@ class ConfigPartArgs:
|
|
|
31
38
|
@property
|
|
32
39
|
@pulumi.getter
|
|
33
40
|
def content(self) -> pulumi.Input[str]:
|
|
41
|
+
"""
|
|
42
|
+
Body content for the part.
|
|
43
|
+
"""
|
|
34
44
|
return pulumi.get(self, "content")
|
|
35
45
|
|
|
36
46
|
@content.setter
|
|
@@ -40,6 +50,9 @@ class ConfigPartArgs:
|
|
|
40
50
|
@property
|
|
41
51
|
@pulumi.getter(name="contentType")
|
|
42
52
|
def content_type(self) -> Optional[pulumi.Input[str]]:
|
|
53
|
+
"""
|
|
54
|
+
A MIME-style content type to report in the header for the part. Defaults to `text/plain`
|
|
55
|
+
"""
|
|
43
56
|
return pulumi.get(self, "content_type")
|
|
44
57
|
|
|
45
58
|
@content_type.setter
|
|
@@ -49,6 +62,9 @@ class ConfigPartArgs:
|
|
|
49
62
|
@property
|
|
50
63
|
@pulumi.getter
|
|
51
64
|
def filename(self) -> Optional[pulumi.Input[str]]:
|
|
65
|
+
"""
|
|
66
|
+
A filename to report in the header for the part.
|
|
67
|
+
"""
|
|
52
68
|
return pulumi.get(self, "filename")
|
|
53
69
|
|
|
54
70
|
@filename.setter
|
|
@@ -58,6 +74,9 @@ class ConfigPartArgs:
|
|
|
58
74
|
@property
|
|
59
75
|
@pulumi.getter(name="mergeType")
|
|
60
76
|
def merge_type(self) -> Optional[pulumi.Input[str]]:
|
|
77
|
+
"""
|
|
78
|
+
A value for the `X-Merge-Type` header of the part, to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/reference/merging.html).
|
|
79
|
+
"""
|
|
61
80
|
return pulumi.get(self, "merge_type")
|
|
62
81
|
|
|
63
82
|
@merge_type.setter
|
|
@@ -69,19 +88,17 @@ class ConfigPartArgs:
|
|
|
69
88
|
class GetConfigPartArgs:
|
|
70
89
|
def __init__(__self__, *,
|
|
71
90
|
content: str,
|
|
72
|
-
content_type:
|
|
91
|
+
content_type: str,
|
|
73
92
|
filename: Optional[str] = None,
|
|
74
93
|
merge_type: Optional[str] = None):
|
|
75
94
|
"""
|
|
76
95
|
:param str content: Body content for the part.
|
|
77
|
-
:param str content_type: A MIME-style content type to report in the header for the part.
|
|
96
|
+
:param str content_type: A MIME-style content type to report in the header for the part. Defaults to `text/plain`
|
|
78
97
|
:param str filename: A filename to report in the header for the part.
|
|
79
|
-
:param str merge_type: A value for the `X-Merge-Type` header of the part,
|
|
80
|
-
to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/topics/merging.html).
|
|
98
|
+
:param str merge_type: A value for the `X-Merge-Type` header of the part, to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/reference/merging.html).
|
|
81
99
|
"""
|
|
82
100
|
pulumi.set(__self__, "content", content)
|
|
83
|
-
|
|
84
|
-
pulumi.set(__self__, "content_type", content_type)
|
|
101
|
+
pulumi.set(__self__, "content_type", content_type)
|
|
85
102
|
if filename is not None:
|
|
86
103
|
pulumi.set(__self__, "filename", filename)
|
|
87
104
|
if merge_type is not None:
|
|
@@ -101,14 +118,14 @@ class GetConfigPartArgs:
|
|
|
101
118
|
|
|
102
119
|
@property
|
|
103
120
|
@pulumi.getter(name="contentType")
|
|
104
|
-
def content_type(self) ->
|
|
121
|
+
def content_type(self) -> str:
|
|
105
122
|
"""
|
|
106
|
-
A MIME-style content type to report in the header for the part.
|
|
123
|
+
A MIME-style content type to report in the header for the part. Defaults to `text/plain`
|
|
107
124
|
"""
|
|
108
125
|
return pulumi.get(self, "content_type")
|
|
109
126
|
|
|
110
127
|
@content_type.setter
|
|
111
|
-
def content_type(self, value:
|
|
128
|
+
def content_type(self, value: str):
|
|
112
129
|
pulumi.set(self, "content_type", value)
|
|
113
130
|
|
|
114
131
|
@property
|
|
@@ -127,8 +144,7 @@ class GetConfigPartArgs:
|
|
|
127
144
|
@pulumi.getter(name="mergeType")
|
|
128
145
|
def merge_type(self) -> Optional[str]:
|
|
129
146
|
"""
|
|
130
|
-
A value for the `X-Merge-Type` header of the part,
|
|
131
|
-
to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/topics/merging.html).
|
|
147
|
+
A value for the `X-Merge-Type` header of the part, to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/reference/merging.html).
|
|
132
148
|
"""
|
|
133
149
|
return pulumi.get(self, "merge_type")
|
|
134
150
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
import asyncio
|
|
6
7
|
import importlib.util
|
|
7
8
|
import inspect
|
|
8
9
|
import json
|
|
@@ -13,6 +14,7 @@ import typing
|
|
|
13
14
|
|
|
14
15
|
import pulumi
|
|
15
16
|
import pulumi.runtime
|
|
17
|
+
from pulumi.runtime.sync_await import _sync_await
|
|
16
18
|
|
|
17
19
|
from semver import VersionInfo as SemverVersion
|
|
18
20
|
from parver import Version as PEP440Version
|
|
@@ -98,6 +100,17 @@ _version_str = str(_version)
|
|
|
98
100
|
def get_version():
|
|
99
101
|
return _version_str
|
|
100
102
|
|
|
103
|
+
def get_resource_opts_defaults() -> pulumi.ResourceOptions:
|
|
104
|
+
return pulumi.ResourceOptions(
|
|
105
|
+
version=get_version(),
|
|
106
|
+
plugin_download_url=get_plugin_download_url(),
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
def get_invoke_opts_defaults() -> pulumi.InvokeOptions:
|
|
110
|
+
return pulumi.InvokeOptions(
|
|
111
|
+
version=get_version(),
|
|
112
|
+
plugin_download_url=get_plugin_download_url(),
|
|
113
|
+
)
|
|
101
114
|
|
|
102
115
|
def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs):
|
|
103
116
|
"""
|
|
@@ -234,3 +247,45 @@ def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
|
|
|
234
247
|
**resolved_args['kwargs']))
|
|
235
248
|
|
|
236
249
|
return (lambda _: lifted_func)
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def call_plain(
|
|
253
|
+
tok: str,
|
|
254
|
+
props: pulumi.Inputs,
|
|
255
|
+
res: typing.Optional[pulumi.Resource] = None,
|
|
256
|
+
typ: typing.Optional[type] = None,
|
|
257
|
+
) -> typing.Any:
|
|
258
|
+
"""
|
|
259
|
+
Wraps pulumi.runtime.plain to force the output and return it plainly.
|
|
260
|
+
"""
|
|
261
|
+
|
|
262
|
+
output = pulumi.runtime.call(tok, props, res, typ)
|
|
263
|
+
|
|
264
|
+
# Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
|
265
|
+
result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
|
|
266
|
+
|
|
267
|
+
problem = None
|
|
268
|
+
if not known:
|
|
269
|
+
problem = ' an unknown value'
|
|
270
|
+
elif secret:
|
|
271
|
+
problem = ' a secret value'
|
|
272
|
+
|
|
273
|
+
if problem:
|
|
274
|
+
raise AssertionError(
|
|
275
|
+
f"Plain resource method '{tok}' incorrectly returned {problem}. "
|
|
276
|
+
+ "This is an error in the provider, please report this to the provider developer."
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
return result
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
|
|
283
|
+
return (
|
|
284
|
+
await o._future,
|
|
285
|
+
await o._is_known,
|
|
286
|
+
await o._is_secret,
|
|
287
|
+
await o._resources,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
def get_plugin_download_url():
|
|
291
|
+
return None
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
|
|
5
|
+
import copy
|
|
5
6
|
import warnings
|
|
6
7
|
import pulumi
|
|
7
8
|
import pulumi.runtime
|
|
@@ -15,33 +16,32 @@ __all__ = ['ConfigArgs', 'Config']
|
|
|
15
16
|
@pulumi.input_type
|
|
16
17
|
class ConfigArgs:
|
|
17
18
|
def __init__(__self__, *,
|
|
18
|
-
parts: pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]],
|
|
19
19
|
base64_encode: Optional[pulumi.Input[bool]] = None,
|
|
20
20
|
boundary: Optional[pulumi.Input[str]] = None,
|
|
21
|
-
gzip: Optional[pulumi.Input[bool]] = None
|
|
21
|
+
gzip: Optional[pulumi.Input[bool]] = None,
|
|
22
|
+
parts: Optional[pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]] = None):
|
|
22
23
|
"""
|
|
23
24
|
The set of arguments for constructing a Config resource.
|
|
25
|
+
:param pulumi.Input[bool] base64_encode: Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
26
|
+
:param pulumi.Input[str] boundary: Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
27
|
+
:param pulumi.Input[bool] gzip: Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
28
|
+
:param pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]] parts: A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
24
29
|
"""
|
|
25
|
-
pulumi.set(__self__, "parts", parts)
|
|
26
30
|
if base64_encode is not None:
|
|
27
31
|
pulumi.set(__self__, "base64_encode", base64_encode)
|
|
28
32
|
if boundary is not None:
|
|
29
33
|
pulumi.set(__self__, "boundary", boundary)
|
|
30
34
|
if gzip is not None:
|
|
31
35
|
pulumi.set(__self__, "gzip", gzip)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@pulumi.getter
|
|
35
|
-
def parts(self) -> pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]:
|
|
36
|
-
return pulumi.get(self, "parts")
|
|
37
|
-
|
|
38
|
-
@parts.setter
|
|
39
|
-
def parts(self, value: pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]):
|
|
40
|
-
pulumi.set(self, "parts", value)
|
|
36
|
+
if parts is not None:
|
|
37
|
+
pulumi.set(__self__, "parts", parts)
|
|
41
38
|
|
|
42
39
|
@property
|
|
43
40
|
@pulumi.getter(name="base64Encode")
|
|
44
41
|
def base64_encode(self) -> Optional[pulumi.Input[bool]]:
|
|
42
|
+
"""
|
|
43
|
+
Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
44
|
+
"""
|
|
45
45
|
return pulumi.get(self, "base64_encode")
|
|
46
46
|
|
|
47
47
|
@base64_encode.setter
|
|
@@ -51,6 +51,9 @@ class ConfigArgs:
|
|
|
51
51
|
@property
|
|
52
52
|
@pulumi.getter
|
|
53
53
|
def boundary(self) -> Optional[pulumi.Input[str]]:
|
|
54
|
+
"""
|
|
55
|
+
Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
56
|
+
"""
|
|
54
57
|
return pulumi.get(self, "boundary")
|
|
55
58
|
|
|
56
59
|
@boundary.setter
|
|
@@ -60,12 +63,27 @@ class ConfigArgs:
|
|
|
60
63
|
@property
|
|
61
64
|
@pulumi.getter
|
|
62
65
|
def gzip(self) -> Optional[pulumi.Input[bool]]:
|
|
66
|
+
"""
|
|
67
|
+
Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
68
|
+
"""
|
|
63
69
|
return pulumi.get(self, "gzip")
|
|
64
70
|
|
|
65
71
|
@gzip.setter
|
|
66
72
|
def gzip(self, value: Optional[pulumi.Input[bool]]):
|
|
67
73
|
pulumi.set(self, "gzip", value)
|
|
68
74
|
|
|
75
|
+
@property
|
|
76
|
+
@pulumi.getter
|
|
77
|
+
def parts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]]:
|
|
78
|
+
"""
|
|
79
|
+
A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
80
|
+
"""
|
|
81
|
+
return pulumi.get(self, "parts")
|
|
82
|
+
|
|
83
|
+
@parts.setter
|
|
84
|
+
def parts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]]):
|
|
85
|
+
pulumi.set(self, "parts", value)
|
|
86
|
+
|
|
69
87
|
|
|
70
88
|
@pulumi.input_type
|
|
71
89
|
class _ConfigState:
|
|
@@ -77,7 +95,11 @@ class _ConfigState:
|
|
|
77
95
|
rendered: Optional[pulumi.Input[str]] = None):
|
|
78
96
|
"""
|
|
79
97
|
Input properties used for looking up and filtering Config resources.
|
|
80
|
-
:param pulumi.Input[
|
|
98
|
+
:param pulumi.Input[bool] base64_encode: Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
99
|
+
:param pulumi.Input[str] boundary: Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
100
|
+
:param pulumi.Input[bool] gzip: Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
101
|
+
:param pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]] parts: A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
102
|
+
:param pulumi.Input[str] rendered: The final rendered multi-part cloud-init config.
|
|
81
103
|
"""
|
|
82
104
|
if base64_encode is not None:
|
|
83
105
|
pulumi.set(__self__, "base64_encode", base64_encode)
|
|
@@ -93,6 +115,9 @@ class _ConfigState:
|
|
|
93
115
|
@property
|
|
94
116
|
@pulumi.getter(name="base64Encode")
|
|
95
117
|
def base64_encode(self) -> Optional[pulumi.Input[bool]]:
|
|
118
|
+
"""
|
|
119
|
+
Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
120
|
+
"""
|
|
96
121
|
return pulumi.get(self, "base64_encode")
|
|
97
122
|
|
|
98
123
|
@base64_encode.setter
|
|
@@ -102,6 +127,9 @@ class _ConfigState:
|
|
|
102
127
|
@property
|
|
103
128
|
@pulumi.getter
|
|
104
129
|
def boundary(self) -> Optional[pulumi.Input[str]]:
|
|
130
|
+
"""
|
|
131
|
+
Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
132
|
+
"""
|
|
105
133
|
return pulumi.get(self, "boundary")
|
|
106
134
|
|
|
107
135
|
@boundary.setter
|
|
@@ -111,6 +139,9 @@ class _ConfigState:
|
|
|
111
139
|
@property
|
|
112
140
|
@pulumi.getter
|
|
113
141
|
def gzip(self) -> Optional[pulumi.Input[bool]]:
|
|
142
|
+
"""
|
|
143
|
+
Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
144
|
+
"""
|
|
114
145
|
return pulumi.get(self, "gzip")
|
|
115
146
|
|
|
116
147
|
@gzip.setter
|
|
@@ -120,6 +151,9 @@ class _ConfigState:
|
|
|
120
151
|
@property
|
|
121
152
|
@pulumi.getter
|
|
122
153
|
def parts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConfigPartArgs']]]]:
|
|
154
|
+
"""
|
|
155
|
+
A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
156
|
+
"""
|
|
123
157
|
return pulumi.get(self, "parts")
|
|
124
158
|
|
|
125
159
|
@parts.setter
|
|
@@ -130,7 +164,7 @@ class _ConfigState:
|
|
|
130
164
|
@pulumi.getter
|
|
131
165
|
def rendered(self) -> Optional[pulumi.Input[str]]:
|
|
132
166
|
"""
|
|
133
|
-
rendered
|
|
167
|
+
The final rendered multi-part cloud-init config.
|
|
134
168
|
"""
|
|
135
169
|
return pulumi.get(self, "rendered")
|
|
136
170
|
|
|
@@ -150,18 +184,58 @@ class Config(pulumi.CustomResource):
|
|
|
150
184
|
parts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigPartArgs']]]]] = None,
|
|
151
185
|
__props__=None):
|
|
152
186
|
"""
|
|
153
|
-
|
|
187
|
+
> **This resource is deprecated** Please use the Config
|
|
188
|
+
data source instead.
|
|
189
|
+
|
|
190
|
+
Renders a [multi-part MIME configuration](https://cloudinit.readthedocs.io/en/latest/explanation/format.html#mime-multi-part-archive) for use with [cloud-init](https://cloudinit.readthedocs.io/en/latest/).
|
|
191
|
+
|
|
192
|
+
Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `user_data` for Amazon EC2 instances. Multi-part MIME is one of the data formats it accepts. For more information, see [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/explanation/format.html) in the cloud-init manual.
|
|
193
|
+
|
|
194
|
+
This is not a generalized utility for producing multi-part MIME messages. It's feature set is specialized for cloud-init multi-part MIME messages.
|
|
195
|
+
|
|
196
|
+
## Example Usage
|
|
197
|
+
|
|
198
|
+
### Config
|
|
199
|
+
|
|
200
|
+
### hello-script.sh
|
|
201
|
+
|
|
202
|
+
### cloud-config.yaml
|
|
203
|
+
|
|
204
|
+
<!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
|
|
205
|
+
|
|
154
206
|
:param str resource_name: The name of the resource.
|
|
155
207
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
208
|
+
:param pulumi.Input[bool] base64_encode: Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
209
|
+
:param pulumi.Input[str] boundary: Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
210
|
+
:param pulumi.Input[bool] gzip: Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
211
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigPartArgs']]]] parts: A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
156
212
|
"""
|
|
157
213
|
...
|
|
158
214
|
@overload
|
|
159
215
|
def __init__(__self__,
|
|
160
216
|
resource_name: str,
|
|
161
|
-
args: ConfigArgs,
|
|
217
|
+
args: Optional[ConfigArgs] = None,
|
|
162
218
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
163
219
|
"""
|
|
164
|
-
|
|
220
|
+
> **This resource is deprecated** Please use the Config
|
|
221
|
+
data source instead.
|
|
222
|
+
|
|
223
|
+
Renders a [multi-part MIME configuration](https://cloudinit.readthedocs.io/en/latest/explanation/format.html#mime-multi-part-archive) for use with [cloud-init](https://cloudinit.readthedocs.io/en/latest/).
|
|
224
|
+
|
|
225
|
+
Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `user_data` for Amazon EC2 instances. Multi-part MIME is one of the data formats it accepts. For more information, see [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/explanation/format.html) in the cloud-init manual.
|
|
226
|
+
|
|
227
|
+
This is not a generalized utility for producing multi-part MIME messages. It's feature set is specialized for cloud-init multi-part MIME messages.
|
|
228
|
+
|
|
229
|
+
## Example Usage
|
|
230
|
+
|
|
231
|
+
### Config
|
|
232
|
+
|
|
233
|
+
### hello-script.sh
|
|
234
|
+
|
|
235
|
+
### cloud-config.yaml
|
|
236
|
+
|
|
237
|
+
<!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
|
|
238
|
+
|
|
165
239
|
:param str resource_name: The name of the resource.
|
|
166
240
|
:param ConfigArgs args: The arguments to use to populate this resource's properties.
|
|
167
241
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
@@ -182,12 +256,9 @@ class Config(pulumi.CustomResource):
|
|
|
182
256
|
gzip: Optional[pulumi.Input[bool]] = None,
|
|
183
257
|
parts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigPartArgs']]]]] = None,
|
|
184
258
|
__props__=None):
|
|
185
|
-
|
|
186
|
-
opts = pulumi.ResourceOptions()
|
|
259
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
187
260
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
188
261
|
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
189
|
-
if opts.version is None:
|
|
190
|
-
opts.version = _utilities.get_version()
|
|
191
262
|
if opts.id is None:
|
|
192
263
|
if __props__ is not None:
|
|
193
264
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
@@ -196,8 +267,6 @@ class Config(pulumi.CustomResource):
|
|
|
196
267
|
__props__.__dict__["base64_encode"] = base64_encode
|
|
197
268
|
__props__.__dict__["boundary"] = boundary
|
|
198
269
|
__props__.__dict__["gzip"] = gzip
|
|
199
|
-
if parts is None and not opts.urn:
|
|
200
|
-
raise TypeError("Missing required property 'parts'")
|
|
201
270
|
__props__.__dict__["parts"] = parts
|
|
202
271
|
__props__.__dict__["rendered"] = None
|
|
203
272
|
super(Config, __self__).__init__(
|
|
@@ -222,7 +291,11 @@ class Config(pulumi.CustomResource):
|
|
|
222
291
|
:param str resource_name: The unique name of the resulting resource.
|
|
223
292
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
224
293
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
225
|
-
:param pulumi.Input[
|
|
294
|
+
:param pulumi.Input[bool] base64_encode: Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
295
|
+
:param pulumi.Input[str] boundary: Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
296
|
+
:param pulumi.Input[bool] gzip: Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
297
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigPartArgs']]]] parts: A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
298
|
+
:param pulumi.Input[str] rendered: The final rendered multi-part cloud-init config.
|
|
226
299
|
"""
|
|
227
300
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
228
301
|
|
|
@@ -237,29 +310,41 @@ class Config(pulumi.CustomResource):
|
|
|
237
310
|
|
|
238
311
|
@property
|
|
239
312
|
@pulumi.getter(name="base64Encode")
|
|
240
|
-
def base64_encode(self) -> pulumi.Output[
|
|
313
|
+
def base64_encode(self) -> pulumi.Output[bool]:
|
|
314
|
+
"""
|
|
315
|
+
Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
|
|
316
|
+
"""
|
|
241
317
|
return pulumi.get(self, "base64_encode")
|
|
242
318
|
|
|
243
319
|
@property
|
|
244
320
|
@pulumi.getter
|
|
245
|
-
def boundary(self) -> pulumi.Output[
|
|
321
|
+
def boundary(self) -> pulumi.Output[str]:
|
|
322
|
+
"""
|
|
323
|
+
Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
|
|
324
|
+
"""
|
|
246
325
|
return pulumi.get(self, "boundary")
|
|
247
326
|
|
|
248
327
|
@property
|
|
249
328
|
@pulumi.getter
|
|
250
|
-
def gzip(self) -> pulumi.Output[
|
|
329
|
+
def gzip(self) -> pulumi.Output[bool]:
|
|
330
|
+
"""
|
|
331
|
+
Specify whether or not to gzip the `rendered` output. Defaults to `true`.
|
|
332
|
+
"""
|
|
251
333
|
return pulumi.get(self, "gzip")
|
|
252
334
|
|
|
253
335
|
@property
|
|
254
336
|
@pulumi.getter
|
|
255
|
-
def parts(self) -> pulumi.Output[Sequence['outputs.ConfigPart']]:
|
|
337
|
+
def parts(self) -> pulumi.Output[Optional[Sequence['outputs.ConfigPart']]]:
|
|
338
|
+
"""
|
|
339
|
+
A nested block type which adds a file to the generated cloud-init configuration. Use multiple `part` blocks to specify multiple files, which will be included in order of declaration in the final MIME document.
|
|
340
|
+
"""
|
|
256
341
|
return pulumi.get(self, "parts")
|
|
257
342
|
|
|
258
343
|
@property
|
|
259
344
|
@pulumi.getter
|
|
260
345
|
def rendered(self) -> pulumi.Output[str]:
|
|
261
346
|
"""
|
|
262
|
-
rendered
|
|
347
|
+
The final rendered multi-part cloud-init config.
|
|
263
348
|
"""
|
|
264
349
|
return pulumi.get(self, "rendered")
|
|
265
350
|
|