pulumi-alicloud 3.82.0__py3-none-any.whl → 3.83.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-alicloud might be problematic. Click here for more details.

@@ -30,6 +30,8 @@ __all__ = [
30
30
  'EcsInstanceSetNetworkInterfaceArgsDict',
31
31
  'EcsLaunchTemplateDataDiskArgs',
32
32
  'EcsLaunchTemplateDataDiskArgsDict',
33
+ 'EcsLaunchTemplateImageOptionsArgs',
34
+ 'EcsLaunchTemplateImageOptionsArgsDict',
33
35
  'EcsLaunchTemplateNetworkInterfacesArgs',
34
36
  'EcsLaunchTemplateNetworkInterfacesArgsDict',
35
37
  'EcsLaunchTemplateSystemDiskArgs',
@@ -52,6 +54,8 @@ __all__ = [
52
54
  'InstanceNetworkInterfacesArgsDict',
53
55
  'LaunchTemplateDataDiskArgs',
54
56
  'LaunchTemplateDataDiskArgsDict',
57
+ 'LaunchTemplateImageOptionsArgs',
58
+ 'LaunchTemplateImageOptionsArgsDict',
55
59
  'LaunchTemplateNetworkInterfacesArgs',
56
60
  'LaunchTemplateNetworkInterfacesArgsDict',
57
61
  'LaunchTemplateSystemDiskArgs',
@@ -859,6 +863,38 @@ class EcsLaunchTemplateDataDiskArgs:
859
863
  pulumi.set(self, "snapshot_id", value)
860
864
 
861
865
 
866
+ if not MYPY:
867
+ class EcsLaunchTemplateImageOptionsArgsDict(TypedDict):
868
+ login_as_non_root: NotRequired[pulumi.Input[builtins.bool]]
869
+ """
870
+ Specifies whether the instance that uses the image supports logons of the ecs-user user. Default value: `false`. Valid values: `true`,`false`.
871
+ """
872
+ elif False:
873
+ EcsLaunchTemplateImageOptionsArgsDict: TypeAlias = Mapping[str, Any]
874
+
875
+ @pulumi.input_type
876
+ class EcsLaunchTemplateImageOptionsArgs:
877
+ def __init__(__self__, *,
878
+ login_as_non_root: Optional[pulumi.Input[builtins.bool]] = None):
879
+ """
880
+ :param pulumi.Input[builtins.bool] login_as_non_root: Specifies whether the instance that uses the image supports logons of the ecs-user user. Default value: `false`. Valid values: `true`,`false`.
881
+ """
882
+ if login_as_non_root is not None:
883
+ pulumi.set(__self__, "login_as_non_root", login_as_non_root)
884
+
885
+ @property
886
+ @pulumi.getter(name="loginAsNonRoot")
887
+ def login_as_non_root(self) -> Optional[pulumi.Input[builtins.bool]]:
888
+ """
889
+ Specifies whether the instance that uses the image supports logons of the ecs-user user. Default value: `false`. Valid values: `true`,`false`.
890
+ """
891
+ return pulumi.get(self, "login_as_non_root")
892
+
893
+ @login_as_non_root.setter
894
+ def login_as_non_root(self, value: Optional[pulumi.Input[builtins.bool]]):
895
+ pulumi.set(self, "login_as_non_root", value)
896
+
897
+
862
898
  if not MYPY:
863
899
  class EcsLaunchTemplateNetworkInterfacesArgsDict(TypedDict):
864
900
  delete_on_release: NotRequired[pulumi.Input[builtins.bool]]
@@ -2381,6 +2417,29 @@ class LaunchTemplateDataDiskArgs:
2381
2417
  pulumi.set(self, "snapshot_id", value)
2382
2418
 
2383
2419
 
2420
+ if not MYPY:
2421
+ class LaunchTemplateImageOptionsArgsDict(TypedDict):
2422
+ login_as_non_root: NotRequired[pulumi.Input[builtins.bool]]
2423
+ elif False:
2424
+ LaunchTemplateImageOptionsArgsDict: TypeAlias = Mapping[str, Any]
2425
+
2426
+ @pulumi.input_type
2427
+ class LaunchTemplateImageOptionsArgs:
2428
+ def __init__(__self__, *,
2429
+ login_as_non_root: Optional[pulumi.Input[builtins.bool]] = None):
2430
+ if login_as_non_root is not None:
2431
+ pulumi.set(__self__, "login_as_non_root", login_as_non_root)
2432
+
2433
+ @property
2434
+ @pulumi.getter(name="loginAsNonRoot")
2435
+ def login_as_non_root(self) -> Optional[pulumi.Input[builtins.bool]]:
2436
+ return pulumi.get(self, "login_as_non_root")
2437
+
2438
+ @login_as_non_root.setter
2439
+ def login_as_non_root(self, value: Optional[pulumi.Input[builtins.bool]]):
2440
+ pulumi.set(self, "login_as_non_root", value)
2441
+
2442
+
2384
2443
  if not MYPY:
2385
2444
  class LaunchTemplateNetworkInterfacesArgsDict(TypedDict):
2386
2445
  delete_on_release: NotRequired[pulumi.Input[builtins.bool]]
@@ -35,6 +35,7 @@ class EcsLaunchTemplateArgs:
35
35
  http_put_response_hop_limit: Optional[pulumi.Input[builtins.int]] = None,
36
36
  http_tokens: Optional[pulumi.Input[builtins.str]] = None,
37
37
  image_id: Optional[pulumi.Input[builtins.str]] = None,
38
+ image_options: Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']] = None,
38
39
  image_owner_alias: Optional[pulumi.Input[builtins.str]] = None,
39
40
  instance_charge_type: Optional[pulumi.Input[builtins.str]] = None,
40
41
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -94,6 +95,7 @@ class EcsLaunchTemplateArgs:
94
95
  - optional: Not mandatory.
95
96
  - required: Mandatory. After this value is set, the normal mode cannot access instance metadata.
96
97
  :param pulumi.Input[builtins.str] image_id: The Image ID.
98
+ :param pulumi.Input['EcsLaunchTemplateImageOptionsArgs'] image_options: The options of images. See `image_options` below.
97
99
  :param pulumi.Input[builtins.str] image_owner_alias: Mirror source. Valid values: `system`, `self`, `others`, `marketplace`, `""`. Default to: `""`.
98
100
  :param pulumi.Input[builtins.str] instance_charge_type: Billing methods. Valid values: `PostPaid`, `PrePaid`.
99
101
  :param pulumi.Input[builtins.str] instance_name: The name of the instance. The name must be `2` to `128` characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), periods (.), commas (,), brackets ([]), and hyphens (-).
@@ -167,6 +169,8 @@ class EcsLaunchTemplateArgs:
167
169
  pulumi.set(__self__, "http_tokens", http_tokens)
168
170
  if image_id is not None:
169
171
  pulumi.set(__self__, "image_id", image_id)
172
+ if image_options is not None:
173
+ pulumi.set(__self__, "image_options", image_options)
170
174
  if image_owner_alias is not None:
171
175
  pulumi.set(__self__, "image_owner_alias", image_owner_alias)
172
176
  if instance_charge_type is not None:
@@ -426,6 +430,18 @@ class EcsLaunchTemplateArgs:
426
430
  def image_id(self, value: Optional[pulumi.Input[builtins.str]]):
427
431
  pulumi.set(self, "image_id", value)
428
432
 
433
+ @property
434
+ @pulumi.getter(name="imageOptions")
435
+ def image_options(self) -> Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']]:
436
+ """
437
+ The options of images. See `image_options` below.
438
+ """
439
+ return pulumi.get(self, "image_options")
440
+
441
+ @image_options.setter
442
+ def image_options(self, value: Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']]):
443
+ pulumi.set(self, "image_options", value)
444
+
429
445
  @property
430
446
  @pulumi.getter(name="imageOwnerAlias")
431
447
  def image_owner_alias(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -935,6 +951,7 @@ class _EcsLaunchTemplateState:
935
951
  http_put_response_hop_limit: Optional[pulumi.Input[builtins.int]] = None,
936
952
  http_tokens: Optional[pulumi.Input[builtins.str]] = None,
937
953
  image_id: Optional[pulumi.Input[builtins.str]] = None,
954
+ image_options: Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']] = None,
938
955
  image_owner_alias: Optional[pulumi.Input[builtins.str]] = None,
939
956
  instance_charge_type: Optional[pulumi.Input[builtins.str]] = None,
940
957
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -995,6 +1012,7 @@ class _EcsLaunchTemplateState:
995
1012
  - optional: Not mandatory.
996
1013
  - required: Mandatory. After this value is set, the normal mode cannot access instance metadata.
997
1014
  :param pulumi.Input[builtins.str] image_id: The Image ID.
1015
+ :param pulumi.Input['EcsLaunchTemplateImageOptionsArgs'] image_options: The options of images. See `image_options` below.
998
1016
  :param pulumi.Input[builtins.str] image_owner_alias: Mirror source. Valid values: `system`, `self`, `others`, `marketplace`, `""`. Default to: `""`.
999
1017
  :param pulumi.Input[builtins.str] instance_charge_type: Billing methods. Valid values: `PostPaid`, `PrePaid`.
1000
1018
  :param pulumi.Input[builtins.str] instance_name: The name of the instance. The name must be `2` to `128` characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), periods (.), commas (,), brackets ([]), and hyphens (-).
@@ -1069,6 +1087,8 @@ class _EcsLaunchTemplateState:
1069
1087
  pulumi.set(__self__, "http_tokens", http_tokens)
1070
1088
  if image_id is not None:
1071
1089
  pulumi.set(__self__, "image_id", image_id)
1090
+ if image_options is not None:
1091
+ pulumi.set(__self__, "image_options", image_options)
1072
1092
  if image_owner_alias is not None:
1073
1093
  pulumi.set(__self__, "image_owner_alias", image_owner_alias)
1074
1094
  if instance_charge_type is not None:
@@ -1330,6 +1350,18 @@ class _EcsLaunchTemplateState:
1330
1350
  def image_id(self, value: Optional[pulumi.Input[builtins.str]]):
1331
1351
  pulumi.set(self, "image_id", value)
1332
1352
 
1353
+ @property
1354
+ @pulumi.getter(name="imageOptions")
1355
+ def image_options(self) -> Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']]:
1356
+ """
1357
+ The options of images. See `image_options` below.
1358
+ """
1359
+ return pulumi.get(self, "image_options")
1360
+
1361
+ @image_options.setter
1362
+ def image_options(self, value: Optional[pulumi.Input['EcsLaunchTemplateImageOptionsArgs']]):
1363
+ pulumi.set(self, "image_options", value)
1364
+
1333
1365
  @property
1334
1366
  @pulumi.getter(name="imageOwnerAlias")
1335
1367
  def image_owner_alias(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -1854,6 +1886,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
1854
1886
  http_put_response_hop_limit: Optional[pulumi.Input[builtins.int]] = None,
1855
1887
  http_tokens: Optional[pulumi.Input[builtins.str]] = None,
1856
1888
  image_id: Optional[pulumi.Input[builtins.str]] = None,
1889
+ image_options: Optional[pulumi.Input[Union['EcsLaunchTemplateImageOptionsArgs', 'EcsLaunchTemplateImageOptionsArgsDict']]] = None,
1857
1890
  image_owner_alias: Optional[pulumi.Input[builtins.str]] = None,
1858
1891
  instance_charge_type: Optional[pulumi.Input[builtins.str]] = None,
1859
1892
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -2016,6 +2049,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2016
2049
  - optional: Not mandatory.
2017
2050
  - required: Mandatory. After this value is set, the normal mode cannot access instance metadata.
2018
2051
  :param pulumi.Input[builtins.str] image_id: The Image ID.
2052
+ :param pulumi.Input[Union['EcsLaunchTemplateImageOptionsArgs', 'EcsLaunchTemplateImageOptionsArgsDict']] image_options: The options of images. See `image_options` below.
2019
2053
  :param pulumi.Input[builtins.str] image_owner_alias: Mirror source. Valid values: `system`, `self`, `others`, `marketplace`, `""`. Default to: `""`.
2020
2054
  :param pulumi.Input[builtins.str] instance_charge_type: Billing methods. Valid values: `PostPaid`, `PrePaid`.
2021
2055
  :param pulumi.Input[builtins.str] instance_name: The name of the instance. The name must be `2` to `128` characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), periods (.), commas (,), brackets ([]), and hyphens (-).
@@ -2199,6 +2233,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2199
2233
  http_put_response_hop_limit: Optional[pulumi.Input[builtins.int]] = None,
2200
2234
  http_tokens: Optional[pulumi.Input[builtins.str]] = None,
2201
2235
  image_id: Optional[pulumi.Input[builtins.str]] = None,
2236
+ image_options: Optional[pulumi.Input[Union['EcsLaunchTemplateImageOptionsArgs', 'EcsLaunchTemplateImageOptionsArgsDict']]] = None,
2202
2237
  image_owner_alias: Optional[pulumi.Input[builtins.str]] = None,
2203
2238
  instance_charge_type: Optional[pulumi.Input[builtins.str]] = None,
2204
2239
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -2261,6 +2296,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2261
2296
  __props__.__dict__["http_put_response_hop_limit"] = http_put_response_hop_limit
2262
2297
  __props__.__dict__["http_tokens"] = http_tokens
2263
2298
  __props__.__dict__["image_id"] = image_id
2299
+ __props__.__dict__["image_options"] = image_options
2264
2300
  __props__.__dict__["image_owner_alias"] = image_owner_alias
2265
2301
  __props__.__dict__["instance_charge_type"] = instance_charge_type
2266
2302
  __props__.__dict__["instance_name"] = instance_name
@@ -2325,6 +2361,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2325
2361
  http_put_response_hop_limit: Optional[pulumi.Input[builtins.int]] = None,
2326
2362
  http_tokens: Optional[pulumi.Input[builtins.str]] = None,
2327
2363
  image_id: Optional[pulumi.Input[builtins.str]] = None,
2364
+ image_options: Optional[pulumi.Input[Union['EcsLaunchTemplateImageOptionsArgs', 'EcsLaunchTemplateImageOptionsArgsDict']]] = None,
2328
2365
  image_owner_alias: Optional[pulumi.Input[builtins.str]] = None,
2329
2366
  instance_charge_type: Optional[pulumi.Input[builtins.str]] = None,
2330
2367
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -2390,6 +2427,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2390
2427
  - optional: Not mandatory.
2391
2428
  - required: Mandatory. After this value is set, the normal mode cannot access instance metadata.
2392
2429
  :param pulumi.Input[builtins.str] image_id: The Image ID.
2430
+ :param pulumi.Input[Union['EcsLaunchTemplateImageOptionsArgs', 'EcsLaunchTemplateImageOptionsArgsDict']] image_options: The options of images. See `image_options` below.
2393
2431
  :param pulumi.Input[builtins.str] image_owner_alias: Mirror source. Valid values: `system`, `self`, `others`, `marketplace`, `""`. Default to: `""`.
2394
2432
  :param pulumi.Input[builtins.str] instance_charge_type: Billing methods. Valid values: `PostPaid`, `PrePaid`.
2395
2433
  :param pulumi.Input[builtins.str] instance_name: The name of the instance. The name must be `2` to `128` characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), periods (.), commas (,), brackets ([]), and hyphens (-).
@@ -2455,6 +2493,7 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2455
2493
  __props__.__dict__["http_put_response_hop_limit"] = http_put_response_hop_limit
2456
2494
  __props__.__dict__["http_tokens"] = http_tokens
2457
2495
  __props__.__dict__["image_id"] = image_id
2496
+ __props__.__dict__["image_options"] = image_options
2458
2497
  __props__.__dict__["image_owner_alias"] = image_owner_alias
2459
2498
  __props__.__dict__["instance_charge_type"] = instance_charge_type
2460
2499
  __props__.__dict__["instance_name"] = instance_name
@@ -2606,6 +2645,14 @@ class EcsLaunchTemplate(pulumi.CustomResource):
2606
2645
  """
2607
2646
  return pulumi.get(self, "image_id")
2608
2647
 
2648
+ @property
2649
+ @pulumi.getter(name="imageOptions")
2650
+ def image_options(self) -> pulumi.Output['outputs.EcsLaunchTemplateImageOptions']:
2651
+ """
2652
+ The options of images. See `image_options` below.
2653
+ """
2654
+ return pulumi.get(self, "image_options")
2655
+
2609
2656
  @property
2610
2657
  @pulumi.getter(name="imageOwnerAlias")
2611
2658
  def image_owner_alias(self) -> pulumi.Output[Optional[builtins.str]]:
@@ -90,6 +90,9 @@ class GetEcsSnapshotsResult:
90
90
  @property
91
91
  @pulumi.getter
92
92
  def category(self) -> Optional[builtins.str]:
93
+ """
94
+ The category of the snapshot.
95
+ """
93
96
  return pulumi.get(self, "category")
94
97
 
95
98
  @property
@@ -100,6 +103,9 @@ class GetEcsSnapshotsResult:
100
103
  @property
101
104
  @pulumi.getter
102
105
  def encrypted(self) -> Optional[builtins.bool]:
106
+ """
107
+ Indicates whether the snapshot was encrypted.
108
+ """
103
109
  return pulumi.get(self, "encrypted")
104
110
 
105
111
  @property
@@ -128,6 +134,9 @@ class GetEcsSnapshotsResult:
128
134
  @property
129
135
  @pulumi.getter
130
136
  def names(self) -> Sequence[builtins.str]:
137
+ """
138
+ A list of Snapshot names.
139
+ """
131
140
  return pulumi.get(self, "names")
132
141
 
133
142
  @property
@@ -138,6 +147,9 @@ class GetEcsSnapshotsResult:
138
147
  @property
139
148
  @pulumi.getter(name="resourceGroupId")
140
149
  def resource_group_id(self) -> Optional[builtins.str]:
150
+ """
151
+ The ID of the resource group to which the snapshot belongs.
152
+ """
141
153
  return pulumi.get(self, "resource_group_id")
142
154
 
143
155
  @property
@@ -148,41 +160,65 @@ class GetEcsSnapshotsResult:
148
160
  @property
149
161
  @pulumi.getter(name="snapshotName")
150
162
  def snapshot_name(self) -> Optional[builtins.str]:
163
+ """
164
+ The name of the snapshot.
165
+ """
151
166
  return pulumi.get(self, "snapshot_name")
152
167
 
153
168
  @property
154
169
  @pulumi.getter(name="snapshotType")
155
170
  def snapshot_type(self) -> Optional[builtins.str]:
171
+ """
172
+ The type of the snapshot.
173
+ """
156
174
  return pulumi.get(self, "snapshot_type")
157
175
 
158
176
  @property
159
177
  @pulumi.getter
160
178
  def snapshots(self) -> Sequence['outputs.GetEcsSnapshotsSnapshotResult']:
179
+ """
180
+ A list of Ecs Snapshots. Each element contains the following attributes:
181
+ """
161
182
  return pulumi.get(self, "snapshots")
162
183
 
163
184
  @property
164
185
  @pulumi.getter(name="sourceDiskType")
165
186
  def source_disk_type(self) -> Optional[builtins.str]:
187
+ """
188
+ The type of the source disk.
189
+ """
166
190
  return pulumi.get(self, "source_disk_type")
167
191
 
168
192
  @property
169
193
  @pulumi.getter
170
194
  def status(self) -> Optional[builtins.str]:
195
+ """
196
+ The status of the snapshot.
197
+ """
171
198
  return pulumi.get(self, "status")
172
199
 
173
200
  @property
174
201
  @pulumi.getter
175
202
  def tags(self) -> Optional[Mapping[str, builtins.str]]:
203
+ """
204
+ The tags of the snapshot.
205
+ """
176
206
  return pulumi.get(self, "tags")
177
207
 
178
208
  @property
179
209
  @pulumi.getter
180
210
  def type(self) -> Optional[builtins.str]:
211
+ """
212
+ The type of the snapshot.
213
+ """
181
214
  return pulumi.get(self, "type")
182
215
 
183
216
  @property
184
217
  @pulumi.getter
185
218
  def usage(self) -> Optional[builtins.str]:
219
+ """
220
+ Indicates whether the snapshot was used to create images or cloud disks.
221
+ """
186
222
  return pulumi.get(self, "usage")
187
223
 
188
224
 
@@ -233,7 +269,7 @@ def get_ecs_snapshots(category: Optional[builtins.str] = None,
233
269
  """
234
270
  This data source provides the Ecs Snapshots of the current Alibaba Cloud user.
235
271
 
236
- > **NOTE:** Available in v1.120.0+.
272
+ > **NOTE:** Available since v1.120.0.
237
273
 
238
274
  ## Example Usage
239
275
 
@@ -243,9 +279,64 @@ def get_ecs_snapshots(category: Optional[builtins.str] = None,
243
279
  import pulumi
244
280
  import pulumi_alicloud as alicloud
245
281
 
246
- example = alicloud.ecs.get_ecs_snapshots(ids=["s-bp1fvuxxxxxxxx"],
247
- name_regex="tf-test")
248
- pulumi.export("firstEcsSnapshotId", example.snapshots[0].id)
282
+ config = pulumi.Config()
283
+ name = config.get("name")
284
+ if name is None:
285
+ name = "terraform-example"
286
+ default = alicloud.resourcemanager.get_resource_groups(status="OK")
287
+ default_get_zones = alicloud.get_zones(available_disk_category="cloud_essd",
288
+ available_resource_creation="VSwitch")
289
+ default_get_images = alicloud.ecs.get_images(most_recent=True,
290
+ owners="system")
291
+ default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,
292
+ image_id=default_get_images.images[0].id,
293
+ system_disk_category="cloud_essd")
294
+ default_network = alicloud.vpc.Network("default",
295
+ vpc_name=name,
296
+ cidr_block="192.168.0.0/16")
297
+ default_switch = alicloud.vpc.Switch("default",
298
+ vswitch_name=name,
299
+ vpc_id=default_network.id,
300
+ cidr_block="192.168.192.0/24",
301
+ zone_id=default_get_zones.zones[0].id)
302
+ default_security_group = alicloud.ecs.SecurityGroup("default",
303
+ name=name,
304
+ vpc_id=default_network.id)
305
+ default_instance = alicloud.ecs.Instance("default",
306
+ image_id=default_get_images.images[0].id,
307
+ instance_type=default_get_instance_types.instance_types[0].id,
308
+ security_groups=[__item.id for __item in [default_security_group]],
309
+ internet_charge_type="PayByTraffic",
310
+ internet_max_bandwidth_out=10,
311
+ availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],
312
+ instance_charge_type="PostPaid",
313
+ system_disk_category="cloud_essd",
314
+ vswitch_id=default_switch.id,
315
+ instance_name=name,
316
+ data_disks=[{
317
+ "category": "cloud_essd",
318
+ "size": 20,
319
+ }])
320
+ default_ecs_disk = alicloud.ecs.EcsDisk("default",
321
+ disk_name=name,
322
+ zone_id=default_get_instance_types.instance_types[0].availability_zones[0],
323
+ category="cloud_essd",
324
+ size=500)
325
+ default_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment("default",
326
+ disk_id=default_ecs_disk.id,
327
+ instance_id=default_instance.id)
328
+ default_ecs_snapshot = alicloud.ecs.EcsSnapshot("default",
329
+ disk_id=default_ecs_disk_attachment.disk_id,
330
+ category="standard",
331
+ retention_days=20,
332
+ snapshot_name=name,
333
+ description=name,
334
+ tags={
335
+ "Created": "TF",
336
+ "For": "Snapshot",
337
+ })
338
+ ids = alicloud.ecs.get_ecs_snapshots_output(ids=[default_ecs_snapshot.id])
339
+ pulumi.export("ecsSnapshotsId0", ids.snapshots[0].id)
249
340
  ```
250
341
 
251
342
 
@@ -263,6 +354,7 @@ def get_ecs_snapshots(category: Optional[builtins.str] = None,
263
354
  :param builtins.str source_disk_type: The type of the disk for which the snapshot was created. Valid Values: `System`, `Data`.
264
355
  :param builtins.str status: The status of the snapshot. Valid Values: `accomplished`, `failed`, `progressing` and `all`.
265
356
  :param Mapping[str, builtins.str] tags: A mapping of tags to assign to the snapshot.
357
+ :param builtins.str type: The type of the snapshot. Valid Values: `auto`, `user` and `all`. Default to: `all`.
266
358
  :param builtins.str usage: A resource type that has a reference relationship. Valid Values: `image`, `disk`, `image_disk` and `none`.
267
359
  """
268
360
  __args__ = dict()
@@ -325,7 +417,7 @@ def get_ecs_snapshots_output(category: Optional[pulumi.Input[Optional[builtins.s
325
417
  """
326
418
  This data source provides the Ecs Snapshots of the current Alibaba Cloud user.
327
419
 
328
- > **NOTE:** Available in v1.120.0+.
420
+ > **NOTE:** Available since v1.120.0.
329
421
 
330
422
  ## Example Usage
331
423
 
@@ -335,9 +427,64 @@ def get_ecs_snapshots_output(category: Optional[pulumi.Input[Optional[builtins.s
335
427
  import pulumi
336
428
  import pulumi_alicloud as alicloud
337
429
 
338
- example = alicloud.ecs.get_ecs_snapshots(ids=["s-bp1fvuxxxxxxxx"],
339
- name_regex="tf-test")
340
- pulumi.export("firstEcsSnapshotId", example.snapshots[0].id)
430
+ config = pulumi.Config()
431
+ name = config.get("name")
432
+ if name is None:
433
+ name = "terraform-example"
434
+ default = alicloud.resourcemanager.get_resource_groups(status="OK")
435
+ default_get_zones = alicloud.get_zones(available_disk_category="cloud_essd",
436
+ available_resource_creation="VSwitch")
437
+ default_get_images = alicloud.ecs.get_images(most_recent=True,
438
+ owners="system")
439
+ default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,
440
+ image_id=default_get_images.images[0].id,
441
+ system_disk_category="cloud_essd")
442
+ default_network = alicloud.vpc.Network("default",
443
+ vpc_name=name,
444
+ cidr_block="192.168.0.0/16")
445
+ default_switch = alicloud.vpc.Switch("default",
446
+ vswitch_name=name,
447
+ vpc_id=default_network.id,
448
+ cidr_block="192.168.192.0/24",
449
+ zone_id=default_get_zones.zones[0].id)
450
+ default_security_group = alicloud.ecs.SecurityGroup("default",
451
+ name=name,
452
+ vpc_id=default_network.id)
453
+ default_instance = alicloud.ecs.Instance("default",
454
+ image_id=default_get_images.images[0].id,
455
+ instance_type=default_get_instance_types.instance_types[0].id,
456
+ security_groups=[__item.id for __item in [default_security_group]],
457
+ internet_charge_type="PayByTraffic",
458
+ internet_max_bandwidth_out=10,
459
+ availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],
460
+ instance_charge_type="PostPaid",
461
+ system_disk_category="cloud_essd",
462
+ vswitch_id=default_switch.id,
463
+ instance_name=name,
464
+ data_disks=[{
465
+ "category": "cloud_essd",
466
+ "size": 20,
467
+ }])
468
+ default_ecs_disk = alicloud.ecs.EcsDisk("default",
469
+ disk_name=name,
470
+ zone_id=default_get_instance_types.instance_types[0].availability_zones[0],
471
+ category="cloud_essd",
472
+ size=500)
473
+ default_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment("default",
474
+ disk_id=default_ecs_disk.id,
475
+ instance_id=default_instance.id)
476
+ default_ecs_snapshot = alicloud.ecs.EcsSnapshot("default",
477
+ disk_id=default_ecs_disk_attachment.disk_id,
478
+ category="standard",
479
+ retention_days=20,
480
+ snapshot_name=name,
481
+ description=name,
482
+ tags={
483
+ "Created": "TF",
484
+ "For": "Snapshot",
485
+ })
486
+ ids = alicloud.ecs.get_ecs_snapshots_output(ids=[default_ecs_snapshot.id])
487
+ pulumi.export("ecsSnapshotsId0", ids.snapshots[0].id)
341
488
  ```
342
489
 
343
490
 
@@ -355,6 +502,7 @@ def get_ecs_snapshots_output(category: Optional[pulumi.Input[Optional[builtins.s
355
502
  :param builtins.str source_disk_type: The type of the disk for which the snapshot was created. Valid Values: `System`, `Data`.
356
503
  :param builtins.str status: The status of the snapshot. Valid Values: `accomplished`, `failed`, `progressing` and `all`.
357
504
  :param Mapping[str, builtins.str] tags: A mapping of tags to assign to the snapshot.
505
+ :param builtins.str type: The type of the snapshot. Valid Values: `auto`, `user` and `all`. Default to: `all`.
358
506
  :param builtins.str usage: A resource type that has a reference relationship. Valid Values: `image`, `disk`, `image_disk` and `none`.
359
507
  """
360
508
  __args__ = dict()