pulumi-alicloud 3.77.0a1746076596__py3-none-any.whl → 3.77.0a1746220593__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.

Files changed (83) hide show
  1. pulumi_alicloud/__init__.py +72 -0
  2. pulumi_alicloud/_inputs.py +13 -0
  3. pulumi_alicloud/adb/db_cluster_lake_version.py +94 -0
  4. pulumi_alicloud/alb/_inputs.py +6 -3
  5. pulumi_alicloud/alb/outputs.py +4 -2
  6. pulumi_alicloud/apig/environment.py +2 -2
  7. pulumi_alicloud/apig/http_api.py +2 -2
  8. pulumi_alicloud/arms/grafana_workspace.py +56 -14
  9. pulumi_alicloud/cloudfirewall/instance_member.py +4 -4
  10. pulumi_alicloud/cloudfirewall/vpc_cen_tr_firewall.py +2 -2
  11. pulumi_alicloud/cloudsso/_inputs.py +697 -7
  12. pulumi_alicloud/cloudsso/directory.py +345 -65
  13. pulumi_alicloud/cloudsso/outputs.py +557 -8
  14. pulumi_alicloud/config/outputs.py +8 -0
  15. pulumi_alicloud/cs/_inputs.py +18 -18
  16. pulumi_alicloud/cs/edge_kubernetes.py +136 -100
  17. pulumi_alicloud/cs/get_kubernetes_node_pools.py +21 -1
  18. pulumi_alicloud/cs/kubernetes.py +118 -39
  19. pulumi_alicloud/cs/managed_kubernetes.py +125 -46
  20. pulumi_alicloud/cs/outputs.py +14 -14
  21. pulumi_alicloud/cs/serverless_kubernetes.py +66 -73
  22. pulumi_alicloud/ddos/ddos_coo_instance.py +175 -25
  23. pulumi_alicloud/dns/ddos_coo_instance.py +175 -25
  24. pulumi_alicloud/dts/job_monitor_rule.py +2 -2
  25. pulumi_alicloud/dts/synchronization_job.py +2 -2
  26. pulumi_alicloud/ecs/get_instance_types.py +4 -4
  27. pulumi_alicloud/ecs/instance.py +28 -28
  28. pulumi_alicloud/ecs/outputs.py +2 -2
  29. pulumi_alicloud/ecs/security_group_rule.py +32 -4
  30. pulumi_alicloud/eflo/__init__.py +3 -0
  31. pulumi_alicloud/eflo/_inputs.py +623 -0
  32. pulumi_alicloud/eflo/experiment_plan.py +573 -0
  33. pulumi_alicloud/eflo/experiment_plan_template.py +464 -0
  34. pulumi_alicloud/eflo/outputs.py +476 -0
  35. pulumi_alicloud/eflo/resource.py +388 -0
  36. pulumi_alicloud/ens/disk.py +120 -69
  37. pulumi_alicloud/ens/eip.py +45 -41
  38. pulumi_alicloud/esa/__init__.py +2 -0
  39. pulumi_alicloud/esa/scheduled_preload_execution.py +479 -0
  40. pulumi_alicloud/esa/scheduled_preload_job.py +467 -0
  41. pulumi_alicloud/gwlb/listener.py +2 -2
  42. pulumi_alicloud/gwlb/load_balancer.py +2 -2
  43. pulumi_alicloud/gwlb/server_group.py +2 -2
  44. pulumi_alicloud/ims/__init__.py +2 -0
  45. pulumi_alicloud/ims/get_oidc_providers.py +216 -0
  46. pulumi_alicloud/ims/outputs.py +138 -0
  47. pulumi_alicloud/mongodb/__init__.py +2 -0
  48. pulumi_alicloud/mongodb/_inputs.py +154 -0
  49. pulumi_alicloud/mongodb/instance.py +7 -7
  50. pulumi_alicloud/mongodb/outputs.py +121 -0
  51. pulumi_alicloud/mongodb/public_network_address.py +275 -0
  52. pulumi_alicloud/mongodb/replica_set_role.py +533 -0
  53. pulumi_alicloud/nas/_inputs.py +252 -18
  54. pulumi_alicloud/nas/file_system.py +649 -264
  55. pulumi_alicloud/nas/outputs.py +198 -12
  56. pulumi_alicloud/nlb/server_group_server_attachment.py +4 -0
  57. pulumi_alicloud/pai/__init__.py +1 -0
  58. pulumi_alicloud/pai/flow_pipeline.py +491 -0
  59. pulumi_alicloud/pulumi-plugin.json +1 -1
  60. pulumi_alicloud/ram/__init__.py +1 -0
  61. pulumi_alicloud/ram/get_role_policy_attachments.py +272 -0
  62. pulumi_alicloud/ram/outputs.py +63 -0
  63. pulumi_alicloud/ram/security_preference.py +496 -110
  64. pulumi_alicloud/rdc/organization.py +2 -2
  65. pulumi_alicloud/rds/instance.py +1 -1
  66. pulumi_alicloud/sae/application_scaling_rule.py +2 -2
  67. pulumi_alicloud/sae/ingress.py +2 -2
  68. pulumi_alicloud/schedulerx/app_group.py +2 -2
  69. pulumi_alicloud/schedulerx/job.py +2 -2
  70. pulumi_alicloud/selectdb/db_cluster.py +2 -0
  71. pulumi_alicloud/selectdb/db_instance.py +43 -13
  72. pulumi_alicloud/selectdb/get_db_clusters.py +2 -0
  73. pulumi_alicloud/selectdb/get_db_instances.py +2 -0
  74. pulumi_alicloud/selectdb/outputs.py +3 -3
  75. pulumi_alicloud/sls/__init__.py +1 -0
  76. pulumi_alicloud/sls/_inputs.py +295 -0
  77. pulumi_alicloud/sls/etl.py +516 -0
  78. pulumi_alicloud/sls/outputs.py +209 -0
  79. pulumi_alicloud/vpc/network.py +156 -88
  80. {pulumi_alicloud-3.77.0a1746076596.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/METADATA +1 -1
  81. {pulumi_alicloud-3.77.0a1746076596.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/RECORD +83 -71
  82. {pulumi_alicloud-3.77.0a1746076596.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/WHEEL +0 -0
  83. {pulumi_alicloud-3.77.0a1746076596.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,573 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+
18
+ __all__ = ['ExperimentPlanArgs', 'ExperimentPlan']
19
+
20
+ @pulumi.input_type
21
+ class ExperimentPlanArgs:
22
+ def __init__(__self__, *,
23
+ resource_id: pulumi.Input[builtins.int],
24
+ template_id: pulumi.Input[builtins.int],
25
+ external_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
26
+ plan_name: Optional[pulumi.Input[builtins.str]] = None,
27
+ resource_group_id: Optional[pulumi.Input[builtins.str]] = None,
28
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
29
+ """
30
+ The set of arguments for constructing a ExperimentPlan resource.
31
+ :param pulumi.Input[builtins.int] resource_id: The ID of the resource.
32
+ :param pulumi.Input[builtins.int] template_id: The ID of the template.
33
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] external_params: Additional operating parameters. You can include information about the specified node.
34
+ :param pulumi.Input[builtins.str] plan_name: Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
35
+ :param pulumi.Input[builtins.str] resource_group_id: The ID of the resource group.
36
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The tag of the resource.
37
+ """
38
+ pulumi.set(__self__, "resource_id", resource_id)
39
+ pulumi.set(__self__, "template_id", template_id)
40
+ if external_params is not None:
41
+ pulumi.set(__self__, "external_params", external_params)
42
+ if plan_name is not None:
43
+ pulumi.set(__self__, "plan_name", plan_name)
44
+ if resource_group_id is not None:
45
+ pulumi.set(__self__, "resource_group_id", resource_group_id)
46
+ if tags is not None:
47
+ pulumi.set(__self__, "tags", tags)
48
+
49
+ @property
50
+ @pulumi.getter(name="resourceId")
51
+ def resource_id(self) -> pulumi.Input[builtins.int]:
52
+ """
53
+ The ID of the resource.
54
+ """
55
+ return pulumi.get(self, "resource_id")
56
+
57
+ @resource_id.setter
58
+ def resource_id(self, value: pulumi.Input[builtins.int]):
59
+ pulumi.set(self, "resource_id", value)
60
+
61
+ @property
62
+ @pulumi.getter(name="templateId")
63
+ def template_id(self) -> pulumi.Input[builtins.int]:
64
+ """
65
+ The ID of the template.
66
+ """
67
+ return pulumi.get(self, "template_id")
68
+
69
+ @template_id.setter
70
+ def template_id(self, value: pulumi.Input[builtins.int]):
71
+ pulumi.set(self, "template_id", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="externalParams")
75
+ def external_params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
76
+ """
77
+ Additional operating parameters. You can include information about the specified node.
78
+ """
79
+ return pulumi.get(self, "external_params")
80
+
81
+ @external_params.setter
82
+ def external_params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
83
+ pulumi.set(self, "external_params", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="planName")
87
+ def plan_name(self) -> Optional[pulumi.Input[builtins.str]]:
88
+ """
89
+ Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
90
+ """
91
+ return pulumi.get(self, "plan_name")
92
+
93
+ @plan_name.setter
94
+ def plan_name(self, value: Optional[pulumi.Input[builtins.str]]):
95
+ pulumi.set(self, "plan_name", value)
96
+
97
+ @property
98
+ @pulumi.getter(name="resourceGroupId")
99
+ def resource_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
100
+ """
101
+ The ID of the resource group.
102
+ """
103
+ return pulumi.get(self, "resource_group_id")
104
+
105
+ @resource_group_id.setter
106
+ def resource_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
107
+ pulumi.set(self, "resource_group_id", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
112
+ """
113
+ The tag of the resource.
114
+ """
115
+ return pulumi.get(self, "tags")
116
+
117
+ @tags.setter
118
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
119
+ pulumi.set(self, "tags", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _ExperimentPlanState:
124
+ def __init__(__self__, *,
125
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
126
+ external_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
127
+ plan_name: Optional[pulumi.Input[builtins.str]] = None,
128
+ resource_group_id: Optional[pulumi.Input[builtins.str]] = None,
129
+ resource_id: Optional[pulumi.Input[builtins.int]] = None,
130
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
131
+ template_id: Optional[pulumi.Input[builtins.int]] = None):
132
+ """
133
+ Input properties used for looking up and filtering ExperimentPlan resources.
134
+ :param pulumi.Input[builtins.str] create_time: The creation time of the resource.
135
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] external_params: Additional operating parameters. You can include information about the specified node.
136
+ :param pulumi.Input[builtins.str] plan_name: Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
137
+ :param pulumi.Input[builtins.str] resource_group_id: The ID of the resource group.
138
+ :param pulumi.Input[builtins.int] resource_id: The ID of the resource.
139
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The tag of the resource.
140
+ :param pulumi.Input[builtins.int] template_id: The ID of the template.
141
+ """
142
+ if create_time is not None:
143
+ pulumi.set(__self__, "create_time", create_time)
144
+ if external_params is not None:
145
+ pulumi.set(__self__, "external_params", external_params)
146
+ if plan_name is not None:
147
+ pulumi.set(__self__, "plan_name", plan_name)
148
+ if resource_group_id is not None:
149
+ pulumi.set(__self__, "resource_group_id", resource_group_id)
150
+ if resource_id is not None:
151
+ pulumi.set(__self__, "resource_id", resource_id)
152
+ if tags is not None:
153
+ pulumi.set(__self__, "tags", tags)
154
+ if template_id is not None:
155
+ pulumi.set(__self__, "template_id", template_id)
156
+
157
+ @property
158
+ @pulumi.getter(name="createTime")
159
+ def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
160
+ """
161
+ The creation time of the resource.
162
+ """
163
+ return pulumi.get(self, "create_time")
164
+
165
+ @create_time.setter
166
+ def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
167
+ pulumi.set(self, "create_time", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="externalParams")
171
+ def external_params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
172
+ """
173
+ Additional operating parameters. You can include information about the specified node.
174
+ """
175
+ return pulumi.get(self, "external_params")
176
+
177
+ @external_params.setter
178
+ def external_params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
179
+ pulumi.set(self, "external_params", value)
180
+
181
+ @property
182
+ @pulumi.getter(name="planName")
183
+ def plan_name(self) -> Optional[pulumi.Input[builtins.str]]:
184
+ """
185
+ Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
186
+ """
187
+ return pulumi.get(self, "plan_name")
188
+
189
+ @plan_name.setter
190
+ def plan_name(self, value: Optional[pulumi.Input[builtins.str]]):
191
+ pulumi.set(self, "plan_name", value)
192
+
193
+ @property
194
+ @pulumi.getter(name="resourceGroupId")
195
+ def resource_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
196
+ """
197
+ The ID of the resource group.
198
+ """
199
+ return pulumi.get(self, "resource_group_id")
200
+
201
+ @resource_group_id.setter
202
+ def resource_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
203
+ pulumi.set(self, "resource_group_id", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="resourceId")
207
+ def resource_id(self) -> Optional[pulumi.Input[builtins.int]]:
208
+ """
209
+ The ID of the resource.
210
+ """
211
+ return pulumi.get(self, "resource_id")
212
+
213
+ @resource_id.setter
214
+ def resource_id(self, value: Optional[pulumi.Input[builtins.int]]):
215
+ pulumi.set(self, "resource_id", value)
216
+
217
+ @property
218
+ @pulumi.getter
219
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
220
+ """
221
+ The tag of the resource.
222
+ """
223
+ return pulumi.get(self, "tags")
224
+
225
+ @tags.setter
226
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
227
+ pulumi.set(self, "tags", value)
228
+
229
+ @property
230
+ @pulumi.getter(name="templateId")
231
+ def template_id(self) -> Optional[pulumi.Input[builtins.int]]:
232
+ """
233
+ The ID of the template.
234
+ """
235
+ return pulumi.get(self, "template_id")
236
+
237
+ @template_id.setter
238
+ def template_id(self, value: Optional[pulumi.Input[builtins.int]]):
239
+ pulumi.set(self, "template_id", value)
240
+
241
+
242
+ class ExperimentPlan(pulumi.CustomResource):
243
+
244
+ pulumi_type = "alicloud:eflo/experimentPlan:ExperimentPlan"
245
+
246
+ @overload
247
+ def __init__(__self__,
248
+ resource_name: str,
249
+ opts: Optional[pulumi.ResourceOptions] = None,
250
+ external_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
251
+ plan_name: Optional[pulumi.Input[builtins.str]] = None,
252
+ resource_group_id: Optional[pulumi.Input[builtins.str]] = None,
253
+ resource_id: Optional[pulumi.Input[builtins.int]] = None,
254
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
255
+ template_id: Optional[pulumi.Input[builtins.int]] = None,
256
+ __props__=None):
257
+ """
258
+ Provides a Eflo Experiment Plan resource.
259
+
260
+ For information about Eflo Experiment Plan and how to use it, see [What is Experiment Plan](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplan).
261
+
262
+ > **NOTE:** Available since v1.248.0.
263
+
264
+ ## Example Usage
265
+
266
+ Basic Usage
267
+
268
+ ```python
269
+ import pulumi
270
+ import pulumi_alicloud as alicloud
271
+ import pulumi_random as random
272
+
273
+ config = pulumi.Config()
274
+ name = config.get("name")
275
+ if name is None:
276
+ name = "terraform-example"
277
+ default = random.index.Integer("default",
278
+ min=10000,
279
+ max=99999)
280
+ defaultp_szn7t = alicloud.eflo.ExperimentPlanTemplate("defaultpSZN7t",
281
+ template_pipelines=[{
282
+ "workload_id": 2,
283
+ "workload_name": "MatMul",
284
+ "env_params": {
285
+ "cpu_per_worker": 90,
286
+ "gpu_per_worker": 8,
287
+ "memory_per_worker": 500,
288
+ "share_memory": 500,
289
+ "worker_num": 1,
290
+ "py_torch_version": "1",
291
+ "gpu_driver_version": "1",
292
+ "cuda_version": "1",
293
+ "nccl_version": "1",
294
+ },
295
+ "pipeline_order": 1,
296
+ "scene": "baseline",
297
+ }],
298
+ privacy_level="private",
299
+ template_name=name,
300
+ template_description=name)
301
+ default_resource = alicloud.eflo.Resource("default",
302
+ user_access_param={
303
+ "access_id": "your_access_id",
304
+ "access_key": "your_access_key",
305
+ "workspace_id": "your_workspace_id",
306
+ "endpoint": "your_endpoint",
307
+ },
308
+ cluster_id=f"terraform-{default['result']}",
309
+ machine_types={
310
+ "memory_info": "32x 64GB DDR4 4800 Memory",
311
+ "type": "Private",
312
+ "bond_num": 5,
313
+ "node_count": 1,
314
+ "cpu_info": "2x Intel Saphhire Rapid 8469C 48C CPU",
315
+ "network_info": "1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC",
316
+ "gpu_info": "8x OAM 810 GPU",
317
+ "disk_info": "2x 480GB SATA SSD 4x 3.84TB NVMe SSD",
318
+ "network_mode": "net",
319
+ "name": "lingjun",
320
+ },
321
+ cluster_name=name,
322
+ cluster_desc=name)
323
+ default_experiment_plan = alicloud.eflo.ExperimentPlan("default",
324
+ resource_id=default_resource.resource_id,
325
+ plan_name=name,
326
+ template_id=defaultp_szn7t.id)
327
+ ```
328
+
329
+ ## Import
330
+
331
+ Eflo Experiment Plan can be imported using the id, e.g.
332
+
333
+ ```sh
334
+ $ pulumi import alicloud:eflo/experimentPlan:ExperimentPlan example <id>
335
+ ```
336
+
337
+ :param str resource_name: The name of the resource.
338
+ :param pulumi.ResourceOptions opts: Options for the resource.
339
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] external_params: Additional operating parameters. You can include information about the specified node.
340
+ :param pulumi.Input[builtins.str] plan_name: Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
341
+ :param pulumi.Input[builtins.str] resource_group_id: The ID of the resource group.
342
+ :param pulumi.Input[builtins.int] resource_id: The ID of the resource.
343
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The tag of the resource.
344
+ :param pulumi.Input[builtins.int] template_id: The ID of the template.
345
+ """
346
+ ...
347
+ @overload
348
+ def __init__(__self__,
349
+ resource_name: str,
350
+ args: ExperimentPlanArgs,
351
+ opts: Optional[pulumi.ResourceOptions] = None):
352
+ """
353
+ Provides a Eflo Experiment Plan resource.
354
+
355
+ For information about Eflo Experiment Plan and how to use it, see [What is Experiment Plan](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplan).
356
+
357
+ > **NOTE:** Available since v1.248.0.
358
+
359
+ ## Example Usage
360
+
361
+ Basic Usage
362
+
363
+ ```python
364
+ import pulumi
365
+ import pulumi_alicloud as alicloud
366
+ import pulumi_random as random
367
+
368
+ config = pulumi.Config()
369
+ name = config.get("name")
370
+ if name is None:
371
+ name = "terraform-example"
372
+ default = random.index.Integer("default",
373
+ min=10000,
374
+ max=99999)
375
+ defaultp_szn7t = alicloud.eflo.ExperimentPlanTemplate("defaultpSZN7t",
376
+ template_pipelines=[{
377
+ "workload_id": 2,
378
+ "workload_name": "MatMul",
379
+ "env_params": {
380
+ "cpu_per_worker": 90,
381
+ "gpu_per_worker": 8,
382
+ "memory_per_worker": 500,
383
+ "share_memory": 500,
384
+ "worker_num": 1,
385
+ "py_torch_version": "1",
386
+ "gpu_driver_version": "1",
387
+ "cuda_version": "1",
388
+ "nccl_version": "1",
389
+ },
390
+ "pipeline_order": 1,
391
+ "scene": "baseline",
392
+ }],
393
+ privacy_level="private",
394
+ template_name=name,
395
+ template_description=name)
396
+ default_resource = alicloud.eflo.Resource("default",
397
+ user_access_param={
398
+ "access_id": "your_access_id",
399
+ "access_key": "your_access_key",
400
+ "workspace_id": "your_workspace_id",
401
+ "endpoint": "your_endpoint",
402
+ },
403
+ cluster_id=f"terraform-{default['result']}",
404
+ machine_types={
405
+ "memory_info": "32x 64GB DDR4 4800 Memory",
406
+ "type": "Private",
407
+ "bond_num": 5,
408
+ "node_count": 1,
409
+ "cpu_info": "2x Intel Saphhire Rapid 8469C 48C CPU",
410
+ "network_info": "1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC",
411
+ "gpu_info": "8x OAM 810 GPU",
412
+ "disk_info": "2x 480GB SATA SSD 4x 3.84TB NVMe SSD",
413
+ "network_mode": "net",
414
+ "name": "lingjun",
415
+ },
416
+ cluster_name=name,
417
+ cluster_desc=name)
418
+ default_experiment_plan = alicloud.eflo.ExperimentPlan("default",
419
+ resource_id=default_resource.resource_id,
420
+ plan_name=name,
421
+ template_id=defaultp_szn7t.id)
422
+ ```
423
+
424
+ ## Import
425
+
426
+ Eflo Experiment Plan can be imported using the id, e.g.
427
+
428
+ ```sh
429
+ $ pulumi import alicloud:eflo/experimentPlan:ExperimentPlan example <id>
430
+ ```
431
+
432
+ :param str resource_name: The name of the resource.
433
+ :param ExperimentPlanArgs args: The arguments to use to populate this resource's properties.
434
+ :param pulumi.ResourceOptions opts: Options for the resource.
435
+ """
436
+ ...
437
+ def __init__(__self__, resource_name: str, *args, **kwargs):
438
+ resource_args, opts = _utilities.get_resource_args_opts(ExperimentPlanArgs, pulumi.ResourceOptions, *args, **kwargs)
439
+ if resource_args is not None:
440
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
441
+ else:
442
+ __self__._internal_init(resource_name, *args, **kwargs)
443
+
444
+ def _internal_init(__self__,
445
+ resource_name: str,
446
+ opts: Optional[pulumi.ResourceOptions] = None,
447
+ external_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
448
+ plan_name: Optional[pulumi.Input[builtins.str]] = None,
449
+ resource_group_id: Optional[pulumi.Input[builtins.str]] = None,
450
+ resource_id: Optional[pulumi.Input[builtins.int]] = None,
451
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
452
+ template_id: Optional[pulumi.Input[builtins.int]] = None,
453
+ __props__=None):
454
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
455
+ if not isinstance(opts, pulumi.ResourceOptions):
456
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
457
+ if opts.id is None:
458
+ if __props__ is not None:
459
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
460
+ __props__ = ExperimentPlanArgs.__new__(ExperimentPlanArgs)
461
+
462
+ __props__.__dict__["external_params"] = external_params
463
+ __props__.__dict__["plan_name"] = plan_name
464
+ __props__.__dict__["resource_group_id"] = resource_group_id
465
+ if resource_id is None and not opts.urn:
466
+ raise TypeError("Missing required property 'resource_id'")
467
+ __props__.__dict__["resource_id"] = resource_id
468
+ __props__.__dict__["tags"] = tags
469
+ if template_id is None and not opts.urn:
470
+ raise TypeError("Missing required property 'template_id'")
471
+ __props__.__dict__["template_id"] = template_id
472
+ __props__.__dict__["create_time"] = None
473
+ super(ExperimentPlan, __self__).__init__(
474
+ 'alicloud:eflo/experimentPlan:ExperimentPlan',
475
+ resource_name,
476
+ __props__,
477
+ opts)
478
+
479
+ @staticmethod
480
+ def get(resource_name: str,
481
+ id: pulumi.Input[str],
482
+ opts: Optional[pulumi.ResourceOptions] = None,
483
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
484
+ external_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
485
+ plan_name: Optional[pulumi.Input[builtins.str]] = None,
486
+ resource_group_id: Optional[pulumi.Input[builtins.str]] = None,
487
+ resource_id: Optional[pulumi.Input[builtins.int]] = None,
488
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
489
+ template_id: Optional[pulumi.Input[builtins.int]] = None) -> 'ExperimentPlan':
490
+ """
491
+ Get an existing ExperimentPlan resource's state with the given name, id, and optional extra
492
+ properties used to qualify the lookup.
493
+
494
+ :param str resource_name: The unique name of the resulting resource.
495
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
496
+ :param pulumi.ResourceOptions opts: Options for the resource.
497
+ :param pulumi.Input[builtins.str] create_time: The creation time of the resource.
498
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] external_params: Additional operating parameters. You can include information about the specified node.
499
+ :param pulumi.Input[builtins.str] plan_name: Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
500
+ :param pulumi.Input[builtins.str] resource_group_id: The ID of the resource group.
501
+ :param pulumi.Input[builtins.int] resource_id: The ID of the resource.
502
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The tag of the resource.
503
+ :param pulumi.Input[builtins.int] template_id: The ID of the template.
504
+ """
505
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
506
+
507
+ __props__ = _ExperimentPlanState.__new__(_ExperimentPlanState)
508
+
509
+ __props__.__dict__["create_time"] = create_time
510
+ __props__.__dict__["external_params"] = external_params
511
+ __props__.__dict__["plan_name"] = plan_name
512
+ __props__.__dict__["resource_group_id"] = resource_group_id
513
+ __props__.__dict__["resource_id"] = resource_id
514
+ __props__.__dict__["tags"] = tags
515
+ __props__.__dict__["template_id"] = template_id
516
+ return ExperimentPlan(resource_name, opts=opts, __props__=__props__)
517
+
518
+ @property
519
+ @pulumi.getter(name="createTime")
520
+ def create_time(self) -> pulumi.Output[builtins.str]:
521
+ """
522
+ The creation time of the resource.
523
+ """
524
+ return pulumi.get(self, "create_time")
525
+
526
+ @property
527
+ @pulumi.getter(name="externalParams")
528
+ def external_params(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
529
+ """
530
+ Additional operating parameters. You can include information about the specified node.
531
+ """
532
+ return pulumi.get(self, "external_params")
533
+
534
+ @property
535
+ @pulumi.getter(name="planName")
536
+ def plan_name(self) -> pulumi.Output[builtins.str]:
537
+ """
538
+ Indicates the name of the experiment plan, which is used to distinguish different experiment plans.
539
+ """
540
+ return pulumi.get(self, "plan_name")
541
+
542
+ @property
543
+ @pulumi.getter(name="resourceGroupId")
544
+ def resource_group_id(self) -> pulumi.Output[builtins.str]:
545
+ """
546
+ The ID of the resource group.
547
+ """
548
+ return pulumi.get(self, "resource_group_id")
549
+
550
+ @property
551
+ @pulumi.getter(name="resourceId")
552
+ def resource_id(self) -> pulumi.Output[builtins.int]:
553
+ """
554
+ The ID of the resource.
555
+ """
556
+ return pulumi.get(self, "resource_id")
557
+
558
+ @property
559
+ @pulumi.getter
560
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
561
+ """
562
+ The tag of the resource.
563
+ """
564
+ return pulumi.get(self, "tags")
565
+
566
+ @property
567
+ @pulumi.getter(name="templateId")
568
+ def template_id(self) -> pulumi.Output[builtins.int]:
569
+ """
570
+ The ID of the template.
571
+ """
572
+ return pulumi.get(self, "template_id")
573
+