pulumi-alicloud 3.62.0a1725945881__py3-none-any.whl → 3.62.1__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 (80) hide show
  1. pulumi_alicloud/__init__.py +80 -0
  2. pulumi_alicloud/actiontrail/trail.py +2 -2
  3. pulumi_alicloud/adb/cluster.py +34 -0
  4. pulumi_alicloud/adb/db_cluster.py +47 -0
  5. pulumi_alicloud/amqp/binding.py +30 -36
  6. pulumi_alicloud/amqp/static_account.py +12 -12
  7. pulumi_alicloud/cen/_inputs.py +180 -14
  8. pulumi_alicloud/cen/outputs.py +173 -12
  9. pulumi_alicloud/cen/traffic_marking_policy.py +116 -53
  10. pulumi_alicloud/cen/transit_router_peer_attachment.py +38 -20
  11. pulumi_alicloud/cen/transit_router_vpc_attachment.py +338 -119
  12. pulumi_alicloud/cen/transit_router_vpn_attachment.py +2 -2
  13. pulumi_alicloud/cr/chart_namespace.py +14 -6
  14. pulumi_alicloud/cr/endpoint_acl_policy.py +10 -2
  15. pulumi_alicloud/cr/namespace.py +10 -2
  16. pulumi_alicloud/cs/registry_enterprise_repo.py +4 -4
  17. pulumi_alicloud/cs/registry_enterprise_sync_rule.py +10 -10
  18. pulumi_alicloud/ddos/_inputs.py +24 -0
  19. pulumi_alicloud/ddos/bgp_ip.py +1 -1
  20. pulumi_alicloud/ddos/outputs.py +37 -0
  21. pulumi_alicloud/ddos/port.py +110 -40
  22. pulumi_alicloud/ecs/_inputs.py +28 -0
  23. pulumi_alicloud/ecs/outputs.py +20 -0
  24. pulumi_alicloud/emrv2/_inputs.py +20 -20
  25. pulumi_alicloud/emrv2/get_clusters.py +25 -4
  26. pulumi_alicloud/emrv2/outputs.py +24 -24
  27. pulumi_alicloud/ens/_inputs.py +137 -2
  28. pulumi_alicloud/ens/instance.py +428 -184
  29. pulumi_alicloud/ens/load_balancer.py +74 -25
  30. pulumi_alicloud/ens/outputs.py +141 -2
  31. pulumi_alicloud/expressconnect/physical_connection.py +321 -185
  32. pulumi_alicloud/fc/__init__.py +3 -0
  33. pulumi_alicloud/fc/_inputs.py +320 -8
  34. pulumi_alicloud/fc/outputs.py +321 -8
  35. pulumi_alicloud/fc/trigger.py +22 -24
  36. pulumi_alicloud/fc/v3_layer_version.py +511 -0
  37. pulumi_alicloud/fc/v3_provision_config.py +676 -0
  38. pulumi_alicloud/fc/v3_vpc_binding.py +283 -0
  39. pulumi_alicloud/ga/endpoint_group.py +68 -14
  40. pulumi_alicloud/ga/get_endpoint_group_ip_address_cidr_blocks.py +18 -3
  41. pulumi_alicloud/gpdb/__init__.py +2 -0
  42. pulumi_alicloud/gpdb/account.py +172 -83
  43. pulumi_alicloud/gpdb/db_resource_group.py +54 -9
  44. pulumi_alicloud/gpdb/hadoop_data_source.py +1135 -0
  45. pulumi_alicloud/gpdb/jdbc_data_source.py +643 -0
  46. pulumi_alicloud/hbr/_inputs.py +14 -14
  47. pulumi_alicloud/hbr/outputs.py +14 -14
  48. pulumi_alicloud/hbr/policy.py +18 -18
  49. pulumi_alicloud/hbr/policy_binding.py +203 -62
  50. pulumi_alicloud/mongodb/instance.py +94 -0
  51. pulumi_alicloud/nlb/_inputs.py +120 -64
  52. pulumi_alicloud/nlb/get_listeners.py +32 -2
  53. pulumi_alicloud/nlb/get_server_group_server_attachments.py +8 -2
  54. pulumi_alicloud/nlb/listener.py +315 -245
  55. pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +25 -25
  56. pulumi_alicloud/nlb/load_balancer.py +181 -212
  57. pulumi_alicloud/nlb/load_balancer_security_group_attachment.py +29 -39
  58. pulumi_alicloud/nlb/loadbalancer_common_bandwidth_package_attachment.py +22 -18
  59. pulumi_alicloud/nlb/outputs.py +122 -66
  60. pulumi_alicloud/nlb/security_policy.py +53 -25
  61. pulumi_alicloud/nlb/server_group.py +196 -133
  62. pulumi_alicloud/ocean/base_instance.py +498 -163
  63. pulumi_alicloud/pulumi-plugin.json +1 -1
  64. pulumi_alicloud/quotas/__init__.py +1 -0
  65. pulumi_alicloud/quotas/template_service.py +165 -0
  66. pulumi_alicloud/rds/rds_db_proxy.py +61 -0
  67. pulumi_alicloud/servicecatalog/__init__.py +4 -0
  68. pulumi_alicloud/servicecatalog/portfolio.py +31 -31
  69. pulumi_alicloud/servicecatalog/principal_portfolio_association.py +354 -0
  70. pulumi_alicloud/servicecatalog/product.py +383 -0
  71. pulumi_alicloud/servicecatalog/product_portfolio_association.py +222 -0
  72. pulumi_alicloud/servicecatalog/product_version.py +539 -0
  73. pulumi_alicloud/servicemesh/extension_provider.py +2 -2
  74. pulumi_alicloud/vpc/common_bandwith_package_attachment.py +2 -2
  75. pulumi_alicloud/vpc/get_route_tables.py +28 -5
  76. pulumi_alicloud/vpc/outputs.py +2 -2
  77. {pulumi_alicloud-3.62.0a1725945881.dist-info → pulumi_alicloud-3.62.1.dist-info}/METADATA +1 -1
  78. {pulumi_alicloud-3.62.0a1725945881.dist-info → pulumi_alicloud-3.62.1.dist-info}/RECORD +80 -70
  79. {pulumi_alicloud-3.62.0a1725945881.dist-info → pulumi_alicloud-3.62.1.dist-info}/WHEEL +1 -1
  80. {pulumi_alicloud-3.62.0a1725945881.dist-info → pulumi_alicloud-3.62.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,676 @@
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 copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['V3ProvisionConfigArgs', 'V3ProvisionConfig']
15
+
16
+ @pulumi.input_type
17
+ class V3ProvisionConfigArgs:
18
+ def __init__(__self__, *,
19
+ function_name: pulumi.Input[str],
20
+ always_allocate_cpu: Optional[pulumi.Input[bool]] = None,
21
+ always_allocate_gpu: Optional[pulumi.Input[bool]] = None,
22
+ qualifier: Optional[pulumi.Input[str]] = None,
23
+ scheduled_actions: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]] = None,
24
+ target: Optional[pulumi.Input[int]] = None,
25
+ target_tracking_policies: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]] = None):
26
+ """
27
+ The set of arguments for constructing a V3ProvisionConfig resource.
28
+ :param pulumi.Input[str] function_name: The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
29
+ :param pulumi.Input[bool] always_allocate_cpu: Whether the CPU is always allocated. The default value is true.
30
+ :param pulumi.Input[bool] always_allocate_gpu: Whether to always assign GPU to function instance
31
+ :param pulumi.Input[str] qualifier: The function alias or LATEST.
32
+ :param pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]] scheduled_actions: Timing policy configuration See `scheduled_actions` below.
33
+ :param pulumi.Input[int] target: Number of reserved target resources. The value range is [0,10000].
34
+ :param pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]] target_tracking_policies: Metric tracking scaling policy configuration See `target_tracking_policies` below.
35
+ """
36
+ pulumi.set(__self__, "function_name", function_name)
37
+ if always_allocate_cpu is not None:
38
+ pulumi.set(__self__, "always_allocate_cpu", always_allocate_cpu)
39
+ if always_allocate_gpu is not None:
40
+ pulumi.set(__self__, "always_allocate_gpu", always_allocate_gpu)
41
+ if qualifier is not None:
42
+ pulumi.set(__self__, "qualifier", qualifier)
43
+ if scheduled_actions is not None:
44
+ pulumi.set(__self__, "scheduled_actions", scheduled_actions)
45
+ if target is not None:
46
+ pulumi.set(__self__, "target", target)
47
+ if target_tracking_policies is not None:
48
+ pulumi.set(__self__, "target_tracking_policies", target_tracking_policies)
49
+
50
+ @property
51
+ @pulumi.getter(name="functionName")
52
+ def function_name(self) -> pulumi.Input[str]:
53
+ """
54
+ The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
55
+ """
56
+ return pulumi.get(self, "function_name")
57
+
58
+ @function_name.setter
59
+ def function_name(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "function_name", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="alwaysAllocateCpu")
64
+ def always_allocate_cpu(self) -> Optional[pulumi.Input[bool]]:
65
+ """
66
+ Whether the CPU is always allocated. The default value is true.
67
+ """
68
+ return pulumi.get(self, "always_allocate_cpu")
69
+
70
+ @always_allocate_cpu.setter
71
+ def always_allocate_cpu(self, value: Optional[pulumi.Input[bool]]):
72
+ pulumi.set(self, "always_allocate_cpu", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="alwaysAllocateGpu")
76
+ def always_allocate_gpu(self) -> Optional[pulumi.Input[bool]]:
77
+ """
78
+ Whether to always assign GPU to function instance
79
+ """
80
+ return pulumi.get(self, "always_allocate_gpu")
81
+
82
+ @always_allocate_gpu.setter
83
+ def always_allocate_gpu(self, value: Optional[pulumi.Input[bool]]):
84
+ pulumi.set(self, "always_allocate_gpu", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def qualifier(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ The function alias or LATEST.
91
+ """
92
+ return pulumi.get(self, "qualifier")
93
+
94
+ @qualifier.setter
95
+ def qualifier(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "qualifier", value)
97
+
98
+ @property
99
+ @pulumi.getter(name="scheduledActions")
100
+ def scheduled_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]]:
101
+ """
102
+ Timing policy configuration See `scheduled_actions` below.
103
+ """
104
+ return pulumi.get(self, "scheduled_actions")
105
+
106
+ @scheduled_actions.setter
107
+ def scheduled_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]]):
108
+ pulumi.set(self, "scheduled_actions", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def target(self) -> Optional[pulumi.Input[int]]:
113
+ """
114
+ Number of reserved target resources. The value range is [0,10000].
115
+ """
116
+ return pulumi.get(self, "target")
117
+
118
+ @target.setter
119
+ def target(self, value: Optional[pulumi.Input[int]]):
120
+ pulumi.set(self, "target", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="targetTrackingPolicies")
124
+ def target_tracking_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]]:
125
+ """
126
+ Metric tracking scaling policy configuration See `target_tracking_policies` below.
127
+ """
128
+ return pulumi.get(self, "target_tracking_policies")
129
+
130
+ @target_tracking_policies.setter
131
+ def target_tracking_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]]):
132
+ pulumi.set(self, "target_tracking_policies", value)
133
+
134
+
135
+ @pulumi.input_type
136
+ class _V3ProvisionConfigState:
137
+ def __init__(__self__, *,
138
+ always_allocate_cpu: Optional[pulumi.Input[bool]] = None,
139
+ always_allocate_gpu: Optional[pulumi.Input[bool]] = None,
140
+ function_name: Optional[pulumi.Input[str]] = None,
141
+ qualifier: Optional[pulumi.Input[str]] = None,
142
+ scheduled_actions: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]] = None,
143
+ target: Optional[pulumi.Input[int]] = None,
144
+ target_tracking_policies: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]] = None):
145
+ """
146
+ Input properties used for looking up and filtering V3ProvisionConfig resources.
147
+ :param pulumi.Input[bool] always_allocate_cpu: Whether the CPU is always allocated. The default value is true.
148
+ :param pulumi.Input[bool] always_allocate_gpu: Whether to always assign GPU to function instance
149
+ :param pulumi.Input[str] function_name: The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
150
+ :param pulumi.Input[str] qualifier: The function alias or LATEST.
151
+ :param pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]] scheduled_actions: Timing policy configuration See `scheduled_actions` below.
152
+ :param pulumi.Input[int] target: Number of reserved target resources. The value range is [0,10000].
153
+ :param pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]] target_tracking_policies: Metric tracking scaling policy configuration See `target_tracking_policies` below.
154
+ """
155
+ if always_allocate_cpu is not None:
156
+ pulumi.set(__self__, "always_allocate_cpu", always_allocate_cpu)
157
+ if always_allocate_gpu is not None:
158
+ pulumi.set(__self__, "always_allocate_gpu", always_allocate_gpu)
159
+ if function_name is not None:
160
+ pulumi.set(__self__, "function_name", function_name)
161
+ if qualifier is not None:
162
+ pulumi.set(__self__, "qualifier", qualifier)
163
+ if scheduled_actions is not None:
164
+ pulumi.set(__self__, "scheduled_actions", scheduled_actions)
165
+ if target is not None:
166
+ pulumi.set(__self__, "target", target)
167
+ if target_tracking_policies is not None:
168
+ pulumi.set(__self__, "target_tracking_policies", target_tracking_policies)
169
+
170
+ @property
171
+ @pulumi.getter(name="alwaysAllocateCpu")
172
+ def always_allocate_cpu(self) -> Optional[pulumi.Input[bool]]:
173
+ """
174
+ Whether the CPU is always allocated. The default value is true.
175
+ """
176
+ return pulumi.get(self, "always_allocate_cpu")
177
+
178
+ @always_allocate_cpu.setter
179
+ def always_allocate_cpu(self, value: Optional[pulumi.Input[bool]]):
180
+ pulumi.set(self, "always_allocate_cpu", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="alwaysAllocateGpu")
184
+ def always_allocate_gpu(self) -> Optional[pulumi.Input[bool]]:
185
+ """
186
+ Whether to always assign GPU to function instance
187
+ """
188
+ return pulumi.get(self, "always_allocate_gpu")
189
+
190
+ @always_allocate_gpu.setter
191
+ def always_allocate_gpu(self, value: Optional[pulumi.Input[bool]]):
192
+ pulumi.set(self, "always_allocate_gpu", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="functionName")
196
+ def function_name(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
199
+ """
200
+ return pulumi.get(self, "function_name")
201
+
202
+ @function_name.setter
203
+ def function_name(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "function_name", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def qualifier(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ The function alias or LATEST.
211
+ """
212
+ return pulumi.get(self, "qualifier")
213
+
214
+ @qualifier.setter
215
+ def qualifier(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "qualifier", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="scheduledActions")
220
+ def scheduled_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]]:
221
+ """
222
+ Timing policy configuration See `scheduled_actions` below.
223
+ """
224
+ return pulumi.get(self, "scheduled_actions")
225
+
226
+ @scheduled_actions.setter
227
+ def scheduled_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigScheduledActionArgs']]]]):
228
+ pulumi.set(self, "scheduled_actions", value)
229
+
230
+ @property
231
+ @pulumi.getter
232
+ def target(self) -> Optional[pulumi.Input[int]]:
233
+ """
234
+ Number of reserved target resources. The value range is [0,10000].
235
+ """
236
+ return pulumi.get(self, "target")
237
+
238
+ @target.setter
239
+ def target(self, value: Optional[pulumi.Input[int]]):
240
+ pulumi.set(self, "target", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="targetTrackingPolicies")
244
+ def target_tracking_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]]:
245
+ """
246
+ Metric tracking scaling policy configuration See `target_tracking_policies` below.
247
+ """
248
+ return pulumi.get(self, "target_tracking_policies")
249
+
250
+ @target_tracking_policies.setter
251
+ def target_tracking_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V3ProvisionConfigTargetTrackingPolicyArgs']]]]):
252
+ pulumi.set(self, "target_tracking_policies", value)
253
+
254
+
255
+ class V3ProvisionConfig(pulumi.CustomResource):
256
+ @overload
257
+ def __init__(__self__,
258
+ resource_name: str,
259
+ opts: Optional[pulumi.ResourceOptions] = None,
260
+ always_allocate_cpu: Optional[pulumi.Input[bool]] = None,
261
+ always_allocate_gpu: Optional[pulumi.Input[bool]] = None,
262
+ function_name: Optional[pulumi.Input[str]] = None,
263
+ qualifier: Optional[pulumi.Input[str]] = None,
264
+ scheduled_actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigScheduledActionArgs', 'V3ProvisionConfigScheduledActionArgsDict']]]]] = None,
265
+ target: Optional[pulumi.Input[int]] = None,
266
+ target_tracking_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigTargetTrackingPolicyArgs', 'V3ProvisionConfigTargetTrackingPolicyArgsDict']]]]] = None,
267
+ __props__=None):
268
+ """
269
+ Provides a FCV3 Provision Config resource.
270
+
271
+ Function Reservation Configuration.
272
+
273
+ For information about FCV3 Provision Config and how to use it, see [What is Provision Config](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-putprovisionconfig).
274
+
275
+ > **NOTE:** Available since v1.230.0.
276
+
277
+ ## Example Usage
278
+
279
+ Basic Usage
280
+
281
+ ```python
282
+ import pulumi
283
+ import pulumi_alicloud as alicloud
284
+ import pulumi_random as random
285
+ import pulumi_time as time
286
+
287
+ config = pulumi.Config()
288
+ name = config.get("name")
289
+ if name is None:
290
+ name = "terraform-example"
291
+ default = random.index.Integer("default",
292
+ min=10000,
293
+ max=99999)
294
+ default_project = alicloud.log.Project("default",
295
+ project_name=f"{name}-{default['result']}",
296
+ description=name)
297
+ default_store = alicloud.log.Store("default",
298
+ project_name=default_project.name,
299
+ logstore_name=f"{name}-{default['result']}",
300
+ shard_count=3,
301
+ auto_split=True,
302
+ max_split_shard_count=60,
303
+ append_meta=True)
304
+ wait10_minutes = time.index.Sleep("wait_10_minutes", create_duration=10m,
305
+ opts = pulumi.ResourceOptions(depends_on=[default_store]))
306
+ function = alicloud.fc.V3Function("function",
307
+ memory_size=512,
308
+ cpu=0.5,
309
+ handler="index.handler",
310
+ function_name=name,
311
+ runtime="python3.10",
312
+ disk_size=512,
313
+ code={
314
+ "zip_file": "UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=",
315
+ },
316
+ log_config={
317
+ "enable_instance_metrics": True,
318
+ "enable_request_metrics": True,
319
+ "project": default_project.project_name,
320
+ "logstore": default_store.logstore_name,
321
+ "log_begin_rule": "None",
322
+ },
323
+ opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))
324
+ default_v3_provision_config = alicloud.fc.V3ProvisionConfig("default",
325
+ target=1,
326
+ target_tracking_policies=[
327
+ {
328
+ "name": "t1",
329
+ "start_time": "2030-10-10T10:10:10Z",
330
+ "end_time": "2035-10-10T10:10:10Z",
331
+ "min_capacity": 0,
332
+ "max_capacity": 1,
333
+ "metric_target": 1,
334
+ "metric_type": "ProvisionedConcurrencyUtilization",
335
+ },
336
+ {
337
+ "metric_target": 1,
338
+ "metric_type": "ProvisionedConcurrencyUtilization",
339
+ "name": "t2",
340
+ "start_time": "2030-10-10T10:10:10Z",
341
+ "end_time": "2035-10-10T10:10:10Z",
342
+ "min_capacity": 0,
343
+ "max_capacity": 1,
344
+ },
345
+ {
346
+ "metric_type": "ProvisionedConcurrencyUtilization",
347
+ "time_zone": "Asia/Shanghai",
348
+ "name": "t3",
349
+ "start_time": "2030-10-10T10:10:10",
350
+ "end_time": "2035-10-10T10:10:10",
351
+ "min_capacity": 0,
352
+ "max_capacity": 1,
353
+ "metric_target": 1,
354
+ },
355
+ ],
356
+ scheduled_actions=[
357
+ {
358
+ "target": 0,
359
+ "name": "s1",
360
+ "start_time": "2030-10-10T10:10:10Z",
361
+ "end_time": "2035-10-10T10:10:10Z",
362
+ "schedule_expression": "cron(0 0 4 * * *)",
363
+ },
364
+ {
365
+ "name": "s2",
366
+ "start_time": "2030-10-10T10:10:10Z",
367
+ "end_time": "2035-10-10T10:10:10Z",
368
+ "schedule_expression": "cron(0 0 6 * * *)",
369
+ "target": 1,
370
+ },
371
+ {
372
+ "start_time": "2030-10-10T10:10:10",
373
+ "end_time": "2035-10-10T10:10:10",
374
+ "schedule_expression": "cron(0 0 7 * * *)",
375
+ "target": 0,
376
+ "time_zone": "Asia/Shanghai",
377
+ "name": "s3",
378
+ },
379
+ ],
380
+ qualifier="LATEST",
381
+ always_allocate_gpu=True,
382
+ function_name=function.function_name,
383
+ always_allocate_cpu=True)
384
+ ```
385
+
386
+ ## Import
387
+
388
+ FCV3 Provision Config can be imported using the id, e.g.
389
+
390
+ ```sh
391
+ $ pulumi import alicloud:fc/v3ProvisionConfig:V3ProvisionConfig example <id>
392
+ ```
393
+
394
+ :param str resource_name: The name of the resource.
395
+ :param pulumi.ResourceOptions opts: Options for the resource.
396
+ :param pulumi.Input[bool] always_allocate_cpu: Whether the CPU is always allocated. The default value is true.
397
+ :param pulumi.Input[bool] always_allocate_gpu: Whether to always assign GPU to function instance
398
+ :param pulumi.Input[str] function_name: The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
399
+ :param pulumi.Input[str] qualifier: The function alias or LATEST.
400
+ :param pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigScheduledActionArgs', 'V3ProvisionConfigScheduledActionArgsDict']]]] scheduled_actions: Timing policy configuration See `scheduled_actions` below.
401
+ :param pulumi.Input[int] target: Number of reserved target resources. The value range is [0,10000].
402
+ :param pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigTargetTrackingPolicyArgs', 'V3ProvisionConfigTargetTrackingPolicyArgsDict']]]] target_tracking_policies: Metric tracking scaling policy configuration See `target_tracking_policies` below.
403
+ """
404
+ ...
405
+ @overload
406
+ def __init__(__self__,
407
+ resource_name: str,
408
+ args: V3ProvisionConfigArgs,
409
+ opts: Optional[pulumi.ResourceOptions] = None):
410
+ """
411
+ Provides a FCV3 Provision Config resource.
412
+
413
+ Function Reservation Configuration.
414
+
415
+ For information about FCV3 Provision Config and how to use it, see [What is Provision Config](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-putprovisionconfig).
416
+
417
+ > **NOTE:** Available since v1.230.0.
418
+
419
+ ## Example Usage
420
+
421
+ Basic Usage
422
+
423
+ ```python
424
+ import pulumi
425
+ import pulumi_alicloud as alicloud
426
+ import pulumi_random as random
427
+ import pulumi_time as time
428
+
429
+ config = pulumi.Config()
430
+ name = config.get("name")
431
+ if name is None:
432
+ name = "terraform-example"
433
+ default = random.index.Integer("default",
434
+ min=10000,
435
+ max=99999)
436
+ default_project = alicloud.log.Project("default",
437
+ project_name=f"{name}-{default['result']}",
438
+ description=name)
439
+ default_store = alicloud.log.Store("default",
440
+ project_name=default_project.name,
441
+ logstore_name=f"{name}-{default['result']}",
442
+ shard_count=3,
443
+ auto_split=True,
444
+ max_split_shard_count=60,
445
+ append_meta=True)
446
+ wait10_minutes = time.index.Sleep("wait_10_minutes", create_duration=10m,
447
+ opts = pulumi.ResourceOptions(depends_on=[default_store]))
448
+ function = alicloud.fc.V3Function("function",
449
+ memory_size=512,
450
+ cpu=0.5,
451
+ handler="index.handler",
452
+ function_name=name,
453
+ runtime="python3.10",
454
+ disk_size=512,
455
+ code={
456
+ "zip_file": "UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=",
457
+ },
458
+ log_config={
459
+ "enable_instance_metrics": True,
460
+ "enable_request_metrics": True,
461
+ "project": default_project.project_name,
462
+ "logstore": default_store.logstore_name,
463
+ "log_begin_rule": "None",
464
+ },
465
+ opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))
466
+ default_v3_provision_config = alicloud.fc.V3ProvisionConfig("default",
467
+ target=1,
468
+ target_tracking_policies=[
469
+ {
470
+ "name": "t1",
471
+ "start_time": "2030-10-10T10:10:10Z",
472
+ "end_time": "2035-10-10T10:10:10Z",
473
+ "min_capacity": 0,
474
+ "max_capacity": 1,
475
+ "metric_target": 1,
476
+ "metric_type": "ProvisionedConcurrencyUtilization",
477
+ },
478
+ {
479
+ "metric_target": 1,
480
+ "metric_type": "ProvisionedConcurrencyUtilization",
481
+ "name": "t2",
482
+ "start_time": "2030-10-10T10:10:10Z",
483
+ "end_time": "2035-10-10T10:10:10Z",
484
+ "min_capacity": 0,
485
+ "max_capacity": 1,
486
+ },
487
+ {
488
+ "metric_type": "ProvisionedConcurrencyUtilization",
489
+ "time_zone": "Asia/Shanghai",
490
+ "name": "t3",
491
+ "start_time": "2030-10-10T10:10:10",
492
+ "end_time": "2035-10-10T10:10:10",
493
+ "min_capacity": 0,
494
+ "max_capacity": 1,
495
+ "metric_target": 1,
496
+ },
497
+ ],
498
+ scheduled_actions=[
499
+ {
500
+ "target": 0,
501
+ "name": "s1",
502
+ "start_time": "2030-10-10T10:10:10Z",
503
+ "end_time": "2035-10-10T10:10:10Z",
504
+ "schedule_expression": "cron(0 0 4 * * *)",
505
+ },
506
+ {
507
+ "name": "s2",
508
+ "start_time": "2030-10-10T10:10:10Z",
509
+ "end_time": "2035-10-10T10:10:10Z",
510
+ "schedule_expression": "cron(0 0 6 * * *)",
511
+ "target": 1,
512
+ },
513
+ {
514
+ "start_time": "2030-10-10T10:10:10",
515
+ "end_time": "2035-10-10T10:10:10",
516
+ "schedule_expression": "cron(0 0 7 * * *)",
517
+ "target": 0,
518
+ "time_zone": "Asia/Shanghai",
519
+ "name": "s3",
520
+ },
521
+ ],
522
+ qualifier="LATEST",
523
+ always_allocate_gpu=True,
524
+ function_name=function.function_name,
525
+ always_allocate_cpu=True)
526
+ ```
527
+
528
+ ## Import
529
+
530
+ FCV3 Provision Config can be imported using the id, e.g.
531
+
532
+ ```sh
533
+ $ pulumi import alicloud:fc/v3ProvisionConfig:V3ProvisionConfig example <id>
534
+ ```
535
+
536
+ :param str resource_name: The name of the resource.
537
+ :param V3ProvisionConfigArgs args: The arguments to use to populate this resource's properties.
538
+ :param pulumi.ResourceOptions opts: Options for the resource.
539
+ """
540
+ ...
541
+ def __init__(__self__, resource_name: str, *args, **kwargs):
542
+ resource_args, opts = _utilities.get_resource_args_opts(V3ProvisionConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
543
+ if resource_args is not None:
544
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
545
+ else:
546
+ __self__._internal_init(resource_name, *args, **kwargs)
547
+
548
+ def _internal_init(__self__,
549
+ resource_name: str,
550
+ opts: Optional[pulumi.ResourceOptions] = None,
551
+ always_allocate_cpu: Optional[pulumi.Input[bool]] = None,
552
+ always_allocate_gpu: Optional[pulumi.Input[bool]] = None,
553
+ function_name: Optional[pulumi.Input[str]] = None,
554
+ qualifier: Optional[pulumi.Input[str]] = None,
555
+ scheduled_actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigScheduledActionArgs', 'V3ProvisionConfigScheduledActionArgsDict']]]]] = None,
556
+ target: Optional[pulumi.Input[int]] = None,
557
+ target_tracking_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigTargetTrackingPolicyArgs', 'V3ProvisionConfigTargetTrackingPolicyArgsDict']]]]] = None,
558
+ __props__=None):
559
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
560
+ if not isinstance(opts, pulumi.ResourceOptions):
561
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
562
+ if opts.id is None:
563
+ if __props__ is not None:
564
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
565
+ __props__ = V3ProvisionConfigArgs.__new__(V3ProvisionConfigArgs)
566
+
567
+ __props__.__dict__["always_allocate_cpu"] = always_allocate_cpu
568
+ __props__.__dict__["always_allocate_gpu"] = always_allocate_gpu
569
+ if function_name is None and not opts.urn:
570
+ raise TypeError("Missing required property 'function_name'")
571
+ __props__.__dict__["function_name"] = function_name
572
+ __props__.__dict__["qualifier"] = qualifier
573
+ __props__.__dict__["scheduled_actions"] = scheduled_actions
574
+ __props__.__dict__["target"] = target
575
+ __props__.__dict__["target_tracking_policies"] = target_tracking_policies
576
+ super(V3ProvisionConfig, __self__).__init__(
577
+ 'alicloud:fc/v3ProvisionConfig:V3ProvisionConfig',
578
+ resource_name,
579
+ __props__,
580
+ opts)
581
+
582
+ @staticmethod
583
+ def get(resource_name: str,
584
+ id: pulumi.Input[str],
585
+ opts: Optional[pulumi.ResourceOptions] = None,
586
+ always_allocate_cpu: Optional[pulumi.Input[bool]] = None,
587
+ always_allocate_gpu: Optional[pulumi.Input[bool]] = None,
588
+ function_name: Optional[pulumi.Input[str]] = None,
589
+ qualifier: Optional[pulumi.Input[str]] = None,
590
+ scheduled_actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigScheduledActionArgs', 'V3ProvisionConfigScheduledActionArgsDict']]]]] = None,
591
+ target: Optional[pulumi.Input[int]] = None,
592
+ target_tracking_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigTargetTrackingPolicyArgs', 'V3ProvisionConfigTargetTrackingPolicyArgsDict']]]]] = None) -> 'V3ProvisionConfig':
593
+ """
594
+ Get an existing V3ProvisionConfig resource's state with the given name, id, and optional extra
595
+ properties used to qualify the lookup.
596
+
597
+ :param str resource_name: The unique name of the resulting resource.
598
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
599
+ :param pulumi.ResourceOptions opts: Options for the resource.
600
+ :param pulumi.Input[bool] always_allocate_cpu: Whether the CPU is always allocated. The default value is true.
601
+ :param pulumi.Input[bool] always_allocate_gpu: Whether to always assign GPU to function instance
602
+ :param pulumi.Input[str] function_name: The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
603
+ :param pulumi.Input[str] qualifier: The function alias or LATEST.
604
+ :param pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigScheduledActionArgs', 'V3ProvisionConfigScheduledActionArgsDict']]]] scheduled_actions: Timing policy configuration See `scheduled_actions` below.
605
+ :param pulumi.Input[int] target: Number of reserved target resources. The value range is [0,10000].
606
+ :param pulumi.Input[Sequence[pulumi.Input[Union['V3ProvisionConfigTargetTrackingPolicyArgs', 'V3ProvisionConfigTargetTrackingPolicyArgsDict']]]] target_tracking_policies: Metric tracking scaling policy configuration See `target_tracking_policies` below.
607
+ """
608
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
609
+
610
+ __props__ = _V3ProvisionConfigState.__new__(_V3ProvisionConfigState)
611
+
612
+ __props__.__dict__["always_allocate_cpu"] = always_allocate_cpu
613
+ __props__.__dict__["always_allocate_gpu"] = always_allocate_gpu
614
+ __props__.__dict__["function_name"] = function_name
615
+ __props__.__dict__["qualifier"] = qualifier
616
+ __props__.__dict__["scheduled_actions"] = scheduled_actions
617
+ __props__.__dict__["target"] = target
618
+ __props__.__dict__["target_tracking_policies"] = target_tracking_policies
619
+ return V3ProvisionConfig(resource_name, opts=opts, __props__=__props__)
620
+
621
+ @property
622
+ @pulumi.getter(name="alwaysAllocateCpu")
623
+ def always_allocate_cpu(self) -> pulumi.Output[Optional[bool]]:
624
+ """
625
+ Whether the CPU is always allocated. The default value is true.
626
+ """
627
+ return pulumi.get(self, "always_allocate_cpu")
628
+
629
+ @property
630
+ @pulumi.getter(name="alwaysAllocateGpu")
631
+ def always_allocate_gpu(self) -> pulumi.Output[Optional[bool]]:
632
+ """
633
+ Whether to always assign GPU to function instance
634
+ """
635
+ return pulumi.get(self, "always_allocate_gpu")
636
+
637
+ @property
638
+ @pulumi.getter(name="functionName")
639
+ def function_name(self) -> pulumi.Output[str]:
640
+ """
641
+ The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
642
+ """
643
+ return pulumi.get(self, "function_name")
644
+
645
+ @property
646
+ @pulumi.getter
647
+ def qualifier(self) -> pulumi.Output[Optional[str]]:
648
+ """
649
+ The function alias or LATEST.
650
+ """
651
+ return pulumi.get(self, "qualifier")
652
+
653
+ @property
654
+ @pulumi.getter(name="scheduledActions")
655
+ def scheduled_actions(self) -> pulumi.Output[Optional[Sequence['outputs.V3ProvisionConfigScheduledAction']]]:
656
+ """
657
+ Timing policy configuration See `scheduled_actions` below.
658
+ """
659
+ return pulumi.get(self, "scheduled_actions")
660
+
661
+ @property
662
+ @pulumi.getter
663
+ def target(self) -> pulumi.Output[Optional[int]]:
664
+ """
665
+ Number of reserved target resources. The value range is [0,10000].
666
+ """
667
+ return pulumi.get(self, "target")
668
+
669
+ @property
670
+ @pulumi.getter(name="targetTrackingPolicies")
671
+ def target_tracking_policies(self) -> pulumi.Output[Optional[Sequence['outputs.V3ProvisionConfigTargetTrackingPolicy']]]:
672
+ """
673
+ Metric tracking scaling policy configuration See `target_tracking_policies` below.
674
+ """
675
+ return pulumi.get(self, "target_tracking_policies")
676
+