@pulumi/cloudinit 1.4.0-alpha.1704346182 → 1.4.0-alpha.1704400702

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.
package/config.d.ts CHANGED
@@ -2,8 +2,24 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
- * @deprecated This resource is deprecated.
6
- Please use the getConfig data source instead.
5
+ * > **This resource is deprecated** Please use the cloudinit.Config
6
+ * data source instead.
7
+ *
8
+ * 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/).
9
+ *
10
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
11
+ *
12
+ * 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.
13
+ *
14
+ * ## Example Usage
15
+ *
16
+ * ### Config
17
+ *
18
+ * ### hello-script.sh
19
+ *
20
+ * ### cloud-config.yaml
21
+ *
22
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
7
23
  */
8
24
  export declare class Config extends pulumi.CustomResource {
9
25
  /**
@@ -21,12 +37,24 @@ export declare class Config extends pulumi.CustomResource {
21
37
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
22
38
  */
23
39
  static isInstance(obj: any): obj is Config;
24
- readonly base64Encode: pulumi.Output<boolean | undefined>;
25
- readonly boundary: pulumi.Output<string | undefined>;
26
- readonly gzip: pulumi.Output<boolean | undefined>;
27
- readonly parts: pulumi.Output<outputs.ConfigPart[]>;
28
40
  /**
29
- * rendered cloudinit configuration
41
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
42
+ */
43
+ readonly base64Encode: pulumi.Output<boolean>;
44
+ /**
45
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
46
+ */
47
+ readonly boundary: pulumi.Output<string>;
48
+ /**
49
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
50
+ */
51
+ readonly gzip: pulumi.Output<boolean>;
52
+ /**
53
+ * 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.
54
+ */
55
+ readonly parts: pulumi.Output<outputs.ConfigPart[] | undefined>;
56
+ /**
57
+ * The final rendered multi-part cloud-init config.
30
58
  */
31
59
  readonly rendered: pulumi.Output<string>;
32
60
  /**
@@ -36,20 +64,30 @@ export declare class Config extends pulumi.CustomResource {
36
64
  * @param args The arguments to use to populate this resource's properties.
37
65
  * @param opts A bag of options that control this resource's behavior.
38
66
  */
39
- /** @deprecated This resource is deprecated.
40
- Please use the getConfig data source instead. */
41
- constructor(name: string, args: ConfigArgs, opts?: pulumi.CustomResourceOptions);
67
+ constructor(name: string, args?: ConfigArgs, opts?: pulumi.CustomResourceOptions);
42
68
  }
43
69
  /**
44
70
  * Input properties used for looking up and filtering Config resources.
45
71
  */
46
72
  export interface ConfigState {
73
+ /**
74
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
75
+ */
47
76
  base64Encode?: pulumi.Input<boolean>;
77
+ /**
78
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
79
+ */
48
80
  boundary?: pulumi.Input<string>;
81
+ /**
82
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
83
+ */
49
84
  gzip?: pulumi.Input<boolean>;
85
+ /**
86
+ * 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.
87
+ */
50
88
  parts?: pulumi.Input<pulumi.Input<inputs.ConfigPart>[]>;
51
89
  /**
52
- * rendered cloudinit configuration
90
+ * The final rendered multi-part cloud-init config.
53
91
  */
54
92
  rendered?: pulumi.Input<string>;
55
93
  }
@@ -57,8 +95,20 @@ export interface ConfigState {
57
95
  * The set of arguments for constructing a Config resource.
58
96
  */
59
97
  export interface ConfigArgs {
98
+ /**
99
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
100
+ */
60
101
  base64Encode?: pulumi.Input<boolean>;
102
+ /**
103
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
104
+ */
61
105
  boundary?: pulumi.Input<string>;
106
+ /**
107
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
108
+ */
62
109
  gzip?: pulumi.Input<boolean>;
63
- parts: pulumi.Input<pulumi.Input<inputs.ConfigPart>[]>;
110
+ /**
111
+ * 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.
112
+ */
113
+ parts?: pulumi.Input<pulumi.Input<inputs.ConfigPart>[]>;
64
114
  }
package/config.js CHANGED
@@ -6,8 +6,24 @@ exports.Config = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * @deprecated This resource is deprecated.
10
- Please use the getConfig data source instead.
9
+ * > **This resource is deprecated** Please use the cloudinit.Config
10
+ * data source instead.
11
+ *
12
+ * 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/).
13
+ *
14
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
15
+ *
16
+ * 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.
17
+ *
18
+ * ## Example Usage
19
+ *
20
+ * ### Config
21
+ *
22
+ * ### hello-script.sh
23
+ *
24
+ * ### cloud-config.yaml
25
+ *
26
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
11
27
  */
