@pulumi/linode 5.5.0 → 5.7.0-alpha.1767074814

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.
Files changed (194) hide show
  1. package/consumerImageShareGroupToken.d.ts +142 -0
  2. package/consumerImageShareGroupToken.js +90 -0
  3. package/consumerImageShareGroupToken.js.map +1 -0
  4. package/getAccountAvailabilities.d.ts +1 -3
  5. package/getAccountAvailabilities.js +0 -2
  6. package/getAccountAvailabilities.js.map +1 -1
  7. package/getAccountLogins.d.ts +1 -3
  8. package/getAccountLogins.js +0 -2
  9. package/getAccountLogins.js.map +1 -1
  10. package/getChildAccounts.d.ts +1 -3
  11. package/getChildAccounts.js +0 -2
  12. package/getChildAccounts.js.map +1 -1
  13. package/getConsumerImageShareGroup.d.ts +89 -0
  14. package/getConsumerImageShareGroup.js +56 -0
  15. package/getConsumerImageShareGroup.js.map +1 -0
  16. package/getConsumerImageShareGroupImageShares.d.ts +119 -0
  17. package/getConsumerImageShareGroupImageShares.js +100 -0
  18. package/getConsumerImageShareGroupImageShares.js.map +1 -0
  19. package/getConsumerImageShareGroupToken.d.ts +97 -0
  20. package/getConsumerImageShareGroupToken.js +56 -0
  21. package/getConsumerImageShareGroupToken.js.map +1 -0
  22. package/getConsumerImageShareGroupTokens.d.ts +115 -0
  23. package/getConsumerImageShareGroupTokens.js +112 -0
  24. package/getConsumerImageShareGroupTokens.js.map +1 -0
  25. package/getDatabaseBackups.d.ts +1 -3
  26. package/getDatabaseBackups.js +0 -2
  27. package/getDatabaseBackups.js.map +1 -1
  28. package/getDatabaseEngines.d.ts +1 -3
  29. package/getDatabaseEngines.js +0 -2
  30. package/getDatabaseEngines.js.map +1 -1
  31. package/getDatabasePostgresqlV2.d.ts +3 -0
  32. package/getDatabasePostgresqlV2.js +2 -0
  33. package/getDatabasePostgresqlV2.js.map +1 -1
  34. package/getDatabases.d.ts +1 -3
  35. package/getDatabases.js +0 -2
  36. package/getDatabases.js.map +1 -1
  37. package/getDomains.d.ts +1 -3
  38. package/getDomains.js +0 -2
  39. package/getDomains.js.map +1 -1
  40. package/getFirewallTemplates.d.ts +1 -3
  41. package/getFirewallTemplates.js +0 -2
  42. package/getFirewallTemplates.js.map +1 -1
  43. package/getFirewalls.d.ts +1 -3
  44. package/getFirewalls.js +0 -2
  45. package/getFirewalls.js.map +1 -1
  46. package/getImage.d.ts +9 -10
  47. package/getImage.js +0 -2
  48. package/getImage.js.map +1 -1
  49. package/getImages.d.ts +1 -3
  50. package/getImages.js +0 -2
  51. package/getImages.js.map +1 -1
  52. package/getInstanceTypes.d.ts +1 -3
  53. package/getInstanceTypes.js +0 -2
  54. package/getInstanceTypes.js.map +1 -1
  55. package/getInterface.d.ts +29 -0
  56. package/getInterface.js +24 -0
  57. package/getInterface.js.map +1 -0
  58. package/getIpv6Ranges.d.ts +1 -3
  59. package/getIpv6Ranges.js +0 -2
  60. package/getIpv6Ranges.js.map +1 -1
  61. package/getKernels.d.ts +1 -3
  62. package/getKernels.js +0 -2
  63. package/getKernels.js.map +1 -1
  64. package/getLkeCluster.d.ts +3 -20
  65. package/getLkeCluster.js +0 -4
  66. package/getLkeCluster.js.map +1 -1
  67. package/getLkeClusters.d.ts +1 -3
  68. package/getLkeClusters.js +0 -2
  69. package/getLkeClusters.js.map +1 -1
  70. package/getLkeTypes.d.ts +1 -3
  71. package/getLkeTypes.js +0 -2
  72. package/getLkeTypes.js.map +1 -1
  73. package/getLkeVersions.d.ts +1 -4
  74. package/getLkeVersions.js +0 -2
  75. package/getLkeVersions.js.map +1 -1
  76. package/getLock.d.ts +87 -0
  77. package/getLock.js +62 -0
  78. package/getLock.js.map +1 -0
  79. package/getLocks.d.ts +131 -0
  80. package/getLocks.js +110 -0
  81. package/getLocks.js.map +1 -0
  82. package/getMaintenancePolicies.d.ts +1 -3
  83. package/getMaintenancePolicies.js +0 -2
  84. package/getMaintenancePolicies.js.map +1 -1
  85. package/getNbTypes.d.ts +1 -3
  86. package/getNbTypes.js +0 -2
  87. package/getNbTypes.js.map +1 -1
  88. package/getNetworkTransferPrices.d.ts +1 -3
  89. package/getNetworkTransferPrices.js +0 -2
  90. package/getNetworkTransferPrices.js.map +1 -1
  91. package/getNetworkingIps.d.ts +1 -3
  92. package/getNetworkingIps.js +0 -2
  93. package/getNetworkingIps.js.map +1 -1
  94. package/getNodeBalancer.d.ts +1 -4
  95. package/getNodeBalancer.js +0 -2
  96. package/getNodeBalancer.js.map +1 -1
  97. package/getNodebalancerConfigs.d.ts +1 -3
  98. package/getNodebalancerConfigs.js +0 -2
  99. package/getNodebalancerConfigs.js.map +1 -1
  100. package/getNodebalancers.d.ts +1 -3
  101. package/getNodebalancers.js +0 -2
  102. package/getNodebalancers.js.map +1 -1
  103. package/getObjectStorageEndpoints.d.ts +1 -3
  104. package/getObjectStorageEndpoints.js +0 -2
  105. package/getObjectStorageEndpoints.js.map +1 -1
  106. package/getObjectStorageQuotas.d.ts +1 -3
  107. package/getObjectStorageQuotas.js +0 -2
  108. package/getObjectStorageQuotas.js.map +1 -1
  109. package/getPlacementGroup.d.ts +2 -19
  110. package/getPlacementGroup.js +0 -4
  111. package/getPlacementGroup.js.map +1 -1
  112. package/getPlacementGroups.d.ts +1 -3
  113. package/getPlacementGroups.js +0 -2
  114. package/getPlacementGroups.js.map +1 -1
  115. package/getProducerImageShareGroup.d.ts +97 -0
  116. package/getProducerImageShareGroup.js +56 -0
  117. package/getProducerImageShareGroup.js.map +1 -0
  118. package/getProducerImageShareGroupImageShares.d.ts +124 -0
  119. package/getProducerImageShareGroupImageShares.js +102 -0
  120. package/getProducerImageShareGroupImageShares.js.map +1 -0
  121. package/getProducerImageShareGroupMember.d.ts +96 -0
  122. package/getProducerImageShareGroupMember.js +60 -0
  123. package/getProducerImageShareGroupMember.js.map +1 -0
  124. package/getProducerImageShareGroupMembers.d.ts +118 -0
  125. package/getProducerImageShareGroupMembers.js +106 -0
  126. package/getProducerImageShareGroupMembers.js.map +1 -0
  127. package/getProducerImageShareGroups.d.ts +106 -0
  128. package/getProducerImageShareGroups.js +100 -0
  129. package/getProducerImageShareGroups.js.map +1 -0
  130. package/getRegion.d.ts +2 -4
  131. package/getRegion.js +0 -2
  132. package/getRegion.js.map +1 -1
  133. package/getRegions.d.ts +1 -3
  134. package/getRegions.js +0 -2
  135. package/getRegions.js.map +1 -1
  136. package/getSshkeys.d.ts +1 -3
  137. package/getSshkeys.js +0 -2
  138. package/getSshkeys.js.map +1 -1
  139. package/getStackScripts.d.ts +1 -3
  140. package/getStackScripts.js +0 -2
  141. package/getStackScripts.js.map +1 -1
  142. package/getUsers.d.ts +1 -3
  143. package/getUsers.js +0 -2
  144. package/getUsers.js.map +1 -1
  145. package/getVlans.d.ts +1 -3
  146. package/getVlans.js +0 -2
  147. package/getVlans.js.map +1 -1
  148. package/getVolumeTypes.d.ts +1 -3
  149. package/getVolumeTypes.js +0 -2
  150. package/getVolumeTypes.js.map +1 -1
  151. package/getVolumes.d.ts +1 -3
  152. package/getVolumes.js +0 -2
  153. package/getVolumes.js.map +1 -1
  154. package/getVpcIps.d.ts +1 -3
  155. package/getVpcIps.js +0 -2
  156. package/getVpcIps.js.map +1 -1
  157. package/getVpcSubnets.d.ts +1 -3
  158. package/getVpcSubnets.js +0 -2
  159. package/getVpcSubnets.js.map +1 -1
  160. package/getVpcs.d.ts +1 -3
  161. package/getVpcs.js +0 -2
  162. package/getVpcs.js.map +1 -1
  163. package/image.d.ts +16 -0
  164. package/image.js +4 -0
  165. package/image.js.map +1 -1
  166. package/index.d.ts +48 -0
  167. package/index.js +61 -5
  168. package/index.js.map +1 -1
  169. package/instance.d.ts +45 -0
  170. package/instance.js +45 -0
  171. package/instance.js.map +1 -1
  172. package/instanceConfig.d.ts +100 -0
  173. package/instanceConfig.js +100 -0
  174. package/instanceConfig.js.map +1 -1
  175. package/interface.d.ts +46 -0
  176. package/interface.js +46 -0
  177. package/interface.js.map +1 -1
  178. package/lkeCluster.d.ts +6 -6
  179. package/lock.d.ts +145 -0
  180. package/lock.js +123 -0
  181. package/lock.js.map +1 -0
  182. package/networkingIp.d.ts +3 -3
  183. package/package.json +2 -2
  184. package/producerImageShareGroup.d.ts +171 -0
  185. package/producerImageShareGroup.js +105 -0
  186. package/producerImageShareGroup.js.map +1 -0
  187. package/producerImageShareGroupMember.d.ts +131 -0
  188. package/producerImageShareGroupMember.js +93 -0
  189. package/producerImageShareGroupMember.js.map +1 -0
  190. package/types/input.d.ts +1052 -4604
  191. package/types/output.d.ts +867 -41
  192. package/volume.d.ts +20 -0
  193. package/volume.js +20 -0
  194. package/volume.js.map +1 -1
