pulumi-alicloud 3.58.0a1719292463__py3-none-any.whl → 3.58.0a1719465542__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 (29) hide show
  1. pulumi_alicloud/_inputs.py +9 -9
  2. pulumi_alicloud/cddc/dedicated_host_account.py +4 -0
  3. pulumi_alicloud/cddc/dedicated_host_group.py +4 -0
  4. pulumi_alicloud/config/outputs.py +6 -6
  5. pulumi_alicloud/cs/kubernetes_addon.py +2 -2
  6. pulumi_alicloud/cs/node_pool.py +7 -7
  7. pulumi_alicloud/ddos/bgp_ip.py +53 -2
  8. pulumi_alicloud/eci/_inputs.py +12 -0
  9. pulumi_alicloud/eci/outputs.py +8 -0
  10. pulumi_alicloud/ecs/ecs_disk.py +7 -7
  11. pulumi_alicloud/ecs/eip.py +1 -1
  12. pulumi_alicloud/ecs/eip_address.py +495 -299
  13. pulumi_alicloud/ecs/eip_association.py +205 -58
  14. pulumi_alicloud/ecs/eip_segment_address.py +311 -133
  15. pulumi_alicloud/ecs/instance.py +20 -6
  16. pulumi_alicloud/ess/_inputs.py +88 -0
  17. pulumi_alicloud/ess/alarm.py +132 -38
  18. pulumi_alicloud/ess/outputs.py +87 -0
  19. pulumi_alicloud/ess/scaling_group.py +148 -7
  20. pulumi_alicloud/log/oss_shipper.py +4 -0
  21. pulumi_alicloud/mongodb/sharding_instance.py +54 -7
  22. pulumi_alicloud/pulumi-plugin.json +1 -1
  23. pulumi_alicloud/rds/instance.py +21 -0
  24. pulumi_alicloud/vpc/common_bandwith_package.py +197 -120
  25. pulumi_alicloud/vpc/common_bandwith_package_attachment.py +58 -30
  26. {pulumi_alicloud-3.58.0a1719292463.dist-info → pulumi_alicloud-3.58.0a1719465542.dist-info}/METADATA +1 -1
  27. {pulumi_alicloud-3.58.0a1719292463.dist-info → pulumi_alicloud-3.58.0a1719465542.dist-info}/RECORD +29 -29
  28. {pulumi_alicloud-3.58.0a1719292463.dist-info → pulumi_alicloud-3.58.0a1719465542.dist-info}/WHEEL +1 -1
  29. {pulumi_alicloud-3.58.0a1719292463.dist-info → pulumi_alicloud-3.58.0a1719465542.dist-info}/top_level.txt +0 -0
@@ -2734,6 +2734,12 @@ class Instance(pulumi.CustomResource):
2734
2734
  name = config.get("name")
2735
2735
  if name is None:
2736
2736
  name = "terraform-example"
2737
+ instance_type = config.get("instanceType")
2738
+ if instance_type is None:
2739
+ instance_type = "ecs.n4.large"
2740
+ image_id = config.get("imageId")
2741
+ if image_id is None:
2742
+ image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
2737
2743
  # Create a new ECS instance for VPC
2738
2744
  vpc = alicloud.vpc.Network("vpc",
2739
2745
  vpc_name=name,
@@ -2748,7 +2754,8 @@ class Instance(pulumi.CustomResource):
2748
2754
  pending_window_in_days=7,
2749
2755
  status="Enabled")