12
28
  class Config extends pulumi.CustomResource {
13
29
  /**
@@ -20,7 +36,6 @@ class Config extends pulumi.CustomResource {
20
36
  * @param opts Optional settings to control the behavior of the CustomResource.
21
37
  */
22
38
  static get(name, id, state, opts) {
23
- pulumi.log.warn("Config is deprecated: This resource is deprecated.\nPlease use the getConfig data source instead.");
24
39
  return new Config(name, state, Object.assign(Object.assign({}, opts), { id: id }));
25
40
  }
26
41
  /**
@@ -33,10 +48,7 @@ class Config extends pulumi.CustomResource {
33
48
  }
34
49
  return obj['__pulumiType'] === Config.__pulumiType;
35
50
  }
36
- /** @deprecated This resource is deprecated.
37
- Please use the getConfig data source instead. */
38
51
  constructor(name, argsOrState, opts) {
39
- pulumi.log.warn("Config is deprecated: This resource is deprecated.\nPlease use the getConfig data source instead.");
40
52
  let resourceInputs = {};
41
53
  opts = opts || {};
42
54
  if (opts.id) {
@@ -49,9 +61,6 @@ Please use the getConfig data source instead. */
49
61
  }
50
62
  else {
51
63
  const args = argsOrState;
52
- if ((!args || args.parts === undefined) && !opts.urn) {
53
- throw new Error("Missing required property 'parts'");
54
- }
55
64
  resourceInputs["base64Encode"] = args ? args.base64Encode : undefined;
56
65
  resourceInputs["boundary"] = args ? args.boundary : undefined;
57
66
  resourceInputs["gzip"] = args ? args.gzip : undefined;
package/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;SACnE;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAClD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AA7EL,wBA8EC;AAhEG,gBAAgB;AACO,mBAAY,GAAG,+BAA+B,CAAC"}
package/getConfig.d.ts CHANGED
@@ -2,133 +2,109 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
- * Renders a [multipart MIME configuration](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)
6
- * for use with [cloud-init](https://cloudinit.readthedocs.io/).
5
+ * 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/).
7
6
  *
8
- * Cloud-init is a commonly-used startup configuration utility for cloud compute
9
- * instances. It accepts configuration via provider-specific user data mechanisms,
10
- * such as `userData` for Amazon EC2 instances. Multipart MIME is one of the
11
- * data formats it accepts. For more information, see
12
- * [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html)
13
- * in the cloud-init manual.
7
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
14
8
  *
15
- * This is not a generalized utility for producing multipart MIME messages. Its
16
- * featureset is specialized for the features of cloud-init.
9
+ * 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.
17
10
  *
18
11
  * ## Example Usage
19
12
  *
20
- * ```typescript
21
- * import * as pulumi from "@pulumi/pulumi";
22
- * import * as cloudinit from "@pulumi/cloudinit";
13
+ * ### Config
23
14
  *
24
- * const foo = cloudinit.getConfig({
25
- * base64Encode: false,
26
- * gzip: false,
27
- * parts: [{
28
- * content: "baz",
29
- * contentType: "text/x-shellscript",
30
- * filename: "foobar.sh",
31
- * }],
32
- * });
33
- * ```
15
+ * ### hello-script.sh
16
+ *
17
+ * ### cloud-config.yaml
18
+ *
19
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
34
20
  */
35
- export declare function getConfig(args: GetConfigArgs, opts?: pulumi.InvokeOptions): Promise<GetConfigResult>;
21
+ export declare function getConfig(args?: GetConfigArgs, opts?: pulumi.InvokeOptions): Promise<GetConfigResult>;
36
22
  /**
37
23
  * A collection of arguments for invoking getConfig.
38
24
  */
39
25
  export interface GetConfigArgs {
40
26
  /**
41
- * Base64 encoding of the rendered output. Defaults to `true`,
42
- * and cannot be disabled if `gzip` is `true`.
27
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
43
28
  */
44
29
  base64Encode?: boolean;
45
30
  /**
46
- * Define the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
31
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
47
32
  */
48
33
  boundary?: string;
49
34
  /**
50
- * Specify whether or not to gzip the rendered output. Defaults to `true`.
35
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
51
36
  */
52
37
  gzip?: boolean;
53
38
  /**
54
- * A nested block type which adds a file to the generated
55
- * cloud-init configuration. Use multiple `part` blocks to specify multiple
56
- * files, which will be included in order of declaration in the final MIME
57
- * document.
39
+ * 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.
58
40
  */
59
- parts: inputs.GetConfigPart[];
41
+ parts?: inputs.GetConfigPart[];
60
42
  }
61
43
  /**
62
44
  * A collection of values returned by getConfig.
63
45
  */
64
46
  export interface GetConfigResult {
65
- readonly base64Encode?: boolean;
66
- readonly boundary?: string;
67
- readonly gzip?: boolean;
68
47
  /**
69
- * The provider-assigned unique ID for this managed resource.
48
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
49
+ */
50
+ readonly base64Encode: boolean;
51
+ /**
52
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
53
+ */
54
+ readonly boundary: string;
55
+ /**
56
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
57
+ */
58
+ readonly gzip: boolean;
59
+ /**
60
+ * [CRC-32](https://pkg.go.dev/hash/crc32) checksum of `rendered` cloud-init config.
70
61
  */
71
62
  readonly id: string;
72
- readonly parts: outputs.GetConfigPart[];
63
+ /**
64
+ * 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.
65
+ */
66
+ readonly parts?: outputs.GetConfigPart[];
73
67
  /**
74
68
  * The final rendered multi-part cloud-init config.
75
69
  */
76
70
  readonly rendered: string;
77
71
  }
78
72
  /**
79
- * Renders a [multipart MIME configuration](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)
80
- * for use with [cloud-init](https://cloudinit.readthedocs.io/).
73
+ * 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/).
81
74
  *
82
- * Cloud-init is a commonly-used startup configuration utility for cloud compute
83
- * instances. It accepts configuration via provider-specific user data mechanisms,
84
- * such as `userData` for Amazon EC2 instances. Multipart MIME is one of the
85
- * data formats it accepts. For more information, see
86
- * [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html)
87
- * in the cloud-init manual.
75
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
88
76
  *
89
- * This is not a generalized utility for producing multipart MIME messages. Its
90
- * featureset is specialized for the features of cloud-init.
77
+ * 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.
91
78
  *
92
79
  * ## Example Usage
93
80
  *
94
- * ```typescript
95
- * import * as pulumi from "@pulumi/pulumi";
96
- * import * as cloudinit from "@pulumi/cloudinit";
81
+ * ### Config
82
+ *
83
+ * ### hello-script.sh
84
+ *
85
+ * ### cloud-config.yaml
97
86
  *
98
- * const foo = cloudinit.getConfig({
99
- * base64Encode: false,
100
- * gzip: false,
101
- * parts: [{
102
- * content: "baz",
103
- * contentType: "text/x-shellscript",
104
- * filename: "foobar.sh",
105
- * }],
106
- * });
107
- * ```
87
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
108
88
  */
109
- export declare function getConfigOutput(args: GetConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetConfigResult>;
89
+ export declare function getConfigOutput(args?: GetConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetConfigResult>;
110
90
  /**
111
91
  * A collection of arguments for invoking getConfig.
112
92
  */
113
93
  export interface GetConfigOutputArgs {
114
94
  /**
115
- * Base64 encoding of the rendered output. Defaults to `true`,
116
- * and cannot be disabled if `gzip` is `true`.
95
+ * Specify whether or not to base64 encode the `rendered` output. Defaults to `true`, and cannot be disabled if gzip is `true`.
117
96
  */
118
97
  base64Encode?: pulumi.Input<boolean>;
119
98
  /**
120
- * Define the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
99
+ * Specify the Writer's default boundary separator. Defaults to `MIMEBOUNDARY`.
121
100
  */
122
101
  boundary?: pulumi.Input<string>;
123
102
  /**
124
- * Specify whether or not to gzip the rendered output. Defaults to `true`.
103
+ * Specify whether or not to gzip the `rendered` output. Defaults to `true`.
125
104
  */
126
105
  gzip?: pulumi.Input<boolean>;
127
106
  /**
128
- * A nested block type which adds a file to the generated
129
- * cloud-init configuration. Use multiple `part` blocks to specify multiple
130
- * files, which will be included in order of declaration in the final MIME
131
- * document.
107
+ * 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.
132
108
  */
133
- parts: pulumi.Input<pulumi.Input<inputs.GetConfigPartArgs>[]>;
109
+ parts?: pulumi.Input<pulumi.Input<inputs.GetConfigPartArgs>[]>;
134
110
  }
package/getConfig.js CHANGED
@@ -6,37 +6,24 @@ exports.getConfigOutput = exports.getConfig = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * Renders a [multipart MIME configuration](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)
10
- * for use with [cloud-init](https://cloudinit.readthedocs.io/).
9
+ * 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/).
11
10
  *
12
- * Cloud-init is a commonly-used startup configuration utility for cloud compute
13
- * instances. It accepts configuration via provider-specific user data mechanisms,
14
- * such as `userData` for Amazon EC2 instances. Multipart MIME is one of the
15
- * data formats it accepts. For more information, see
16
- * [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html)
17
- * in the cloud-init manual.
11
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
18
12
  *
19
- * This is not a generalized utility for producing multipart MIME messages. Its
20
- * featureset is specialized for the features of cloud-init.
13
+ * 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.
21
14
  *
22
15
  * ## Example Usage
23
16
  *
24
- * ```typescript
25
- * import * as pulumi from "@pulumi/pulumi";
26
- * import * as cloudinit from "@pulumi/cloudinit";
17
+ * ### Config
27
18
  *
28
- * const foo = cloudinit.getConfig({
29
- * base64Encode: false,
30
- * gzip: false,
31
- * parts: [{
32
- * content: "baz",
33
- * contentType: "text/x-shellscript",
34
- * filename: "foobar.sh",
35
- * }],
36
- * });
37
- * ```
19
+ * ### hello-script.sh
20
+ *
21
+ * ### cloud-config.yaml
22
+ *
23
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
38
24
  */
39
25
  function getConfig(args, opts) {
26
+ args = args || {};
40
27
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
41
28
  return pulumi.runtime.invoke("cloudinit:index/getConfig:getConfig", {
42
29
  "base64Encode": args.base64Encode,
@@ -47,35 +34,21 @@ function getConfig(args, opts) {
47
34
  }
48
35
  exports.getConfig = getConfig;
49
36
  /**
50
- * Renders a [multipart MIME configuration](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)
51
- * for use with [cloud-init](https://cloudinit.readthedocs.io/).
37
+ * 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/).
52
38
  *
53
- * Cloud-init is a commonly-used startup configuration utility for cloud compute
54
- * instances. It accepts configuration via provider-specific user data mechanisms,
55
- * such as `userData` for Amazon EC2 instances. Multipart MIME is one of the
56
- * data formats it accepts. For more information, see
57
- * [User-Data Formats](https://cloudinit.readthedocs.io/en/latest/topics/format.html)
58
- * in the cloud-init manual.
39
+ * Cloud-init is a commonly-used startup configuration utility for cloud compute instances. It accepts configuration via provider-specific user data mechanisms, such as `userData` 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.
59
40
  *
60
- * This is not a generalized utility for producing multipart MIME messages. Its
61
- * featureset is specialized for the features of cloud-init.
41
+ * 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.
62
42
  *
63
43
  * ## Example Usage
64
44
  *
65
- * ```typescript
66
- * import * as pulumi from "@pulumi/pulumi";
67
- * import * as cloudinit from "@pulumi/cloudinit";
45
+ * ### Config
46
+ *
47
+ * ### hello-script.sh
48
+ *
49
+ * ### cloud-config.yaml
68
50
  *
69
- * const foo = cloudinit.getConfig({
70
- * base64Encode: false,
71
- * gzip: false,
72
- * parts: [{
73
- * content: "baz",
74
- * contentType: "text/x-shellscript",
75
- * filename: "foobar.sh",
76
- * }],
77
- * });
78
- * ```
51
+ * <!-- This schema was originally generated with tfplugindocs, then modified manually to ensure `part` block list is noted as Required -->
79
52
  */
80
53
  function getConfigOutput(args, opts) {
81
54
  return pulumi.output(args).apply((a) => getConfig(a, opts));
package/getConfig.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../getConfig.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,SAAS,CAAC,IAAmB,EAAE,IAA2B;IAEtE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,qCAAqC,EAAE;QAChE,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,8BASC;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,eAAe,CAAC,IAAyB,EAAE,IAA2B;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../getConfig.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,SAAS,CAAC,IAAoB,EAAE,IAA2B;IACvE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,qCAAqC,EAAE;QAChE,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK;KACtB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,8BAUC;AAqDD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,eAAe,CAAC,IAA0B,EAAE,IAA2B;IACnF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/cloudinit",
3
- "version": "v1.4.0-alpha.1704346182+5feceebe",
3
+ "version": "v1.4.0-alpha.1704400702+1de7b04b",
4
4
  "description": "A Pulumi package for creating and managing cloudinit cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
package/types/input.d.ts CHANGED
@@ -1,8 +1,20 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  export interface ConfigPart {
3
+ /**
4
+ * Body content for the part.
5
+ */
3
6
  content: pulumi.Input<string>;
7
+ /**
8
+ * A MIME-style content type to report in the header for the part. Defaults to `text/plain`
9
+ */
4
10
  contentType?: pulumi.Input<string>;
11
+ /**
12
+ * A filename to report in the header for the part.
13
+ */
5
14
  filename?: pulumi.Input<string>;
15
+ /**
16
+ * 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).
17
+ */
6
18
  mergeType?: pulumi.Input<string>;
7
19
  }
8
20
  export interface GetConfigPart {
@@ -11,7 +23,7 @@ export interface GetConfigPart {
11
23
  */
12
24
  content: string;
13
25
  /**
14
- * A MIME-style content type to report in the header for the part.
26
+ * A MIME-style content type to report in the header for the part. Defaults to `text/plain`
15
27
  */
16
28
  contentType?: string;
17
29
  /**
@@ -19,8 +31,7 @@ export interface GetConfigPart {
19
31
  */
20
32
  filename?: string;
21
33
  /**
22
- * A value for the `X-Merge-Type` header of the part,
23
- * to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/topics/merging.html).
34
+ * 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).
24
35
  */
25
36
  mergeType?: string;
26
37
  }
@@ -30,7 +41,7 @@ export interface GetConfigPartArgs {
30
41
  */
31
42
  content: pulumi.Input<string>;
32
43
  /**
33
- * A MIME-style content type to report in the header for the part.
44
+ * A MIME-style content type to report in the header for the part. Defaults to `text/plain`
34
45
  */
35
46
  contentType?: pulumi.Input<string>;
36
47
  /**
@@ -38,8 +49,7 @@ export interface GetConfigPartArgs {
38
49
  */
39
50
  filename?: pulumi.Input<string>;
40
51
  /**
41
- * A value for the `X-Merge-Type` header of the part,
42
- * to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/topics/merging.html).
52
+ * 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).
43
53
  */
44
54
  mergeType?: pulumi.Input<string>;
45
55
  }
package/types/output.d.ts CHANGED
@@ -1,7 +1,19 @@
1
1
  export interface ConfigPart {
2
+ /**
3
+ * Body content for the part.
4
+ */
2
5
  content: string;
3
- contentType?: string;
6
+ /**
7
+ * A MIME-style content type to report in the header for the part. Defaults to `text/plain`
8
+ */
9
+ contentType: string;
10
+ /**
11
+ * A filename to report in the header for the part.
12
+ */
4
13
  filename?: string;
14
+ /**
15
+ * 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).
16
+ */
5
17
  mergeType?: string;
6
18
  }
7
19
  export interface GetConfigPart {
@@ -10,16 +22,15 @@ export interface GetConfigPart {
10
22
  */
11
23
  content: string;
12
24
  /**
13
- * A MIME-style content type to report in the header for the part.
25
+ * A MIME-style content type to report in the header for the part. Defaults to `text/plain`
14
26
  */
15
- contentType?: string;
27
+ contentType: string;
16
28
  /**
17
29
  * A filename to report in the header for the part.
18
30
  */
19
31
  filename?: string;
20
32
  /**
21
- * A value for the `X-Merge-Type` header of the part,
22
- * to control [cloud-init merging behavior](https://cloudinit.readthedocs.io/en/latest/topics/merging.html).
33
+ * 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).
23
34
  */
24
35
  mergeType?: string;
25
36
  }