pulumi-alicloud 3.77.0a1746163013__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.0a1746163013.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/METADATA +1 -1
  81. {pulumi_alicloud-3.77.0a1746163013.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/RECORD +83 -71
  82. {pulumi_alicloud-3.77.0a1746163013.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/WHEEL +0 -0
  83. {pulumi_alicloud-3.77.0a1746163013.dist-info → pulumi_alicloud-3.77.0a1746220593.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,464 @@
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
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['ExperimentPlanTemplateArgs', 'ExperimentPlanTemplate']
21
+
22
+ @pulumi.input_type
23
+ class ExperimentPlanTemplateArgs:
24
+ def __init__(__self__, *,
25
+ privacy_level: pulumi.Input[builtins.str],
26
+ template_name: pulumi.Input[builtins.str],
27
+ template_pipelines: pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]],
28
+ template_description: Optional[pulumi.Input[builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a ExperimentPlanTemplate resource.
31
+ :param pulumi.Input[builtins.str] privacy_level: Used to indicate the privacy level of the content or information. It can have the following optional parameters:
32
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
33
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
34
+ :param pulumi.Input[builtins.str] template_name: Help users identify and select specific templates.
35
+ :param pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]] template_pipelines: Representative Template Pipeline. See `template_pipeline` below.
36
+ :param pulumi.Input[builtins.str] template_description: Describe the purpose of this template.
37
+ """
38
+ pulumi.set(__self__, "privacy_level", privacy_level)
39
+ pulumi.set(__self__, "template_name", template_name)
40
+ pulumi.set(__self__, "template_pipelines", template_pipelines)
41
+ if template_description is not None:
42
+ pulumi.set(__self__, "template_description", template_description)
43
+
44
+ @property
45
+ @pulumi.getter(name="privacyLevel")
46
+ def privacy_level(self) -> pulumi.Input[builtins.str]:
47
+ """
48
+ Used to indicate the privacy level of the content or information. It can have the following optional parameters:
49
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
50
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
51
+ """
52
+ return pulumi.get(self, "privacy_level")
53
+
54
+ @privacy_level.setter
55
+ def privacy_level(self, value: pulumi.Input[builtins.str]):
56
+ pulumi.set(self, "privacy_level", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="templateName")
60
+ def template_name(self) -> pulumi.Input[builtins.str]:
61
+ """
62
+ Help users identify and select specific templates.
63
+ """
64
+ return pulumi.get(self, "template_name")
65
+
66
+ @template_name.setter
67
+ def template_name(self, value: pulumi.Input[builtins.str]):
68
+ pulumi.set(self, "template_name", value)
69
+
70
+ @property
71
+ @pulumi.getter(name="templatePipelines")
72
+ def template_pipelines(self) -> pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]]:
73
+ """
74
+ Representative Template Pipeline. See `template_pipeline` below.
75
+ """
76
+ return pulumi.get(self, "template_pipelines")
77
+
78
+ @template_pipelines.setter
79
+ def template_pipelines(self, value: pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]]):
80
+ pulumi.set(self, "template_pipelines", value)
81
+
82
+ @property
83
+ @pulumi.getter(name="templateDescription")
84
+ def template_description(self) -> Optional[pulumi.Input[builtins.str]]:
85
+ """
86
+ Describe the purpose of this template.
87
+ """
88
+ return pulumi.get(self, "template_description")
89
+
90
+ @template_description.setter
91
+ def template_description(self, value: Optional[pulumi.Input[builtins.str]]):
92
+ pulumi.set(self, "template_description", value)
93
+
94
+
95
+ @pulumi.input_type
96
+ class _ExperimentPlanTemplateState:
97
+ def __init__(__self__, *,
98
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
99
+ privacy_level: Optional[pulumi.Input[builtins.str]] = None,
100
+ template_description: Optional[pulumi.Input[builtins.str]] = None,
101
+ template_id: Optional[pulumi.Input[builtins.str]] = None,
102
+ template_name: Optional[pulumi.Input[builtins.str]] = None,
103
+ template_pipelines: Optional[pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]]] = None):
104
+ """
105
+ Input properties used for looking up and filtering ExperimentPlanTemplate resources.
106
+ :param pulumi.Input[builtins.str] create_time: The creation time of the resource.
107
+ :param pulumi.Input[builtins.str] privacy_level: Used to indicate the privacy level of the content or information. It can have the following optional parameters:
108
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
109
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
110
+ :param pulumi.Input[builtins.str] template_description: Describe the purpose of this template.
111
+ :param pulumi.Input[builtins.str] template_id: The ID of the template.
112
+ :param pulumi.Input[builtins.str] template_name: Help users identify and select specific templates.
113
+ :param pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]] template_pipelines: Representative Template Pipeline. See `template_pipeline` below.
114
+ """
115
+ if create_time is not None:
116
+ pulumi.set(__self__, "create_time", create_time)
117
+ if privacy_level is not None:
118
+ pulumi.set(__self__, "privacy_level", privacy_level)
119
+ if template_description is not None:
120
+ pulumi.set(__self__, "template_description", template_description)
121
+ if template_id is not None:
122
+ pulumi.set(__self__, "template_id", template_id)
123
+ if template_name is not None:
124
+ pulumi.set(__self__, "template_name", template_name)
125
+ if template_pipelines is not None:
126
+ pulumi.set(__self__, "template_pipelines", template_pipelines)
127
+
128
+ @property
129
+ @pulumi.getter(name="createTime")
130
+ def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
131
+ """
132
+ The creation time of the resource.
133
+ """
134
+ return pulumi.get(self, "create_time")
135
+
136
+ @create_time.setter
137
+ def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
138
+ pulumi.set(self, "create_time", value)
139
+
140
+ @property
141
+ @pulumi.getter(name="privacyLevel")
142
+ def privacy_level(self) -> Optional[pulumi.Input[builtins.str]]:
143
+ """
144
+ Used to indicate the privacy level of the content or information. It can have the following optional parameters:
145
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
146
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
147
+ """
148
+ return pulumi.get(self, "privacy_level")
149
+
150
+ @privacy_level.setter
151
+ def privacy_level(self, value: Optional[pulumi.Input[builtins.str]]):
152
+ pulumi.set(self, "privacy_level", value)
153
+
154
+ @property
155
+ @pulumi.getter(name="templateDescription")
156
+ def template_description(self) -> Optional[pulumi.Input[builtins.str]]:
157
+ """
158
+ Describe the purpose of this template.
159
+ """
160
+ return pulumi.get(self, "template_description")
161
+
162
+ @template_description.setter
163
+ def template_description(self, value: Optional[pulumi.Input[builtins.str]]):
164
+ pulumi.set(self, "template_description", value)
165
+
166
+ @property
167
+ @pulumi.getter(name="templateId")
168
+ def template_id(self) -> Optional[pulumi.Input[builtins.str]]:
169
+ """
170
+ The ID of the template.
171
+ """
172
+ return pulumi.get(self, "template_id")
173
+
174
+ @template_id.setter
175
+ def template_id(self, value: Optional[pulumi.Input[builtins.str]]):
176
+ pulumi.set(self, "template_id", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="templateName")
180
+ def template_name(self) -> Optional[pulumi.Input[builtins.str]]:
181
+ """
182
+ Help users identify and select specific templates.
183
+ """
184
+ return pulumi.get(self, "template_name")
185
+
186
+ @template_name.setter
187
+ def template_name(self, value: Optional[pulumi.Input[builtins.str]]):
188
+ pulumi.set(self, "template_name", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="templatePipelines")
192
+ def template_pipelines(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]]]:
193
+ """
194
+ Representative Template Pipeline. See `template_pipeline` below.
195
+ """
196
+ return pulumi.get(self, "template_pipelines")
197
+
198
+ @template_pipelines.setter
199
+ def template_pipelines(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExperimentPlanTemplateTemplatePipelineArgs']]]]):
200
+ pulumi.set(self, "template_pipelines", value)
201
+
202
+
203
+ class ExperimentPlanTemplate(pulumi.CustomResource):
204
+
205
+ pulumi_type = "alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate"
206
+
207
+ @overload
208
+ def __init__(__self__,
209
+ resource_name: str,
210
+ opts: Optional[pulumi.ResourceOptions] = None,
211
+ privacy_level: Optional[pulumi.Input[builtins.str]] = None,
212
+ template_description: Optional[pulumi.Input[builtins.str]] = None,
213
+ template_name: Optional[pulumi.Input[builtins.str]] = None,
214
+ template_pipelines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExperimentPlanTemplateTemplatePipelineArgs', 'ExperimentPlanTemplateTemplatePipelineArgsDict']]]]] = None,
215
+ __props__=None):
216
+ """
217
+ Provides a Eflo Experiment Plan Template resource.
218
+
219
+ For information about Eflo Experiment Plan Template and how to use it, see [What is Experiment Plan Template](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplantemplate).
220
+
221
+ > **NOTE:** Available since v1.248.0.
222
+
223
+ ## Example Usage
224
+
225
+ Basic Usage
226
+
227
+ ```python
228
+ import pulumi
229
+ import pulumi_alicloud as alicloud
230
+
231
+ config = pulumi.Config()
232
+ name = config.get("name")
233
+ if name is None:
234
+ name = "terraform-example"
235
+ default = alicloud.eflo.ExperimentPlanTemplate("default",
236
+ template_pipelines=[{
237
+ "workload_id": 2,
238
+ "workload_name": "MatMul",
239
+ "env_params": {
240
+ "cpu_per_worker": 90,
241
+ "gpu_per_worker": 8,
242
+ "memory_per_worker": 500,
243
+ "share_memory": 500,
244
+ "worker_num": 1,
245
+ "py_torch_version": "1",
246
+ "gpu_driver_version": "1",
247
+ "cuda_version": "1",
248
+ "nccl_version": "1",
249
+ },
250
+ "pipeline_order": 1,
251
+ "scene": "baseline",
252
+ }],
253
+ privacy_level="private",
254
+ template_name=name,
255
+ template_description=name)
256
+ ```
257
+
258
+ ## Import
259
+
260
+ Eflo Experiment Plan Template can be imported using the id, e.g.
261
+
262
+ ```sh
263
+ $ pulumi import alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate example <id>
264
+ ```
265
+
266
+ :param str resource_name: The name of the resource.
267
+ :param pulumi.ResourceOptions opts: Options for the resource.
268
+ :param pulumi.Input[builtins.str] privacy_level: Used to indicate the privacy level of the content or information. It can have the following optional parameters:
269
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
270
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
271
+ :param pulumi.Input[builtins.str] template_description: Describe the purpose of this template.
272
+ :param pulumi.Input[builtins.str] template_name: Help users identify and select specific templates.
273
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExperimentPlanTemplateTemplatePipelineArgs', 'ExperimentPlanTemplateTemplatePipelineArgsDict']]]] template_pipelines: Representative Template Pipeline. See `template_pipeline` below.
274
+ """
275
+ ...
276
+ @overload
277
+ def __init__(__self__,
278
+ resource_name: str,
279
+ args: ExperimentPlanTemplateArgs,
280
+ opts: Optional[pulumi.ResourceOptions] = None):
281
+ """
282
+ Provides a Eflo Experiment Plan Template resource.
283
+
284
+ For information about Eflo Experiment Plan Template and how to use it, see [What is Experiment Plan Template](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplantemplate).
285
+
286
+ > **NOTE:** Available since v1.248.0.
287
+
288
+ ## Example Usage
289
+
290
+ Basic Usage
291
+
292
+ ```python
293
+ import pulumi
294
+ import pulumi_alicloud as alicloud
295
+
296
+ config = pulumi.Config()
297
+ name = config.get("name")
298
+ if name is None:
299
+ name = "terraform-example"
300
+ default = alicloud.eflo.ExperimentPlanTemplate("default",
301
+ template_pipelines=[{
302
+ "workload_id": 2,
303
+ "workload_name": "MatMul",
304
+ "env_params": {
305
+ "cpu_per_worker": 90,
306
+ "gpu_per_worker": 8,
307
+ "memory_per_worker": 500,
308
+ "share_memory": 500,
309
+ "worker_num": 1,
310
+ "py_torch_version": "1",
311
+ "gpu_driver_version": "1",
312
+ "cuda_version": "1",
313
+ "nccl_version": "1",
314
+ },
315
+ "pipeline_order": 1,
316
+ "scene": "baseline",
317
+ }],
318
+ privacy_level="private",
319
+ template_name=name,
320
+ template_description=name)
321
+ ```
322
+
323
+ ## Import
324
+
325
+ Eflo Experiment Plan Template can be imported using the id, e.g.
326
+
327
+ ```sh
328
+ $ pulumi import alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate example <id>
329
+ ```
330
+
331
+ :param str resource_name: The name of the resource.
332
+ :param ExperimentPlanTemplateArgs args: The arguments to use to populate this resource's properties.
333
+ :param pulumi.ResourceOptions opts: Options for the resource.
334
+ """
335
+ ...
336
+ def __init__(__self__, resource_name: str, *args, **kwargs):
337
+ resource_args, opts = _utilities.get_resource_args_opts(ExperimentPlanTemplateArgs, pulumi.ResourceOptions, *args, **kwargs)
338
+ if resource_args is not None:
339
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
340
+ else:
341
+ __self__._internal_init(resource_name, *args, **kwargs)
342
+
343
+ def _internal_init(__self__,
344
+ resource_name: str,
345
+ opts: Optional[pulumi.ResourceOptions] = None,
346
+ privacy_level: Optional[pulumi.Input[builtins.str]] = None,
347
+ template_description: Optional[pulumi.Input[builtins.str]] = None,
348
+ template_name: Optional[pulumi.Input[builtins.str]] = None,
349
+ template_pipelines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExperimentPlanTemplateTemplatePipelineArgs', 'ExperimentPlanTemplateTemplatePipelineArgsDict']]]]] = None,
350
+ __props__=None):
351
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
352
+ if not isinstance(opts, pulumi.ResourceOptions):
353
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
354
+ if opts.id is None:
355
+ if __props__ is not None:
356
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
357
+ __props__ = ExperimentPlanTemplateArgs.__new__(ExperimentPlanTemplateArgs)
358
+
359
+ if privacy_level is None and not opts.urn:
360
+ raise TypeError("Missing required property 'privacy_level'")
361
+ __props__.__dict__["privacy_level"] = privacy_level
362
+ __props__.__dict__["template_description"] = template_description
363
+ if template_name is None and not opts.urn:
364
+ raise TypeError("Missing required property 'template_name'")
365
+ __props__.__dict__["template_name"] = template_name
366
+ if template_pipelines is None and not opts.urn:
367
+ raise TypeError("Missing required property 'template_pipelines'")
368
+ __props__.__dict__["template_pipelines"] = template_pipelines
369
+ __props__.__dict__["create_time"] = None
370
+ __props__.__dict__["template_id"] = None
371
+ super(ExperimentPlanTemplate, __self__).__init__(
372
+ 'alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate',
373
+ resource_name,
374
+ __props__,
375
+ opts)
376
+
377
+ @staticmethod
378
+ def get(resource_name: str,
379
+ id: pulumi.Input[str],
380
+ opts: Optional[pulumi.ResourceOptions] = None,
381
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
382
+ privacy_level: Optional[pulumi.Input[builtins.str]] = None,
383
+ template_description: Optional[pulumi.Input[builtins.str]] = None,
384
+ template_id: Optional[pulumi.Input[builtins.str]] = None,
385
+ template_name: Optional[pulumi.Input[builtins.str]] = None,
386
+ template_pipelines: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExperimentPlanTemplateTemplatePipelineArgs', 'ExperimentPlanTemplateTemplatePipelineArgsDict']]]]] = None) -> 'ExperimentPlanTemplate':
387
+ """
388
+ Get an existing ExperimentPlanTemplate resource's state with the given name, id, and optional extra
389
+ properties used to qualify the lookup.
390
+
391
+ :param str resource_name: The unique name of the resulting resource.
392
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
393
+ :param pulumi.ResourceOptions opts: Options for the resource.
394
+ :param pulumi.Input[builtins.str] create_time: The creation time of the resource.
395
+ :param pulumi.Input[builtins.str] privacy_level: Used to indicate the privacy level of the content or information. It can have the following optional parameters:
396
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
397
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
398
+ :param pulumi.Input[builtins.str] template_description: Describe the purpose of this template.
399
+ :param pulumi.Input[builtins.str] template_id: The ID of the template.
400
+ :param pulumi.Input[builtins.str] template_name: Help users identify and select specific templates.
401
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ExperimentPlanTemplateTemplatePipelineArgs', 'ExperimentPlanTemplateTemplatePipelineArgsDict']]]] template_pipelines: Representative Template Pipeline. See `template_pipeline` below.
402
+ """
403
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
404
+
405
+ __props__ = _ExperimentPlanTemplateState.__new__(_ExperimentPlanTemplateState)
406
+
407
+ __props__.__dict__["create_time"] = create_time
408
+ __props__.__dict__["privacy_level"] = privacy_level
409
+ __props__.__dict__["template_description"] = template_description
410
+ __props__.__dict__["template_id"] = template_id
411
+ __props__.__dict__["template_name"] = template_name
412
+ __props__.__dict__["template_pipelines"] = template_pipelines
413
+ return ExperimentPlanTemplate(resource_name, opts=opts, __props__=__props__)
414
+
415
+ @property
416
+ @pulumi.getter(name="createTime")
417
+ def create_time(self) -> pulumi.Output[builtins.str]:
418
+ """
419
+ The creation time of the resource.
420
+ """
421
+ return pulumi.get(self, "create_time")
422
+
423
+ @property
424
+ @pulumi.getter(name="privacyLevel")
425
+ def privacy_level(self) -> pulumi.Output[builtins.str]:
426
+ """
427
+ Used to indicate the privacy level of the content or information. It can have the following optional parameters:
428
+ - private: Indicates that the content is private and restricted to specific users or permission groups. Private content is usually not publicly displayed, and only authorized users can view or edit it.
429
+ - public: Indicates that the content is public and can be accessed by anyone. Public content is usually viewable by all users and is suitable for sharing information or resources
430
+ """
431
+ return pulumi.get(self, "privacy_level")
432
+
433
+ @property
434
+ @pulumi.getter(name="templateDescription")
435
+ def template_description(self) -> pulumi.Output[Optional[builtins.str]]:
436
+ """
437
+ Describe the purpose of this template.
438
+ """
439
+ return pulumi.get(self, "template_description")
440
+
441
+ @property
442
+ @pulumi.getter(name="templateId")
443
+ def template_id(self) -> pulumi.Output[builtins.str]:
444
+ """
445
+ The ID of the template.
446
+ """
447
+ return pulumi.get(self, "template_id")
448
+
449
+ @property
450
+ @pulumi.getter(name="templateName")
451
+ def template_name(self) -> pulumi.Output[builtins.str]:
452
+ """
453
+ Help users identify and select specific templates.
454
+ """
455
+ return pulumi.get(self, "template_name")
456
+
457
+ @property
458
+ @pulumi.getter(name="templatePipelines")
459
+ def template_pipelines(self) -> pulumi.Output[Sequence['outputs.ExperimentPlanTemplateTemplatePipeline']]:
460
+ """
461
+ Representative Template Pipeline. See `template_pipeline` below.
462
+ """
463
+ return pulumi.get(self, "template_pipelines")
464
+