2750
2756
  default = alicloud.get_zones(available_disk_category="cloud_efficiency",
2751
- available_resource_creation="VSwitch")
2757
+ available_resource_creation="VSwitch",
2758
+ available_instance_type=instance_type)
2752
2759
  vswitch = alicloud.vpc.Switch("vswitch",
2753
2760
  vpc_id=vpc.id,
2754
2761
  cidr_block="172.16.0.0/24",
@@ -2757,11 +2764,11 @@ class Instance(pulumi.CustomResource):
2757
2764
  instance = alicloud.ecs.Instance("instance",
2758
2765
  availability_zone=default.zones[0].id,
2759
2766
  security_groups=[__item.id for __item in [group]],
2760
- instance_type="ecs.n4.large",
2767
+ instance_type=instance_type,
2761
2768
  system_disk_category="cloud_efficiency",
2762
2769
  system_disk_name=name,
2763
2770
  system_disk_description="test_foo_system_disk_description",
2764
- image_id="ubuntu_18_04_64_20G_alibase_20190624.vhd",
2771
+ image_id=image_id,
2765
2772
  instance_name=name,
2766
2773
  vswitch_id=vswitch.id,
2767
2774
  internet_max_bandwidth_out=10,
@@ -2938,6 +2945,12 @@ class Instance(pulumi.CustomResource):
2938
2945
  name = config.get("name")
2939
2946
  if name is None:
2940
2947
  name = "terraform-example"
2948
+ instance_type = config.get("instanceType")
2949
+ if instance_type is None:
2950
+ instance_type = "ecs.n4.large"
2951
+ image_id = config.get("imageId")
2952
+ if image_id is None:
2953
+ image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
2941
2954
  # Create a new ECS instance for VPC
2942
2955
  vpc = alicloud.vpc.Network("vpc",
2943
2956
  vpc_name=name,
@@ -2952,7 +2965,8 @@ class Instance(pulumi.CustomResource):
2952
2965
  pending_window_in_days=7,
2953
2966
  status="Enabled")
2954
2967
  default = alicloud.get_zones(available_disk_category="cloud_efficiency",
2955
- available_resource_creation="VSwitch")
2968
+ available_resource_creation="VSwitch",
2969
+ available_instance_type=instance_type)
2956
2970
  vswitch = alicloud.vpc.Switch("vswitch",
2957
2971
  vpc_id=vpc.id,
2958
2972
  cidr_block="172.16.0.0/24",
@@ -2961,11 +2975,11 @@ class Instance(pulumi.CustomResource):
2961
2975
  instance = alicloud.ecs.Instance("instance",
2962
2976
  availability_zone=default.zones[0].id,
2963
2977
  security_groups=[__item.id for __item in [group]],
2964
- instance_type="ecs.n4.large",
2978
+ instance_type=instance_type,
2965
2979
  system_disk_category="cloud_efficiency",
2966
2980
  system_disk_name=name,
2967
2981
  system_disk_description="test_foo_system_disk_description",
2968
- image_id="ubuntu_18_04_64_20G_alibase_20190624.vhd",
2982
+ image_id=image_id,
2969
2983
  instance_name=name,
2970
2984
  vswitch_id=vswitch.id,
2971
2985
  internet_max_bandwidth_out=10,
@@ -10,6 +10,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from .. import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'AlarmExpressionArgs',
13
14
  'EciScalingConfigurationAcrRegistryInfoArgs',
14
15
  'EciScalingConfigurationContainerArgs',
15
16
  'EciScalingConfigurationContainerEnvironmentVarArgs',
@@ -35,6 +36,93 @@ __all__ = [
35
36
  'ScalingRuleStepAdjustmentArgs',
36
37
  ]
37
38
 
39
+ @pulumi.input_type
40
+ class AlarmExpressionArgs:
41
+ def __init__(__self__, *,
42
+ comparison_operator: Optional[pulumi.Input[str]] = None,
43
+ metric_name: Optional[pulumi.Input[str]] = None,
44
+ period: Optional[pulumi.Input[int]] = None,
45
+ statistics: Optional[pulumi.Input[str]] = None,
46
+ threshold: Optional[pulumi.Input[float]] = None):
47
+ """
48
+ :param pulumi.Input[str] comparison_operator: The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
49
+ :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
50
+ :param pulumi.Input[int] period: The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
51
+ :param pulumi.Input[str] statistics: The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
52
+ :param pulumi.Input[float] threshold: The value against which the specified statistics is compared.
53
+ """
54
+ if comparison_operator is not None:
55
+ pulumi.set(__self__, "comparison_operator", comparison_operator)
56
+ if metric_name is not None:
57
+ pulumi.set(__self__, "metric_name", metric_name)
58
+ if period is not None:
59
+ pulumi.set(__self__, "period", period)
60
+ if statistics is not None:
61
+ pulumi.set(__self__, "statistics", statistics)
62
+ if threshold is not None:
63
+ pulumi.set(__self__, "threshold", threshold)
64
+
65
+ @property
66
+ @pulumi.getter(name="comparisonOperator")
67
+ def comparison_operator(self) -> Optional[pulumi.Input[str]]:
68
+ """
69
+ The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
70
+ """
71
+ return pulumi.get(self, "comparison_operator")
72
+
73
+ @comparison_operator.setter
74
+ def comparison_operator(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "comparison_operator", value)
76
+
77
+ @property
78
+ @pulumi.getter(name="metricName")
79
+ def metric_name(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The name for the alarm's associated metric. See `dimensions` below for details.
82
+ """
83
+ return pulumi.get(self, "metric_name")
84
+
85
+ @metric_name.setter
86
+ def metric_name(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "metric_name", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def period(self) -> Optional[pulumi.Input[int]]:
92
+ """
93
+ The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
94
+ """
95
+ return pulumi.get(self, "period")
96
+
97
+ @period.setter
98
+ def period(self, value: Optional[pulumi.Input[int]]):
99
+ pulumi.set(self, "period", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def statistics(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
106
+ """
107
+ return pulumi.get(self, "statistics")
108
+
109
+ @statistics.setter
110
+ def statistics(self, value: Optional[pulumi.Input[str]]):
111
+ pulumi.set(self, "statistics", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def threshold(self) -> Optional[pulumi.Input[float]]:
116
+ """
117
+ The value against which the specified statistics is compared.
118
+ """
119
+ return pulumi.get(self, "threshold")
120
+
121
+ @threshold.setter
122
+ def threshold(self, value: Optional[pulumi.Input[float]]):
123
+ pulumi.set(self, "threshold", value)
124
+
125
+
38
126
  @pulumi.input_type
39
127
  class EciScalingConfigurationAcrRegistryInfoArgs:
40
128
  def __init__(__self__, *,
@@ -8,6 +8,8 @@ import pulumi
8
8
  import pulumi.runtime
9
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
11
13
 
12
14
  __all__ = ['AlarmArgs', 'Alarm']
13
15
 
@@ -15,40 +17,42 @@ __all__ = ['AlarmArgs', 'Alarm']
15
17
  class AlarmArgs:
16
18
  def __init__(__self__, *,
17
19
  alarm_actions: pulumi.Input[Sequence[pulumi.Input[str]]],
18
- metric_name: pulumi.Input[str],
19
20
  scaling_group_id: pulumi.Input[str],
20
- threshold: pulumi.Input[str],
21
21
  cloud_monitor_group_id: Optional[pulumi.Input[int]] = None,
22
22
  comparison_operator: Optional[pulumi.Input[str]] = None,
23
23
  description: Optional[pulumi.Input[str]] = None,
24
24
  dimensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
25
25
  enable: Optional[pulumi.Input[bool]] = None,
26
26
  evaluation_count: Optional[pulumi.Input[int]] = None,
27
+ expressions: Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]] = None,
28
+ expressions_logic_operator: Optional[pulumi.Input[str]] = None,
29
+ metric_name: Optional[pulumi.Input[str]] = None,
27
30
  metric_type: Optional[pulumi.Input[str]] = None,
28
31
  name: Optional[pulumi.Input[str]] = None,
29
32
  period: Optional[pulumi.Input[int]] = None,
30
- statistics: Optional[pulumi.Input[str]] = None):
33
+ statistics: Optional[pulumi.Input[str]] = None,
34
+ threshold: Optional[pulumi.Input[str]] = None):
31
35
  """
32
36
  The set of arguments for constructing a Alarm resource.
33
37
  :param pulumi.Input[Sequence[pulumi.Input[str]]] alarm_actions: The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
34
- :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
35
38
  :param pulumi.Input[str] scaling_group_id: The scaling group associated with this alarm, the 'ForceNew' attribute is available in 1.56.0+.
36
- :param pulumi.Input[str] threshold: The value against which the specified statistics is compared.
37
39
  :param pulumi.Input[int] cloud_monitor_group_id: Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
38
40
  :param pulumi.Input[str] comparison_operator: The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
39
41
  :param pulumi.Input[str] description: The description for the alarm.
40
42
  :param pulumi.Input[Mapping[str, Any]] dimensions: The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scaling_group" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
41
43
  :param pulumi.Input[bool] enable: Whether to enable specific ess alarm. Default to true.
42
44
  :param pulumi.Input[int] evaluation_count: The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
45
+ :param pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]] expressions: Support multi alert rule. See `expressions` below for details.
46
+ :param pulumi.Input[str] expressions_logic_operator: The relationship between the trigger conditions in the multi-metric alert rule.
47
+ :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
43
48
  :param pulumi.Input[str] metric_type: The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
44
49
  :param pulumi.Input[str] name: The name for ess alarm.
45
50
  :param pulumi.Input[int] period: The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
46
51
  :param pulumi.Input[str] statistics: The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
52
+ :param pulumi.Input[str] threshold: The value against which the specified statistics is compared.
47
53
  """
48
54
  pulumi.set(__self__, "alarm_actions", alarm_actions)
49
- pulumi.set(__self__, "metric_name", metric_name)
50
55
  pulumi.set(__self__, "scaling_group_id", scaling_group_id)
51
- pulumi.set(__self__, "threshold", threshold)
52
56
  if cloud_monitor_group_id is not None:
53
57
  pulumi.set(__self__, "cloud_monitor_group_id", cloud_monitor_group_id)
54
58
  if comparison_operator is not None:
@@ -61,6 +65,12 @@ class AlarmArgs:
61
65
  pulumi.set(__self__, "enable", enable)
62
66
  if evaluation_count is not None:
63
67
  pulumi.set(__self__, "evaluation_count", evaluation_count)
68
+ if expressions is not None:
69
+ pulumi.set(__self__, "expressions", expressions)
70
+ if expressions_logic_operator is not None:
71
+ pulumi.set(__self__, "expressions_logic_operator", expressions_logic_operator)
72
+ if metric_name is not None:
73
+ pulumi.set(__self__, "metric_name", metric_name)
64
74
  if metric_type is not None:
65
75
  pulumi.set(__self__, "metric_type", metric_type)
66
76
  if name is not None:
@@ -69,6 +79,8 @@ class AlarmArgs:
69
79
  pulumi.set(__self__, "period", period)
70
80
  if statistics is not None:
71
81
  pulumi.set(__self__, "statistics", statistics)
82
+ if threshold is not None:
83
+ pulumi.set(__self__, "threshold", threshold)
72
84
 
73
85
  @property
74
86
  @pulumi.getter(name="alarmActions")
@@ -82,18 +94,6 @@ class AlarmArgs:
82
94
  def alarm_actions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
83
95
  pulumi.set(self, "alarm_actions", value)
84
96
 
85
- @property
86
- @pulumi.getter(name="metricName")
87
- def metric_name(self) -> pulumi.Input[str]:
88
- """
89
- The name for the alarm's associated metric. See `dimensions` below for details.
90
- """
91
- return pulumi.get(self, "metric_name")
92
-
93
- @metric_name.setter
94
- def metric_name(self, value: pulumi.Input[str]):
95
- pulumi.set(self, "metric_name", value)
96
-
97
97
  @property
98
98
  @pulumi.getter(name="scalingGroupId")
99
99
  def scaling_group_id(self) -> pulumi.Input[str]:
@@ -106,18 +106,6 @@ class AlarmArgs:
106
106
  def scaling_group_id(self, value: pulumi.Input[str]):
107
107
  pulumi.set(self, "scaling_group_id", value)
108
108
 
109
- @property
110
- @pulumi.getter
111
- def threshold(self) -> pulumi.Input[str]:
112
- """
113
- The value against which the specified statistics is compared.
114
- """
115
- return pulumi.get(self, "threshold")
116
-
117
- @threshold.setter
118
- def threshold(self, value: pulumi.Input[str]):
119
- pulumi.set(self, "threshold", value)
120
-
121
109
  @property
122
110
  @pulumi.getter(name="cloudMonitorGroupId")
123
111
  def cloud_monitor_group_id(self) -> Optional[pulumi.Input[int]]:
@@ -190,6 +178,42 @@ class AlarmArgs:
190
178
  def evaluation_count(self, value: Optional[pulumi.Input[int]]):
191
179
  pulumi.set(self, "evaluation_count", value)
192
180
 
181
+ @property
182
+ @pulumi.getter
183
+ def expressions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]]:
184
+ """
185
+ Support multi alert rule. See `expressions` below for details.
186
+ """
187
+ return pulumi.get(self, "expressions")
188
+
189
+ @expressions.setter
190
+ def expressions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]]):
191
+ pulumi.set(self, "expressions", value)
192
+
193
+ @property
194
+ @pulumi.getter(name="expressionsLogicOperator")
195
+ def expressions_logic_operator(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ The relationship between the trigger conditions in the multi-metric alert rule.
198
+ """
199
+ return pulumi.get(self, "expressions_logic_operator")
200
+
201
+ @expressions_logic_operator.setter
202
+ def expressions_logic_operator(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "expressions_logic_operator", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="metricName")
207
+ def metric_name(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ The name for the alarm's associated metric. See `dimensions` below for details.
210
+ """
211
+ return pulumi.get(self, "metric_name")
212
+
213
+ @metric_name.setter
214
+ def metric_name(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "metric_name", value)
216
+
193
217
  @property
194
218
  @pulumi.getter(name="metricType")
195
219
  def metric_type(self) -> Optional[pulumi.Input[str]]:
@@ -238,6 +262,18 @@ class AlarmArgs:
238
262
  def statistics(self, value: Optional[pulumi.Input[str]]):
239
263
  pulumi.set(self, "statistics", value)
240
264
 
265
+ @property
266
+ @pulumi.getter
267
+ def threshold(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ The value against which the specified statistics is compared.
270
+ """
271
+ return pulumi.get(self, "threshold")
272
+
273
+ @threshold.setter
274
+ def threshold(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "threshold", value)
276
+
241
277
 
242
278
  @pulumi.input_type
243
279
  class _AlarmState:
@@ -249,6 +285,8 @@ class _AlarmState:
249
285
  dimensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
250
286
  enable: Optional[pulumi.Input[bool]] = None,
251
287
  evaluation_count: Optional[pulumi.Input[int]] = None,
288
+ expressions: Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]] = None,
289
+ expressions_logic_operator: Optional[pulumi.Input[str]] = None,
252
290
  metric_name: Optional[pulumi.Input[str]] = None,
253
291
  metric_type: Optional[pulumi.Input[str]] = None,
254
292
  name: Optional[pulumi.Input[str]] = None,
@@ -266,6 +304,8 @@ class _AlarmState:
266
304
  :param pulumi.Input[Mapping[str, Any]] dimensions: The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scaling_group" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
267
305
  :param pulumi.Input[bool] enable: Whether to enable specific ess alarm. Default to true.
268
306
  :param pulumi.Input[int] evaluation_count: The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
307
+ :param pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]] expressions: Support multi alert rule. See `expressions` below for details.
308
+ :param pulumi.Input[str] expressions_logic_operator: The relationship between the trigger conditions in the multi-metric alert rule.
269
309
  :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
270
310
  :param pulumi.Input[str] metric_type: The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
271
311
  :param pulumi.Input[str] name: The name for ess alarm.
@@ -292,6 +332,10 @@ class _AlarmState:
292
332
  pulumi.set(__self__, "enable", enable)
293
333
  if evaluation_count is not None:
294
334
  pulumi.set(__self__, "evaluation_count", evaluation_count)
335
+ if expressions is not None:
336
+ pulumi.set(__self__, "expressions", expressions)
337
+ if expressions_logic_operator is not None:
338
+ pulumi.set(__self__, "expressions_logic_operator", expressions_logic_operator)
295
339
  if metric_name is not None:
296
340
  pulumi.set(__self__, "metric_name", metric_name)
297
341
  if metric_type is not None:
@@ -393,6 +437,30 @@ class _AlarmState:
393
437
  def evaluation_count(self, value: Optional[pulumi.Input[int]]):
394
438
  pulumi.set(self, "evaluation_count", value)
395
439
 
440
+ @property
441
+ @pulumi.getter
442
+ def expressions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]]:
443
+ """
444
+ Support multi alert rule. See `expressions` below for details.
445
+ """
446
+ return pulumi.get(self, "expressions")
447
+
448
+ @expressions.setter
449
+ def expressions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlarmExpressionArgs']]]]):
450
+ pulumi.set(self, "expressions", value)
451
+
452
+ @property
453
+ @pulumi.getter(name="expressionsLogicOperator")
454
+ def expressions_logic_operator(self) -> Optional[pulumi.Input[str]]:
455
+ """
456
+ The relationship between the trigger conditions in the multi-metric alert rule.
457
+ """
458
+ return pulumi.get(self, "expressions_logic_operator")
459
+
460
+ @expressions_logic_operator.setter
461
+ def expressions_logic_operator(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "expressions_logic_operator", value)
463
+
396
464
  @property
397
465
  @pulumi.getter(name="metricName")
398
466
  def metric_name(self) -> Optional[pulumi.Input[str]]:
@@ -505,6 +573,8 @@ class Alarm(pulumi.CustomResource):
505
573
  dimensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
506
574
  enable: Optional[pulumi.Input[bool]] = None,
507
575
  evaluation_count: Optional[pulumi.Input[int]] = None,
576
+ expressions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlarmExpressionArgs']]]]] = None,
577
+ expressions_logic_operator: Optional[pulumi.Input[str]] = None,
508
578
  metric_name: Optional[pulumi.Input[str]] = None,
509
579
  metric_type: Optional[pulumi.Input[str]] = None,
510
580
  name: Optional[pulumi.Input[str]] = None,
@@ -623,6 +693,8 @@ class Alarm(pulumi.CustomResource):
623
693
  :param pulumi.Input[Mapping[str, Any]] dimensions: The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scaling_group" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
624
694
  :param pulumi.Input[bool] enable: Whether to enable specific ess alarm. Default to true.
625
695
  :param pulumi.Input[int] evaluation_count: The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
696
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlarmExpressionArgs']]]] expressions: Support multi alert rule. See `expressions` below for details.
697
+ :param pulumi.Input[str] expressions_logic_operator: The relationship between the trigger conditions in the multi-metric alert rule.
626
698
  :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
627
699
  :param pulumi.Input[str] metric_type: The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
628
700
  :param pulumi.Input[str] name: The name for ess alarm.
@@ -760,6 +832,8 @@ class Alarm(pulumi.CustomResource):
760
832
  dimensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
761
833
  enable: Optional[pulumi.Input[bool]] = None,
762
834
  evaluation_count: Optional[pulumi.Input[int]] = None,
835
+ expressions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlarmExpressionArgs']]]]] = None,
836
+ expressions_logic_operator: Optional[pulumi.Input[str]] = None,
763
837
  metric_name: Optional[pulumi.Input[str]] = None,
764
838
  metric_type: Optional[pulumi.Input[str]] = None,
765
839
  name: Optional[pulumi.Input[str]] = None,
@@ -785,8 +859,8 @@ class Alarm(pulumi.CustomResource):
785
859
  __props__.__dict__["dimensions"] = dimensions
786
860
  __props__.__dict__["enable"] = enable
787
861
  __props__.__dict__["evaluation_count"] = evaluation_count
788
- if metric_name is None and not opts.urn:
789
- raise TypeError("Missing required property 'metric_name'")
862
+ __props__.__dict__["expressions"] = expressions
863
+ __props__.__dict__["expressions_logic_operator"] = expressions_logic_operator
790
864
  __props__.__dict__["metric_name"] = metric_name
791
865
  __props__.__dict__["metric_type"] = metric_type
792
866
  __props__.__dict__["name"] = name
@@ -795,8 +869,6 @@ class Alarm(pulumi.CustomResource):
795
869
  raise TypeError("Missing required property 'scaling_group_id'")
796
870
  __props__.__dict__["scaling_group_id"] = scaling_group_id
797
871
  __props__.__dict__["statistics"] = statistics
798
- if threshold is None and not opts.urn:
799
- raise TypeError("Missing required property 'threshold'")
800
872
  __props__.__dict__["threshold"] = threshold
801
873
  __props__.__dict__["state"] = None
802
874
  super(Alarm, __self__).__init__(
@@ -816,6 +888,8 @@ class Alarm(pulumi.CustomResource):
816
888
  dimensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
817
889
  enable: Optional[pulumi.Input[bool]] = None,
818
890
  evaluation_count: Optional[pulumi.Input[int]] = None,
891
+ expressions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlarmExpressionArgs']]]]] = None,
892
+ expressions_logic_operator: Optional[pulumi.Input[str]] = None,
819
893
  metric_name: Optional[pulumi.Input[str]] = None,
820
894
  metric_type: Optional[pulumi.Input[str]] = None,
821
895
  name: Optional[pulumi.Input[str]] = None,
@@ -838,6 +912,8 @@ class Alarm(pulumi.CustomResource):
838
912
  :param pulumi.Input[Mapping[str, Any]] dimensions: The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scaling_group" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
839
913
  :param pulumi.Input[bool] enable: Whether to enable specific ess alarm. Default to true.
840
914
  :param pulumi.Input[int] evaluation_count: The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
915
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AlarmExpressionArgs']]]] expressions: Support multi alert rule. See `expressions` below for details.
916
+ :param pulumi.Input[str] expressions_logic_operator: The relationship between the trigger conditions in the multi-metric alert rule.
841
917
  :param pulumi.Input[str] metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
842
918
  :param pulumi.Input[str] metric_type: The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
843
919
  :param pulumi.Input[str] name: The name for ess alarm.
@@ -861,6 +937,8 @@ class Alarm(pulumi.CustomResource):
861
937
  __props__.__dict__["dimensions"] = dimensions
862
938
  __props__.__dict__["enable"] = enable
863
939
  __props__.__dict__["evaluation_count"] = evaluation_count
940
+ __props__.__dict__["expressions"] = expressions
941
+ __props__.__dict__["expressions_logic_operator"] = expressions_logic_operator
864
942
  __props__.__dict__["metric_name"] = metric_name
865
943
  __props__.__dict__["metric_type"] = metric_type
866
944
  __props__.__dict__["name"] = name
@@ -889,7 +967,7 @@ class Alarm(pulumi.CustomResource):
889
967
 
890
968
  @property
891
969
  @pulumi.getter(name="comparisonOperator")
892
- def comparison_operator(self) -> pulumi.Output[Optional[str]]:
970
+ def comparison_operator(self) -> pulumi.Output[str]:
893
971
  """
894
972
  The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
895
973
  """
@@ -927,6 +1005,22 @@ class Alarm(pulumi.CustomResource):
927
1005
  """
928
1006
  return pulumi.get(self, "evaluation_count")
929
1007
 
1008
+ @property
1009
+ @pulumi.getter
1010
+ def expressions(self) -> pulumi.Output[Sequence['outputs.AlarmExpression']]:
1011
+ """
1012
+ Support multi alert rule. See `expressions` below for details.
1013
+ """
1014
+ return pulumi.get(self, "expressions")
1015
+
1016
+ @property
1017
+ @pulumi.getter(name="expressionsLogicOperator")
1018
+ def expressions_logic_operator(self) -> pulumi.Output[str]:
1019
+ """
1020
+ The relationship between the trigger conditions in the multi-metric alert rule.
1021
+ """
1022
+ return pulumi.get(self, "expressions_logic_operator")
1023
+
930
1024
  @property
931
1025
  @pulumi.getter(name="metricName")
932
1026
  def metric_name(self) -> pulumi.Output[str]:
@@ -953,7 +1047,7 @@ class Alarm(pulumi.CustomResource):
953
1047
 
954
1048
  @property
955
1049
  @pulumi.getter
956
- def period(self) -> pulumi.Output[Optional[int]]:
1050
+ def period(self) -> pulumi.Output[int]:
957
1051
  """
958
1052
  The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
959
1053
  """
@@ -980,7 +1074,7 @@ class Alarm(pulumi.CustomResource):
980
1074
 
981
1075
  @property
982
1076
  @pulumi.getter
983
- def statistics(self) -> pulumi.Output[Optional[str]]:
1077
+ def statistics(self) -> pulumi.Output[str]:
984
1078
  """
985
1079
  The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
986
1080
  """
@@ -11,6 +11,7 @@ from .. import _utilities
11
11
  from . import outputs
12
12
 
13
13
  __all__ = [
14
+ 'AlarmExpression',
14
15
  'EciScalingConfigurationAcrRegistryInfo',
15
16
  'EciScalingConfigurationContainer',
16
17
  'EciScalingConfigurationContainerEnvironmentVar',
@@ -45,6 +46,92 @@ __all__ = [
45
46
  'GetScheduledTasksTaskResult',
46
47
  ]
47
48
 
49
+ @pulumi.output_type
50
+ class AlarmExpression(dict):
51
+ @staticmethod
52
+ def __key_warning(key: str):
53
+ suggest = None
54
+ if key == "comparisonOperator":
55
+ suggest = "comparison_operator"
56
+ elif key == "metricName":
57
+ suggest = "metric_name"
58
+
59
+ if suggest:
60
+ pulumi.log.warn(f"Key '{key}' not found in AlarmExpression. Access the value via the '{suggest}' property getter instead.")
61
+
62
+ def __getitem__(self, key: str) -> Any:
63
+ AlarmExpression.__key_warning(key)
64
+ return super().__getitem__(key)
65
+
66
+ def get(self, key: str, default = None) -> Any:
67
+ AlarmExpression.__key_warning(key)
68
+ return super().get(key, default)
69
+
70
+ def __init__(__self__, *,
71
+ comparison_operator: Optional[str] = None,
72
+ metric_name: Optional[str] = None,
73
+ period: Optional[int] = None,
74
+ statistics: Optional[str] = None,
75
+ threshold: Optional[float] = None):
76
+ """
77
+ :param str comparison_operator: The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
78
+ :param str metric_name: The name for the alarm's associated metric. See `dimensions` below for details.
79
+ :param int period: The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
80
+ :param str statistics: The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
81
+ :param float threshold: The value against which the specified statistics is compared.
82
+ """
83
+ if comparison_operator is not None:
84
+ pulumi.set(__self__, "comparison_operator", comparison_operator)
85
+ if metric_name is not None:
86
+ pulumi.set(__self__, "metric_name", metric_name)
87
+ if period is not None:
88
+ pulumi.set(__self__, "period", period)
89
+ if statistics is not None:
90
+ pulumi.set(__self__, "statistics", statistics)
91
+ if threshold is not None:
92
+ pulumi.set(__self__, "threshold", threshold)
93
+
94
+ @property
95
+ @pulumi.getter(name="comparisonOperator")
96
+ def comparison_operator(self) -> Optional[str]:
97
+ """
98
+ The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
99
+ """
100
+ return pulumi.get(self, "comparison_operator")
101
+
102
+ @property
103
+ @pulumi.getter(name="metricName")
104
+ def metric_name(self) -> Optional[str]:
105
+ """
106
+ The name for the alarm's associated metric. See `dimensions` below for details.
107
+ """
108
+ return pulumi.get(self, "metric_name")
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def period(self) -> Optional[int]:
113
+ """
114
+ The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
115
+ """
116
+ return pulumi.get(self, "period")
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def statistics(self) -> Optional[str]:
121
+ """
122
+ The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
123
+ """
124
+ return pulumi.get(self, "statistics")
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def threshold(self) -> Optional[float]:
129
+ """
130
+ The value against which the specified statistics is compared.
131
+ """
132
+ return pulumi.get(self, "threshold")
133
+
134
+
48
135
  @pulumi.output_type
49
136
  class EciScalingConfigurationAcrRegistryInfo(dict):
50
137
  @staticmethod