package/lock.d.ts ADDED
@@ -0,0 +1,145 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * > **Early Access** Locks are in Early Access and may not be available to all users.
4
+ *
5
+ * > **Important** Only unrestricted users can create and delete locks. Restricted users cannot manage locks even if they have read/write permissions for the resource.
6
+ *
7
+ * Manages a Linode Lock which prevents accidental deletion and modification of resources. Locks protect against deletion, rebuild operations, and service transfers. The `cannotDeleteWithSubresources` lock type also protects subresources such as disks, configs, interfaces, and IP addresses.
8
+ *
9
+ * For more information, see the Linode APIv4 docs (TBD).
10
+ *
11
+ * > **Note** Only one lock can exist per resource at a time. You cannot have both `cannotDelete` and `cannotDeleteWithSubresources` locks on the same resource simultaneously.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * Create a basic lock that prevents a Linode from being deleted:
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as linode from "@pulumi/linode";
20
+ *
21
+ * const my_inst = new linode.Instance("my-inst", {
22
+ * label: "my-inst",
23
+ * region: "us-east",
24
+ * type: "g6-nanode-1",
25
+ * });
26
+ * const my_lock = new linode.Lock("my-lock", {
27
+ * entityId: my_inst.id,
28
+ * entityType: "linode",
29
+ * lockType: "cannot_delete",
30
+ * });
31
+ * ```
32
+ *
33
+ * Create a lock that prevents a Linode and its subresources (disks, configs, etc.) from being deleted:
34
+ *
35
+ * ```typescript
36
+ * import * as pulumi from "@pulumi/pulumi";
37
+ * import * as linode from "@pulumi/linode";
38
+ *
39
+ * const my_inst = new linode.Instance("my-inst", {
40
+ * label: "my-inst",
41
+ * region: "us-east",
42
+ * type: "g6-nanode-1",
43
+ * });
44
+ * const my_lock = new linode.Lock("my-lock", {
45
+ * entityId: my_inst.id,
46
+ * entityType: "linode",
47
+ * lockType: "cannot_delete_with_subresources",
48
+ * });
49
+ * ```
50
+ *
51
+ * ## Import
52
+ *
53
+ * Locks can be imported using the Lock's ID, e.g.
54
+ *
55
+ * ```sh
56
+ * $ pulumi import linode:index/lock:Lock my-lock 1234567
57
+ * ```
58
+ */
59
+ export declare class Lock extends pulumi.CustomResource {
60
+ /**
61
+ * Get an existing Lock resource's state with the given name, ID, and optional extra
62
+ * properties used to qualify the lookup.
63
+ *
64
+ * @param name The _unique_ name of the resulting resource.
65
+ * @param id The _unique_ provider ID of the resource to lookup.
66
+ * @param state Any extra arguments used during the lookup.
67
+ * @param opts Optional settings to control the behavior of the CustomResource.
68
+ */
69
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LockState, opts?: pulumi.CustomResourceOptions): Lock;
70
+ /**
71
+ * Returns true if the given object is an instance of Lock. This is designed to work even
72
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
73
+ */
74
+ static isInstance(obj: any): obj is Lock;
75
+ /**
76
+ * The ID of the entity to lock.
77
+ */
78
+ readonly entityId: pulumi.Output<number>;
79
+ /**
80
+ * The label of the locked entity.
81
+ */
82
+ readonly entityLabel: pulumi.Output<string>;
83
+ /**
84
+ * The type of the entity to lock. Currently only `linode` is supported. Note: Linodes that are part of an LKE cluster cannot be locked.
85
+ */
86
+ readonly entityType: pulumi.Output<string>;
87
+ /**
88
+ * The URL of the locked entity.
89
+ */
90
+ readonly entityUrl: pulumi.Output<string>;
91
+ /**
92
+ * The type of lock to apply. Only one lock type can exist per resource at a time. Valid values are:
93
+ */
94
+ readonly lockType: pulumi.Output<string>;
95
+ /**
96
+ * Create a Lock resource with the given unique name, arguments, and options.
97
+ *
98
+ * @param name The _unique_ name of the resource.
99
+ * @param args The arguments to use to populate this resource's properties.
100
+ * @param opts A bag of options that control this resource's behavior.
101
+ */
102
+ constructor(name: string, args: LockArgs, opts?: pulumi.CustomResourceOptions);
103
+ }
104
+ /**
105
+ * Input properties used for looking up and filtering Lock resources.
106
+ */
107
+ export interface LockState {
108
+ /**
109
+ * The ID of the entity to lock.
110
+ */
111
+ entityId?: pulumi.Input<number>;
112
+ /**
113
+ * The label of the locked entity.
114
+ */
115
+ entityLabel?: pulumi.Input<string>;
116
+ /**
117
+ * The type of the entity to lock. Currently only `linode` is supported. Note: Linodes that are part of an LKE cluster cannot be locked.
118
+ */
119
+ entityType?: pulumi.Input<string>;
120
+ /**
121
+ * The URL of the locked entity.
122
+ */
123
+ entityUrl?: pulumi.Input<string>;
124
+ /**
125
+ * The type of lock to apply. Only one lock type can exist per resource at a time. Valid values are:
126
+ */
127
+ lockType?: pulumi.Input<string>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a Lock resource.
131
+ */
132
+ export interface LockArgs {
133
+ /**
134
+ * The ID of the entity to lock.
135
+ */
136
+ entityId: pulumi.Input<number>;
137
+ /**
138
+ * The type of the entity to lock. Currently only `linode` is supported. Note: Linodes that are part of an LKE cluster cannot be locked.
139
+ */
140
+ entityType: pulumi.Input<string>;
141
+ /**
142
+ * The type of lock to apply. Only one lock type can exist per resource at a time. Valid values are:
143
+ */
144
+ lockType: pulumi.Input<string>;
145
+ }
package/lock.js ADDED
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Lock = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * > **Early Access** Locks are in Early Access and may not be available to all users.
10
+ *
11
+ * > **Important** Only unrestricted users can create and delete locks. Restricted users cannot manage locks even if they have read/write permissions for the resource.
12
+ *
13
+ * Manages a Linode Lock which prevents accidental deletion and modification of resources. Locks protect against deletion, rebuild operations, and service transfers. The `cannotDeleteWithSubresources` lock type also protects subresources such as disks, configs, interfaces, and IP addresses.
14
+ *
15
+ * For more information, see the Linode APIv4 docs (TBD).
16
+ *
17
+ * > **Note** Only one lock can exist per resource at a time. You cannot have both `cannotDelete` and `cannotDeleteWithSubresources` locks on the same resource simultaneously.
18
+ *
19
+ * ## Example Usage
20
+ *
21
+ * Create a basic lock that prevents a Linode from being deleted:
22
+ *
23
+ * ```typescript
24
+ * import * as pulumi from "@pulumi/pulumi";
25
+ * import * as linode from "@pulumi/linode";
26
+ *
27
+ * const my_inst = new linode.Instance("my-inst", {
28
+ * label: "my-inst",
29
+ * region: "us-east",
30
+ * type: "g6-nanode-1",
31
+ * });
32
+ * const my_lock = new linode.Lock("my-lock", {
33
+ * entityId: my_inst.id,
34
+ * entityType: "linode",
35
+ * lockType: "cannot_delete",
36
+ * });
37
+ * ```
38
+ *
39
+ * Create a lock that prevents a Linode and its subresources (disks, configs, etc.) from being deleted:
40
+ *
41
+ * ```typescript
42
+ * import * as pulumi from "@pulumi/pulumi";
43
+ * import * as linode from "@pulumi/linode";
44
+ *
45
+ * const my_inst = new linode.Instance("my-inst", {
46
+ * label: "my-inst",
47
+ * region: "us-east",
48
+ * type: "g6-nanode-1",
49
+ * });
50
+ * const my_lock = new linode.Lock("my-lock", {
51
+ * entityId: my_inst.id,
52
+ * entityType: "linode",
53
+ * lockType: "cannot_delete_with_subresources",
54
+ * });
55
+ * ```
56
+ *
57
+ * ## Import
58
+ *
59
+ * Locks can be imported using the Lock's ID, e.g.
60
+ *
61
+ * ```sh
62
+ * $ pulumi import linode:index/lock:Lock my-lock 1234567
63
+ * ```
64
+ */
65
+ class Lock extends pulumi.CustomResource {
66
+ /**
67
+ * Get an existing Lock resource's state with the given name, ID, and optional extra
68
+ * properties used to qualify the lookup.
69
+ *
70
+ * @param name The _unique_ name of the resulting resource.
71
+ * @param id The _unique_ provider ID of the resource to lookup.
72
+ * @param state Any extra arguments used during the lookup.
73
+ * @param opts Optional settings to control the behavior of the CustomResource.
74
+ */
75
+ static get(name, id, state, opts) {
76
+ return new Lock(name, state, { ...opts, id: id });
77
+ }
78
+ /**
79
+ * Returns true if the given object is an instance of Lock. This is designed to work even
80
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
81
+ */
82
+ static isInstance(obj) {
83
+ if (obj === undefined || obj === null) {
84
+ return false;
85
+ }
86
+ return obj['__pulumiType'] === Lock.__pulumiType;
87
+ }
88
+ constructor(name, argsOrState, opts) {
89
+ let resourceInputs = {};
90
+ opts = opts || {};
91
+ if (opts.id) {
92
+ const state = argsOrState;
93
+ resourceInputs["entityId"] = state?.entityId;
94
+ resourceInputs["entityLabel"] = state?.entityLabel;
95
+ resourceInputs["entityType"] = state?.entityType;
96
+ resourceInputs["entityUrl"] = state?.entityUrl;
97
+ resourceInputs["lockType"] = state?.lockType;
98
+ }
99
+ else {
100
+ const args = argsOrState;
101
+ if (args?.entityId === undefined && !opts.urn) {
102
+ throw new Error("Missing required property 'entityId'");
103
+ }
104
+ if (args?.entityType === undefined && !opts.urn) {
105
+ throw new Error("Missing required property 'entityType'");
106
+ }
107
+ if (args?.lockType === undefined && !opts.urn) {
108
+ throw new Error("Missing required property 'lockType'");
109
+ }
110
+ resourceInputs["entityId"] = args?.entityId;
111
+ resourceInputs["entityType"] = args?.entityType;
112
+ resourceInputs["lockType"] = args?.lockType;
113
+ resourceInputs["entityLabel"] = undefined /*out*/;
114
+ resourceInputs["entityUrl"] = undefined /*out*/;
115
+ }
116
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
117
+ super(Lock.__pulumiType, name, resourceInputs, opts);
118
+ }
119
+ }
120
+ exports.Lock = Lock;
121
+ /** @internal */
122
+ Lock.__pulumiType = 'linode:index/lock:Lock';
123
+ //# sourceMappingURL=lock.js.map
package/lock.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../lock.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAa,IAAK,SAAQ,MAAM,CAAC,cAAc;IAC3C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiB,EAAE,IAAmC;QAC/G,OAAO,IAAI,IAAI,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,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,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAkC,EAAE,IAAmC;QAC7F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoC,CAAC;YACnD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAAmC,CAAC;YACjD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;;AAtFL,oBAuFC;AAzEG,gBAAgB;AACO,iBAAY,GAAG,wBAAwB,CAAC"}
package/networkingIp.d.ts CHANGED
@@ -52,7 +52,7 @@ export declare class NetworkingIp extends pulumi.CustomResource {
52
52
  */
53
53
  readonly gateway: pulumi.Output<string>;
54
54
  /**
55
- * The ID of the Linode to which the IP address will be assigned. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
55
+ * The ID of the Linode to allocate an IPv4 address for. **Required** when `reserved` is `false` or not set. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
56
56
  */
57
57
  readonly linodeId: pulumi.Output<number>;
58
58
  /**
@@ -109,7 +109,7 @@ export interface NetworkingIpState {
109
109
  */
110
110
  gateway?: pulumi.Input<string>;
111
111
  /**
112
- * The ID of the Linode to which the IP address will be assigned. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
112
+ * The ID of the Linode to allocate an IPv4 address for. **Required** when `reserved` is `false` or not set. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
113
113
  */
114
114
  linodeId?: pulumi.Input<number>;
115
115
  /**
@@ -150,7 +150,7 @@ export interface NetworkingIpState {
150
150
  */
151
151
  export interface NetworkingIpArgs {
152
152
  /**
153
- * The ID of the Linode to which the IP address will be assigned. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
153
+ * The ID of the Linode to allocate an IPv4 address for. **Required** when `reserved` is `false` or not set. Updating this field on an ephemeral IP will trigger a recreation. Conflicts with `region`.
154
154
  */
155
155
  linodeId?: pulumi.Input<number>;
156
156
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/linode",
3
- "version": "5.5.0",
3
+ "version": "5.7.0-alpha.1767074814",
4
4
  "description": "A Pulumi package for creating and managing linode cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -23,6 +23,6 @@
23
23
  "pulumi": {
24
24
  "resource": true,
25
25
  "name": "linode",
26
- "version": "5.5.0"
26
+ "version": "5.7.0-alpha.1767074814"
27
27
  }
28
28
  }
@@ -0,0 +1,171 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages an Image Share Group.
6
+ * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/post-sharegroups). May not be currently available to all users even under v4beta.
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * Create an Image Share Group without any Images:
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as linode from "@pulumi/linode";
15
+ *
16
+ * const test_empty = new linode.ProducerImageShareGroup("test-empty", {
17
+ * label: "my-image-share-group",
18
+ * description: "My description.",
19
+ * });
20
+ * ```
21
+ *
22
+ * Create an Image Share Group with one Image:
23
+ *
24
+ * ```typescript
25
+ * import * as pulumi from "@pulumi/pulumi";
26
+ * import * as linode from "@pulumi/linode";
27
+ *
28
+ * const test_images = new linode.ProducerImageShareGroup("test-images", {
29
+ * label: "my-image-share-group",
30
+ * description: "My description.",
31
+ * images: [{
32
+ * id: "private/12345",
33
+ * label: "my-image",
34
+ * description: "My image description.",
35
+ * }],
36
+ * });
37
+ * ```
38
+ */
39
+ export declare class ProducerImageShareGroup extends pulumi.CustomResource {
40
+ /**
41
+ * Get an existing ProducerImageShareGroup resource's state with the given name, ID, and optional extra
42
+ * properties used to qualify the lookup.
43
+ *
44
+ * @param name The _unique_ name of the resulting resource.
45
+ * @param id The _unique_ provider ID of the resource to lookup.
46
+ * @param state Any extra arguments used during the lookup.
47
+ * @param opts Optional settings to control the behavior of the CustomResource.
48
+ */
49
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProducerImageShareGroupState, opts?: pulumi.CustomResourceOptions): ProducerImageShareGroup;
50
+ /**
51
+ * Returns true if the given object is an instance of ProducerImageShareGroup. This is designed to work even
52
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
53
+ */
54
+ static isInstance(obj: any): obj is ProducerImageShareGroup;
55
+ /**
56
+ * The date and time the Image Share Group was created.
57
+ */
58
+ readonly created: pulumi.Output<string>;
59
+ /**
60
+ * The description of the Image Share Group
61
+ *
62
+ * * `images` - (Optional) A list of Images to include in the Image Share Group.
63
+ */
64
+ readonly description: pulumi.Output<string | undefined>;
65
+ /**
66
+ * The date and time the Image Share Group will expire.
67
+ */
68
+ readonly expiry: pulumi.Output<string>;
69
+ /**
70
+ * The images to be shared using this Image Share Group.
71
+ */
72
+ readonly images: pulumi.Output<outputs.ProducerImageShareGroupImage[]>;
73
+ /**
74
+ * The number of images in the Image Share Group.
75
+ */
76
+ readonly imagesCount: pulumi.Output<number>;
77
+ /**
78
+ * Whether the Image Share Group is suspended.
79
+ */
80
+ readonly isSuspended: pulumi.Output<boolean>;
81
+ /**
82
+ * The label of the Image Share Group.
83
+ */
84
+ readonly label: pulumi.Output<string>;
85
+ /**
86
+ * The number of members in the Image Share Group.
87
+ */
88
+ readonly membersCount: pulumi.Output<number>;
89
+ /**
90
+ * The date and time the Image Share Group was last updated.
91
+ */
92
+ readonly updated: pulumi.Output<string>;
93
+ /**
94
+ * The UUID of the Image Share Group.
95
+ */
96
+ readonly uuid: pulumi.Output<string>;
97
+ /**
98
+ * Create a ProducerImageShareGroup resource with the given unique name, arguments, and options.
99
+ *
100
+ * @param name The _unique_ name of the resource.
101
+ * @param args The arguments to use to populate this resource's properties.
102
+ * @param opts A bag of options that control this resource's behavior.
103
+ */
104
+ constructor(name: string, args: ProducerImageShareGroupArgs, opts?: pulumi.CustomResourceOptions);
105
+ }
106
+ /**
107
+ * Input properties used for looking up and filtering ProducerImageShareGroup resources.
108
+ */
109
+ export interface ProducerImageShareGroupState {
110
+ /**
111
+ * The date and time the Image Share Group was created.
112
+ */
113
+ created?: pulumi.Input<string>;
114
+ /**
115
+ * The description of the Image Share Group
116
+ *
117
+ * * `images` - (Optional) A list of Images to include in the Image Share Group.
118
+ */
119
+ description?: pulumi.Input<string>;
120
+ /**
121
+ * The date and time the Image Share Group will expire.
122
+ */
123
+ expiry?: pulumi.Input<string>;
124
+ /**
125
+ * The images to be shared using this Image Share Group.
126
+ */
127
+ images?: pulumi.Input<pulumi.Input<inputs.ProducerImageShareGroupImage>[]>;
128
+ /**
129
+ * The number of images in the Image Share Group.
130
+ */
131
+ imagesCount?: pulumi.Input<number>;
132
+ /**
133
+ * Whether the Image Share Group is suspended.
134
+ */
135
+ isSuspended?: pulumi.Input<boolean>;
136
+ /**
137
+ * The label of the Image Share Group.
138
+ */
139
+ label?: pulumi.Input<string>;
140
+ /**
141
+ * The number of members in the Image Share Group.
142
+ */
143
+ membersCount?: pulumi.Input<number>;
144
+ /**
145
+ * The date and time the Image Share Group was last updated.
146
+ */
147
+ updated?: pulumi.Input<string>;
148
+ /**
149
+ * The UUID of the Image Share Group.
150
+ */
151
+ uuid?: pulumi.Input<string>;
152
+ }
153
+ /**
154
+ * The set of arguments for constructing a ProducerImageShareGroup resource.
155
+ */
156
+ export interface ProducerImageShareGroupArgs {
157
+ /**
158
+ * The description of the Image Share Group
159
+ *
160
+ * * `images` - (Optional) A list of Images to include in the Image Share Group.
161
+ */
162
+ description?: pulumi.Input<string>;
163
+ /**
164
+ * The images to be shared using this Image Share Group.
165
+ */
166
+ images?: pulumi.Input<pulumi.Input<inputs.ProducerImageShareGroupImage>[]>;
167
+ /**
168
+ * The label of the Image Share Group.
169
+ */
170
+ label: pulumi.Input<string>;
171
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ProducerImageShareGroup = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages an Image Share Group.
10
+ * For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/post-sharegroups). May not be currently available to all users even under v4beta.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * Create an Image Share Group without any Images:
15
+ *
16
+ * ```typescript
17
+ * import * as pulumi from "@pulumi/pulumi";
18
+ * import * as linode from "@pulumi/linode";
19
+ *
20
+ * const test_empty = new linode.ProducerImageShareGroup("test-empty", {
21
+ * label: "my-image-share-group",
22
+ * description: "My description.",
23
+ * });
24
+ * ```
25
+ *
26
+ * Create an Image Share Group with one Image:
27
+ *
28
+ * ```typescript
29
+ * import * as pulumi from "@pulumi/pulumi";
30
+ * import * as linode from "@pulumi/linode";
31
+ *
32
+ * const test_images = new linode.ProducerImageShareGroup("test-images", {
33
+ * label: "my-image-share-group",
34
+ * description: "My description.",
35
+ * images: [{
36
+ * id: "private/12345",
37
+ * label: "my-image",
38
+ * description: "My image description.",
39
+ * }],
40
+ * });
41
+ * ```
42
+ */
43
+ class ProducerImageShareGroup extends pulumi.CustomResource {
44
+ /**
45
+ * Get an existing ProducerImageShareGroup resource's state with the given name, ID, and optional extra
46
+ * properties used to qualify the lookup.
47
+ *
48
+ * @param name The _unique_ name of the resulting resource.
49
+ * @param id The _unique_ provider ID of the resource to lookup.
50
+ * @param state Any extra arguments used during the lookup.
51
+ * @param opts Optional settings to control the behavior of the CustomResource.
52
+ */
53
+ static get(name, id, state, opts) {
54
+ return new ProducerImageShareGroup(name, state, { ...opts, id: id });
55
+ }
56
+ /**
57
+ * Returns true if the given object is an instance of ProducerImageShareGroup. This is designed to work even
58
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
59
+ */
60
+ static isInstance(obj) {
61
+ if (obj === undefined || obj === null) {
62
+ return false;
63
+ }
64
+ return obj['__pulumiType'] === ProducerImageShareGroup.__pulumiType;
65
+ }
66
+ constructor(name, argsOrState, opts) {
67
+ let resourceInputs = {};
68
+ opts = opts || {};
69
+ if (opts.id) {
70
+ const state = argsOrState;
71
+ resourceInputs["created"] = state?.created;
72
+ resourceInputs["description"] = state?.description;
73
+ resourceInputs["expiry"] = state?.expiry;
74
+ resourceInputs["images"] = state?.images;
75
+ resourceInputs["imagesCount"] = state?.imagesCount;
76
+ resourceInputs["isSuspended"] = state?.isSuspended;
77
+ resourceInputs["label"] = state?.label;
78
+ resourceInputs["membersCount"] = state?.membersCount;
79
+ resourceInputs["updated"] = state?.updated;
80
+ resourceInputs["uuid"] = state?.uuid;
81
+ }
82
+ else {
83
+ const args = argsOrState;
84
+ if (args?.label === undefined && !opts.urn) {
85
+ throw new Error("Missing required property 'label'");
86
+ }
87
+ resourceInputs["description"] = args?.description;
88
+ resourceInputs["images"] = args?.images;
89
+ resourceInputs["label"] = args?.label;
90
+ resourceInputs["created"] = undefined /*out*/;
91
+ resourceInputs["expiry"] = undefined /*out*/;
92
+ resourceInputs["imagesCount"] = undefined /*out*/;
93
+ resourceInputs["isSuspended"] = undefined /*out*/;
94
+ resourceInputs["membersCount"] = undefined /*out*/;
95
+ resourceInputs["updated"] = undefined /*out*/;
96
+ resourceInputs["uuid"] = undefined /*out*/;
97
+ }
98
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
99
+ super(ProducerImageShareGroup.__pulumiType, name, resourceInputs, opts);
100
+ }
101
+ }
102
+ exports.ProducerImageShareGroup = ProducerImageShareGroup;
103
+ /** @internal */
104
+ ProducerImageShareGroup.__pulumiType = 'linode:index/producerImageShareGroup:ProducerImageShareGroup';
105
+ //# sourceMappingURL=producerImageShareGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"producerImageShareGroup.js","sourceRoot":"","sources":["../producerImageShareGroup.ts"],"names":[],"mappings":"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"}