pulumi-alicloud 3.88.0a1761888283__py3-none-any.whl → 3.88.0a1761969289__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.
- pulumi_alicloud/__init__.py +59 -0
- pulumi_alicloud/cfg/_inputs.py +27 -24
- pulumi_alicloud/cfg/aggregator.py +142 -53
- pulumi_alicloud/cfg/outputs.py +18 -15
- pulumi_alicloud/cloudfirewall/__init__.py +1 -0
- pulumi_alicloud/cloudfirewall/get_tls_inspect_ca_certificates.py +214 -0
- pulumi_alicloud/cloudfirewall/outputs.py +30 -0
- pulumi_alicloud/cms/_inputs.py +870 -10
- pulumi_alicloud/cms/get_site_monitors.py +2 -2
- pulumi_alicloud/cms/outputs.py +606 -6
- pulumi_alicloud/cms/site_monitor.py +360 -89
- pulumi_alicloud/cr/registry_enterprise_instance.py +63 -0
- pulumi_alicloud/dts/instance.py +14 -14
- pulumi_alicloud/eci/container_group.py +47 -0
- pulumi_alicloud/ecs/security_group_rule.py +7 -7
- pulumi_alicloud/ens/load_balancer.py +8 -4
- pulumi_alicloud/esa/__init__.py +1 -0
- pulumi_alicloud/esa/_inputs.py +611 -0
- pulumi_alicloud/esa/cache_rule.py +47 -0
- pulumi_alicloud/esa/certificate.py +21 -54
- pulumi_alicloud/esa/compression_rule.py +47 -0
- pulumi_alicloud/esa/load_balancer.py +999 -0
- pulumi_alicloud/esa/outputs.py +469 -0
- pulumi_alicloud/eventbridge/event_source.py +57 -57
- pulumi_alicloud/ga/_inputs.py +56 -16
- pulumi_alicloud/ga/outputs.py +39 -11
- pulumi_alicloud/lindorm/instance_v2.py +358 -70
- pulumi_alicloud/oss/_inputs.py +53 -0
- pulumi_alicloud/oss/bucket_logging.py +80 -29
- pulumi_alicloud/oss/bucket_replication.py +55 -8
- pulumi_alicloud/oss/outputs.py +31 -0
- pulumi_alicloud/polardb/__init__.py +2 -0
- pulumi_alicloud/polardb/cluster.py +14 -14
- pulumi_alicloud/polardb/zonal_account.py +449 -0
- pulumi_alicloud/polardb/zonal_db_cluster.py +2 -2
- pulumi_alicloud/polardb/zonal_endpoint.py +865 -0
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/ram/policy.py +2 -2
- pulumi_alicloud/resourcemanager/__init__.py +2 -0
- pulumi_alicloud/resourcemanager/_inputs.py +745 -0
- pulumi_alicloud/resourcemanager/delivery_channel.py +449 -0
- pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py +470 -0
- pulumi_alicloud/resourcemanager/outputs.py +643 -0
- pulumi_alicloud/sae/_inputs.py +60 -0
- pulumi_alicloud/sae/application.py +1 -1
- pulumi_alicloud/sae/outputs.py +42 -0
- pulumi_alicloud/sls/__init__.py +1 -0
- pulumi_alicloud/sls/get_indexs.py +304 -0
- pulumi_alicloud/sls/outputs.py +148 -0
- pulumi_alicloud/star_rocks_instance.py +8 -2
- pulumi_alicloud/starrocks/__init__.py +12 -0
- pulumi_alicloud/starrocks/_inputs.py +656 -0
- pulumi_alicloud/starrocks/instance.py +1427 -0
- pulumi_alicloud/starrocks/node_group.py +1298 -0
- pulumi_alicloud/starrocks/outputs.py +508 -0
- pulumi_alicloud/vpc/_inputs.py +84 -0
- pulumi_alicloud/vpc/gateway_endpoint.py +8 -8
- pulumi_alicloud/vpc/network_acl_entries.py +16 -20
- pulumi_alicloud/vpc/outputs.py +48 -0
- pulumi_alicloud/wafv3/_inputs.py +396 -0
- pulumi_alicloud/wafv3/defense_rule.py +40 -110
- pulumi_alicloud/wafv3/outputs.py +303 -0
- {pulumi_alicloud-3.88.0a1761888283.dist-info → pulumi_alicloud-3.88.0a1761969289.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.88.0a1761888283.dist-info → pulumi_alicloud-3.88.0a1761969289.dist-info}/RECORD +66 -54
- {pulumi_alicloud-3.88.0a1761888283.dist-info → pulumi_alicloud-3.88.0a1761969289.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.88.0a1761888283.dist-info → pulumi_alicloud-3.88.0a1761969289.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,999 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = ['LoadBalancerArgs', 'LoadBalancer']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class LoadBalancerArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
default_pools: pulumi.Input[Sequence[pulumi.Input[_builtins.int]]],
|
|
25
|
+
fallback_pool: pulumi.Input[_builtins.int],
|
|
26
|
+
load_balancer_name: pulumi.Input[_builtins.str],
|
|
27
|
+
monitor: pulumi.Input['LoadBalancerMonitorArgs'],
|
|
28
|
+
site_id: pulumi.Input[_builtins.int],
|
|
29
|
+
steering_policy: pulumi.Input[_builtins.str],
|
|
30
|
+
adaptive_routing: Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']] = None,
|
|
31
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
32
|
+
enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
33
|
+
random_steering: Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']] = None,
|
|
34
|
+
region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
35
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]] = None,
|
|
36
|
+
session_affinity: Optional[pulumi.Input[_builtins.str]] = None,
|
|
37
|
+
sub_region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
38
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None):
|
|
39
|
+
"""
|
|
40
|
+
The set of arguments for constructing a LoadBalancer resource.
|
|
41
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] default_pools: List of default pool IDs.
|
|
42
|
+
:param pulumi.Input[_builtins.int] fallback_pool: The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
43
|
+
:param pulumi.Input[_builtins.str] load_balancer_name: The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
44
|
+
:param pulumi.Input['LoadBalancerMonitorArgs'] monitor: Monitor configuration for health check. See `monitor` below.
|
|
45
|
+
:param pulumi.Input[_builtins.int] site_id: The site ID.
|
|
46
|
+
:param pulumi.Input[_builtins.str] steering_policy: Load balancing policy.
|
|
47
|
+
:param pulumi.Input['LoadBalancerAdaptiveRoutingArgs'] adaptive_routing: Cross-pool origin configuration. See `adaptive_routing` below.
|
|
48
|
+
:param pulumi.Input[_builtins.str] description: The detailed description of the load balancer for easy management and identification.
|
|
49
|
+
:param pulumi.Input[_builtins.bool] enabled: Whether the load balancer is enabled.
|
|
50
|
+
:param pulumi.Input['LoadBalancerRandomSteeringArgs'] random_steering: Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
51
|
+
:param pulumi.Input[_builtins.str] region_pools: Address pools corresponding to primary regions.
|
|
52
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]] rules: Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
53
|
+
:param pulumi.Input[_builtins.str] session_affinity: Session persistence. Valid values:
|
|
54
|
+
:param pulumi.Input[_builtins.str] sub_region_pools: Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
55
|
+
:param pulumi.Input[_builtins.int] ttl: TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
56
|
+
"""
|
|
57
|
+
pulumi.set(__self__, "default_pools", default_pools)
|
|
58
|
+
pulumi.set(__self__, "fallback_pool", fallback_pool)
|
|
59
|
+
pulumi.set(__self__, "load_balancer_name", load_balancer_name)
|
|
60
|
+
pulumi.set(__self__, "monitor", monitor)
|
|
61
|
+
pulumi.set(__self__, "site_id", site_id)
|
|
62
|
+
pulumi.set(__self__, "steering_policy", steering_policy)
|
|
63
|
+
if adaptive_routing is not None:
|
|
64
|
+
pulumi.set(__self__, "adaptive_routing", adaptive_routing)
|
|
65
|
+
if description is not None:
|
|
66
|
+
pulumi.set(__self__, "description", description)
|
|
67
|
+
if enabled is not None:
|
|
68
|
+
pulumi.set(__self__, "enabled", enabled)
|
|
69
|
+
if random_steering is not None:
|
|
70
|
+
pulumi.set(__self__, "random_steering", random_steering)
|
|
71
|
+
if region_pools is not None:
|
|
72
|
+
pulumi.set(__self__, "region_pools", region_pools)
|
|
73
|
+
if rules is not None:
|
|
74
|
+
pulumi.set(__self__, "rules", rules)
|
|
75
|
+
if session_affinity is not None:
|
|
76
|
+
pulumi.set(__self__, "session_affinity", session_affinity)
|
|
77
|
+
if sub_region_pools is not None:
|
|
78
|
+
pulumi.set(__self__, "sub_region_pools", sub_region_pools)
|
|
79
|
+
if ttl is not None:
|
|
80
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
81
|
+
|
|
82
|
+
@_builtins.property
|
|
83
|
+
@pulumi.getter(name="defaultPools")
|
|
84
|
+
def default_pools(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]:
|
|
85
|
+
"""
|
|
86
|
+
List of default pool IDs.
|
|
87
|
+
"""
|
|
88
|
+
return pulumi.get(self, "default_pools")
|
|
89
|
+
|
|
90
|
+
@default_pools.setter
|
|
91
|
+
def default_pools(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]):
|
|
92
|
+
pulumi.set(self, "default_pools", value)
|
|
93
|
+
|
|
94
|
+
@_builtins.property
|
|
95
|
+
@pulumi.getter(name="fallbackPool")
|
|
96
|
+
def fallback_pool(self) -> pulumi.Input[_builtins.int]:
|
|
97
|
+
"""
|
|
98
|
+
The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
99
|
+
"""
|
|
100
|
+
return pulumi.get(self, "fallback_pool")
|
|
101
|
+
|
|
102
|
+
@fallback_pool.setter
|
|
103
|
+
def fallback_pool(self, value: pulumi.Input[_builtins.int]):
|
|
104
|
+
pulumi.set(self, "fallback_pool", value)
|
|
105
|
+
|
|
106
|
+
@_builtins.property
|
|
107
|
+
@pulumi.getter(name="loadBalancerName")
|
|
108
|
+
def load_balancer_name(self) -> pulumi.Input[_builtins.str]:
|
|
109
|
+
"""
|
|
110
|
+
The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
111
|
+
"""
|
|
112
|
+
return pulumi.get(self, "load_balancer_name")
|
|
113
|
+
|
|
114
|
+
@load_balancer_name.setter
|
|
115
|
+
def load_balancer_name(self, value: pulumi.Input[_builtins.str]):
|
|
116
|
+
pulumi.set(self, "load_balancer_name", value)
|
|
117
|
+
|
|
118
|
+
@_builtins.property
|
|
119
|
+
@pulumi.getter
|
|
120
|
+
def monitor(self) -> pulumi.Input['LoadBalancerMonitorArgs']:
|
|
121
|
+
"""
|
|
122
|
+
Monitor configuration for health check. See `monitor` below.
|
|
123
|
+
"""
|
|
124
|
+
return pulumi.get(self, "monitor")
|
|
125
|
+
|
|
126
|
+
@monitor.setter
|
|
127
|
+
def monitor(self, value: pulumi.Input['LoadBalancerMonitorArgs']):
|
|
128
|
+
pulumi.set(self, "monitor", value)
|
|
129
|
+
|
|
130
|
+
@_builtins.property
|
|
131
|
+
@pulumi.getter(name="siteId")
|
|
132
|
+
def site_id(self) -> pulumi.Input[_builtins.int]:
|
|
133
|
+
"""
|
|
134
|
+
The site ID.
|
|
135
|
+
"""
|
|
136
|
+
return pulumi.get(self, "site_id")
|
|
137
|
+
|
|
138
|
+
@site_id.setter
|
|
139
|
+
def site_id(self, value: pulumi.Input[_builtins.int]):
|
|
140
|
+
pulumi.set(self, "site_id", value)
|
|
141
|
+
|
|
142
|
+
@_builtins.property
|
|
143
|
+
@pulumi.getter(name="steeringPolicy")
|
|
144
|
+
def steering_policy(self) -> pulumi.Input[_builtins.str]:
|
|
145
|
+
"""
|
|
146
|
+
Load balancing policy.
|
|
147
|
+
"""
|
|
148
|
+
return pulumi.get(self, "steering_policy")
|
|
149
|
+
|
|
150
|
+
@steering_policy.setter
|
|
151
|
+
def steering_policy(self, value: pulumi.Input[_builtins.str]):
|
|
152
|
+
pulumi.set(self, "steering_policy", value)
|
|
153
|
+
|
|
154
|
+
@_builtins.property
|
|
155
|
+
@pulumi.getter(name="adaptiveRouting")
|
|
156
|
+
def adaptive_routing(self) -> Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']]:
|
|
157
|
+
"""
|
|
158
|
+
Cross-pool origin configuration. See `adaptive_routing` below.
|
|
159
|
+
"""
|
|
160
|
+
return pulumi.get(self, "adaptive_routing")
|
|
161
|
+
|
|
162
|
+
@adaptive_routing.setter
|
|
163
|
+
def adaptive_routing(self, value: Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']]):
|
|
164
|
+
pulumi.set(self, "adaptive_routing", value)
|
|
165
|
+
|
|
166
|
+
@_builtins.property
|
|
167
|
+
@pulumi.getter
|
|
168
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
169
|
+
"""
|
|
170
|
+
The detailed description of the load balancer for easy management and identification.
|
|
171
|
+
"""
|
|
172
|
+
return pulumi.get(self, "description")
|
|
173
|
+
|
|
174
|
+
@description.setter
|
|
175
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
176
|
+
pulumi.set(self, "description", value)
|
|
177
|
+
|
|
178
|
+
@_builtins.property
|
|
179
|
+
@pulumi.getter
|
|
180
|
+
def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
181
|
+
"""
|
|
182
|
+
Whether the load balancer is enabled.
|
|
183
|
+
"""
|
|
184
|
+
return pulumi.get(self, "enabled")
|
|
185
|
+
|
|
186
|
+
@enabled.setter
|
|
187
|
+
def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
188
|
+
pulumi.set(self, "enabled", value)
|
|
189
|
+
|
|
190
|
+
@_builtins.property
|
|
191
|
+
@pulumi.getter(name="randomSteering")
|
|
192
|
+
def random_steering(self) -> Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']]:
|
|
193
|
+
"""
|
|
194
|
+
Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
195
|
+
"""
|
|
196
|
+
return pulumi.get(self, "random_steering")
|
|
197
|
+
|
|
198
|
+
@random_steering.setter
|
|
199
|
+
def random_steering(self, value: Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']]):
|
|
200
|
+
pulumi.set(self, "random_steering", value)
|
|
201
|
+
|
|
202
|
+
@_builtins.property
|
|
203
|
+
@pulumi.getter(name="regionPools")
|
|
204
|
+
def region_pools(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
205
|
+
"""
|
|
206
|
+
Address pools corresponding to primary regions.
|
|
207
|
+
"""
|
|
208
|
+
return pulumi.get(self, "region_pools")
|
|
209
|
+
|
|
210
|
+
@region_pools.setter
|
|
211
|
+
def region_pools(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
212
|
+
pulumi.set(self, "region_pools", value)
|
|
213
|
+
|
|
214
|
+
@_builtins.property
|
|
215
|
+
@pulumi.getter
|
|
216
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]]:
|
|
217
|
+
"""
|
|
218
|
+
Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
219
|
+
"""
|
|
220
|
+
return pulumi.get(self, "rules")
|
|
221
|
+
|
|
222
|
+
@rules.setter
|
|
223
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]]):
|
|
224
|
+
pulumi.set(self, "rules", value)
|
|
225
|
+
|
|
226
|
+
@_builtins.property
|
|
227
|
+
@pulumi.getter(name="sessionAffinity")
|
|
228
|
+
def session_affinity(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
229
|
+
"""
|
|
230
|
+
Session persistence. Valid values:
|
|
231
|
+
"""
|
|
232
|
+
return pulumi.get(self, "session_affinity")
|
|
233
|
+
|
|
234
|
+
@session_affinity.setter
|
|
235
|
+
def session_affinity(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
236
|
+
pulumi.set(self, "session_affinity", value)
|
|
237
|
+
|
|
238
|
+
@_builtins.property
|
|
239
|
+
@pulumi.getter(name="subRegionPools")
|
|
240
|
+
def sub_region_pools(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
241
|
+
"""
|
|
242
|
+
Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
243
|
+
"""
|
|
244
|
+
return pulumi.get(self, "sub_region_pools")
|
|
245
|
+
|
|
246
|
+
@sub_region_pools.setter
|
|
247
|
+
def sub_region_pools(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
248
|
+
pulumi.set(self, "sub_region_pools", value)
|
|
249
|
+
|
|
250
|
+
@_builtins.property
|
|
251
|
+
@pulumi.getter
|
|
252
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
253
|
+
"""
|
|
254
|
+
TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
255
|
+
"""
|
|
256
|
+
return pulumi.get(self, "ttl")
|
|
257
|
+
|
|
258
|
+
@ttl.setter
|
|
259
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
260
|
+
pulumi.set(self, "ttl", value)
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
@pulumi.input_type
|
|
264
|
+
class _LoadBalancerState:
|
|
265
|
+
def __init__(__self__, *,
|
|
266
|
+
adaptive_routing: Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']] = None,
|
|
267
|
+
default_pools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
|
|
268
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
269
|
+
enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
270
|
+
fallback_pool: Optional[pulumi.Input[_builtins.int]] = None,
|
|
271
|
+
load_balancer_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
272
|
+
load_balancer_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
273
|
+
monitor: Optional[pulumi.Input['LoadBalancerMonitorArgs']] = None,
|
|
274
|
+
random_steering: Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']] = None,
|
|
275
|
+
region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
276
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]] = None,
|
|
277
|
+
session_affinity: Optional[pulumi.Input[_builtins.str]] = None,
|
|
278
|
+
site_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
279
|
+
status: Optional[pulumi.Input[_builtins.str]] = None,
|
|
280
|
+
steering_policy: Optional[pulumi.Input[_builtins.str]] = None,
|
|
281
|
+
sub_region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
282
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None):
|
|
283
|
+
"""
|
|
284
|
+
Input properties used for looking up and filtering LoadBalancer resources.
|
|
285
|
+
:param pulumi.Input['LoadBalancerAdaptiveRoutingArgs'] adaptive_routing: Cross-pool origin configuration. See `adaptive_routing` below.
|
|
286
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] default_pools: List of default pool IDs.
|
|
287
|
+
:param pulumi.Input[_builtins.str] description: The detailed description of the load balancer for easy management and identification.
|
|
288
|
+
:param pulumi.Input[_builtins.bool] enabled: Whether the load balancer is enabled.
|
|
289
|
+
:param pulumi.Input[_builtins.int] fallback_pool: The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
290
|
+
:param pulumi.Input[_builtins.int] load_balancer_id: The unique identifier ID of the load balancer.
|
|
291
|
+
:param pulumi.Input[_builtins.str] load_balancer_name: The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
292
|
+
:param pulumi.Input['LoadBalancerMonitorArgs'] monitor: Monitor configuration for health check. See `monitor` below.
|
|
293
|
+
:param pulumi.Input['LoadBalancerRandomSteeringArgs'] random_steering: Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
294
|
+
:param pulumi.Input[_builtins.str] region_pools: Address pools corresponding to primary regions.
|
|
295
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]] rules: Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
296
|
+
:param pulumi.Input[_builtins.str] session_affinity: Session persistence. Valid values:
|
|
297
|
+
:param pulumi.Input[_builtins.int] site_id: The site ID.
|
|
298
|
+
:param pulumi.Input[_builtins.str] status: The status of the load balancer.
|
|
299
|
+
:param pulumi.Input[_builtins.str] steering_policy: Load balancing policy.
|
|
300
|
+
:param pulumi.Input[_builtins.str] sub_region_pools: Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
301
|
+
:param pulumi.Input[_builtins.int] ttl: TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
302
|
+
"""
|
|
303
|
+
if adaptive_routing is not None:
|
|
304
|
+
pulumi.set(__self__, "adaptive_routing", adaptive_routing)
|
|
305
|
+
if default_pools is not None:
|
|
306
|
+
pulumi.set(__self__, "default_pools", default_pools)
|
|
307
|
+
if description is not None:
|
|
308
|
+
pulumi.set(__self__, "description", description)
|
|
309
|
+
if enabled is not None:
|
|
310
|
+
pulumi.set(__self__, "enabled", enabled)
|
|
311
|
+
if fallback_pool is not None:
|
|
312
|
+
pulumi.set(__self__, "fallback_pool", fallback_pool)
|
|
313
|
+
if load_balancer_id is not None:
|
|
314
|
+
pulumi.set(__self__, "load_balancer_id", load_balancer_id)
|
|
315
|
+
if load_balancer_name is not None:
|
|
316
|
+
pulumi.set(__self__, "load_balancer_name", load_balancer_name)
|
|
317
|
+
if monitor is not None:
|
|
318
|
+
pulumi.set(__self__, "monitor", monitor)
|
|
319
|
+
if random_steering is not None:
|
|
320
|
+
pulumi.set(__self__, "random_steering", random_steering)
|
|
321
|
+
if region_pools is not None:
|
|
322
|
+
pulumi.set(__self__, "region_pools", region_pools)
|
|
323
|
+
if rules is not None:
|
|
324
|
+
pulumi.set(__self__, "rules", rules)
|
|
325
|
+
if session_affinity is not None:
|
|
326
|
+
pulumi.set(__self__, "session_affinity", session_affinity)
|
|
327
|
+
if site_id is not None:
|
|
328
|
+
pulumi.set(__self__, "site_id", site_id)
|
|
329
|
+
if status is not None:
|
|
330
|
+
pulumi.set(__self__, "status", status)
|
|
331
|
+
if steering_policy is not None:
|
|
332
|
+
pulumi.set(__self__, "steering_policy", steering_policy)
|
|
333
|
+
if sub_region_pools is not None:
|
|
334
|
+
pulumi.set(__self__, "sub_region_pools", sub_region_pools)
|
|
335
|
+
if ttl is not None:
|
|
336
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
337
|
+
|
|
338
|
+
@_builtins.property
|
|
339
|
+
@pulumi.getter(name="adaptiveRouting")
|
|
340
|
+
def adaptive_routing(self) -> Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']]:
|
|
341
|
+
"""
|
|
342
|
+
Cross-pool origin configuration. See `adaptive_routing` below.
|
|
343
|
+
"""
|
|
344
|
+
return pulumi.get(self, "adaptive_routing")
|
|
345
|
+
|
|
346
|
+
@adaptive_routing.setter
|
|
347
|
+
def adaptive_routing(self, value: Optional[pulumi.Input['LoadBalancerAdaptiveRoutingArgs']]):
|
|
348
|
+
pulumi.set(self, "adaptive_routing", value)
|
|
349
|
+
|
|
350
|
+
@_builtins.property
|
|
351
|
+
@pulumi.getter(name="defaultPools")
|
|
352
|
+
def default_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]:
|
|
353
|
+
"""
|
|
354
|
+
List of default pool IDs.
|
|
355
|
+
"""
|
|
356
|
+
return pulumi.get(self, "default_pools")
|
|
357
|
+
|
|
358
|
+
@default_pools.setter
|
|
359
|
+
def default_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]):
|
|
360
|
+
pulumi.set(self, "default_pools", value)
|
|
361
|
+
|
|
362
|
+
@_builtins.property
|
|
363
|
+
@pulumi.getter
|
|
364
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
365
|
+
"""
|
|
366
|
+
The detailed description of the load balancer for easy management and identification.
|
|
367
|
+
"""
|
|
368
|
+
return pulumi.get(self, "description")
|
|
369
|
+
|
|
370
|
+
@description.setter
|
|
371
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
372
|
+
pulumi.set(self, "description", value)
|
|
373
|
+
|
|
374
|
+
@_builtins.property
|
|
375
|
+
@pulumi.getter
|
|
376
|
+
def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
377
|
+
"""
|
|
378
|
+
Whether the load balancer is enabled.
|
|
379
|
+
"""
|
|
380
|
+
return pulumi.get(self, "enabled")
|
|
381
|
+
|
|
382
|
+
@enabled.setter
|
|
383
|
+
def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
384
|
+
pulumi.set(self, "enabled", value)
|
|
385
|
+
|
|
386
|
+
@_builtins.property
|
|
387
|
+
@pulumi.getter(name="fallbackPool")
|
|
388
|
+
def fallback_pool(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
389
|
+
"""
|
|
390
|
+
The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
391
|
+
"""
|
|
392
|
+
return pulumi.get(self, "fallback_pool")
|
|
393
|
+
|
|
394
|
+
@fallback_pool.setter
|
|
395
|
+
def fallback_pool(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
396
|
+
pulumi.set(self, "fallback_pool", value)
|
|
397
|
+
|
|
398
|
+
@_builtins.property
|
|
399
|
+
@pulumi.getter(name="loadBalancerId")
|
|
400
|
+
def load_balancer_id(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
401
|
+
"""
|
|
402
|
+
The unique identifier ID of the load balancer.
|
|
403
|
+
"""
|
|
404
|
+
return pulumi.get(self, "load_balancer_id")
|
|
405
|
+
|
|
406
|
+
@load_balancer_id.setter
|
|
407
|
+
def load_balancer_id(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
408
|
+
pulumi.set(self, "load_balancer_id", value)
|
|
409
|
+
|
|
410
|
+
@_builtins.property
|
|
411
|
+
@pulumi.getter(name="loadBalancerName")
|
|
412
|
+
def load_balancer_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
413
|
+
"""
|
|
414
|
+
The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
415
|
+
"""
|
|
416
|
+
return pulumi.get(self, "load_balancer_name")
|
|
417
|
+
|
|
418
|
+
@load_balancer_name.setter
|
|
419
|
+
def load_balancer_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
420
|
+
pulumi.set(self, "load_balancer_name", value)
|
|
421
|
+
|
|
422
|
+
@_builtins.property
|
|
423
|
+
@pulumi.getter
|
|
424
|
+
def monitor(self) -> Optional[pulumi.Input['LoadBalancerMonitorArgs']]:
|
|
425
|
+
"""
|
|
426
|
+
Monitor configuration for health check. See `monitor` below.
|
|
427
|
+
"""
|
|
428
|
+
return pulumi.get(self, "monitor")
|
|
429
|
+
|
|
430
|
+
@monitor.setter
|
|
431
|
+
def monitor(self, value: Optional[pulumi.Input['LoadBalancerMonitorArgs']]):
|
|
432
|
+
pulumi.set(self, "monitor", value)
|
|
433
|
+
|
|
434
|
+
@_builtins.property
|
|
435
|
+
@pulumi.getter(name="randomSteering")
|
|
436
|
+
def random_steering(self) -> Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']]:
|
|
437
|
+
"""
|
|
438
|
+
Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
439
|
+
"""
|
|
440
|
+
return pulumi.get(self, "random_steering")
|
|
441
|
+
|
|
442
|
+
@random_steering.setter
|
|
443
|
+
def random_steering(self, value: Optional[pulumi.Input['LoadBalancerRandomSteeringArgs']]):
|
|
444
|
+
pulumi.set(self, "random_steering", value)
|
|
445
|
+
|
|
446
|
+
@_builtins.property
|
|
447
|
+
@pulumi.getter(name="regionPools")
|
|
448
|
+
def region_pools(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
449
|
+
"""
|
|
450
|
+
Address pools corresponding to primary regions.
|
|
451
|
+
"""
|
|
452
|
+
return pulumi.get(self, "region_pools")
|
|
453
|
+
|
|
454
|
+
@region_pools.setter
|
|
455
|
+
def region_pools(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
456
|
+
pulumi.set(self, "region_pools", value)
|
|
457
|
+
|
|
458
|
+
@_builtins.property
|
|
459
|
+
@pulumi.getter
|
|
460
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]]:
|
|
461
|
+
"""
|
|
462
|
+
Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
463
|
+
"""
|
|
464
|
+
return pulumi.get(self, "rules")
|
|
465
|
+
|
|
466
|
+
@rules.setter
|
|
467
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerRuleArgs']]]]):
|
|
468
|
+
pulumi.set(self, "rules", value)
|
|
469
|
+
|
|
470
|
+
@_builtins.property
|
|
471
|
+
@pulumi.getter(name="sessionAffinity")
|
|
472
|
+
def session_affinity(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
473
|
+
"""
|
|
474
|
+
Session persistence. Valid values:
|
|
475
|
+
"""
|
|
476
|
+
return pulumi.get(self, "session_affinity")
|
|
477
|
+
|
|
478
|
+
@session_affinity.setter
|
|
479
|
+
def session_affinity(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
480
|
+
pulumi.set(self, "session_affinity", value)
|
|
481
|
+
|
|
482
|
+
@_builtins.property
|
|
483
|
+
@pulumi.getter(name="siteId")
|
|
484
|
+
def site_id(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
485
|
+
"""
|
|
486
|
+
The site ID.
|
|
487
|
+
"""
|
|
488
|
+
return pulumi.get(self, "site_id")
|
|
489
|
+
|
|
490
|
+
@site_id.setter
|
|
491
|
+
def site_id(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
492
|
+
pulumi.set(self, "site_id", value)
|
|
493
|
+
|
|
494
|
+
@_builtins.property
|
|
495
|
+
@pulumi.getter
|
|
496
|
+
def status(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
497
|
+
"""
|
|
498
|
+
The status of the load balancer.
|
|
499
|
+
"""
|
|
500
|
+
return pulumi.get(self, "status")
|
|
501
|
+
|
|
502
|
+
@status.setter
|
|
503
|
+
def status(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
504
|
+
pulumi.set(self, "status", value)
|
|
505
|
+
|
|
506
|
+
@_builtins.property
|
|
507
|
+
@pulumi.getter(name="steeringPolicy")
|
|
508
|
+
def steering_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
509
|
+
"""
|
|
510
|
+
Load balancing policy.
|
|
511
|
+
"""
|
|
512
|
+
return pulumi.get(self, "steering_policy")
|
|
513
|
+
|
|
514
|
+
@steering_policy.setter
|
|
515
|
+
def steering_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
516
|
+
pulumi.set(self, "steering_policy", value)
|
|
517
|
+
|
|
518
|
+
@_builtins.property
|
|
519
|
+
@pulumi.getter(name="subRegionPools")
|
|
520
|
+
def sub_region_pools(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
521
|
+
"""
|
|
522
|
+
Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
523
|
+
"""
|
|
524
|
+
return pulumi.get(self, "sub_region_pools")
|
|
525
|
+
|
|
526
|
+
@sub_region_pools.setter
|
|
527
|
+
def sub_region_pools(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
528
|
+
pulumi.set(self, "sub_region_pools", value)
|
|
529
|
+
|
|
530
|
+
@_builtins.property
|
|
531
|
+
@pulumi.getter
|
|
532
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
533
|
+
"""
|
|
534
|
+
TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
535
|
+
"""
|
|
536
|
+
return pulumi.get(self, "ttl")
|
|
537
|
+
|
|
538
|
+
@ttl.setter
|
|
539
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
540
|
+
pulumi.set(self, "ttl", value)
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
@pulumi.type_token("alicloud:esa/loadBalancer:LoadBalancer")
|
|
544
|
+
class LoadBalancer(pulumi.CustomResource):
|
|
545
|
+
@overload
|
|
546
|
+
def __init__(__self__,
|
|
547
|
+
resource_name: str,
|
|
548
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
549
|
+
adaptive_routing: Optional[pulumi.Input[Union['LoadBalancerAdaptiveRoutingArgs', 'LoadBalancerAdaptiveRoutingArgsDict']]] = None,
|
|
550
|
+
default_pools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
|
|
551
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
552
|
+
enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
553
|
+
fallback_pool: Optional[pulumi.Input[_builtins.int]] = None,
|
|
554
|
+
load_balancer_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
555
|
+
monitor: Optional[pulumi.Input[Union['LoadBalancerMonitorArgs', 'LoadBalancerMonitorArgsDict']]] = None,
|
|
556
|
+
random_steering: Optional[pulumi.Input[Union['LoadBalancerRandomSteeringArgs', 'LoadBalancerRandomSteeringArgsDict']]] = None,
|
|
557
|
+
region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
558
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerRuleArgs', 'LoadBalancerRuleArgsDict']]]]] = None,
|
|
559
|
+
session_affinity: Optional[pulumi.Input[_builtins.str]] = None,
|
|
560
|
+
site_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
561
|
+
steering_policy: Optional[pulumi.Input[_builtins.str]] = None,
|
|
562
|
+
sub_region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
563
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
564
|
+
__props__=None):
|
|
565
|
+
"""
|
|
566
|
+
Provides a ESA Load Balancer resource.
|
|
567
|
+
|
|
568
|
+
For information about ESA Load Balancer and how to use it, see [What is Load Balancer](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateLoadBalancer).
|
|
569
|
+
|
|
570
|
+
> **NOTE:** Available since v1.262.0.
|
|
571
|
+
|
|
572
|
+
## Example Usage
|
|
573
|
+
|
|
574
|
+
Basic Usage
|
|
575
|
+
|
|
576
|
+
```python
|
|
577
|
+
import pulumi
|
|
578
|
+
import pulumi_alicloud as alicloud
|
|
579
|
+
import pulumi_random as random
|
|
580
|
+
|
|
581
|
+
config = pulumi.Config()
|
|
582
|
+
name = config.get("name")
|
|
583
|
+
if name is None:
|
|
584
|
+
name = "terraform-example"
|
|
585
|
+
default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan")
|
|
586
|
+
default_integer = random.index.Integer("default",
|
|
587
|
+
min=10000,
|
|
588
|
+
max=99999)
|
|
589
|
+
resource_site_origin_pool = alicloud.esa.Site("resource_Site_OriginPool",
|
|
590
|
+
site_name=f"{name}{default_integer['result']}.com",
|
|
591
|
+
instance_id=default.sites[0].instance_id,
|
|
592
|
+
coverage="overseas",
|
|
593
|
+
access_type="NS")
|
|
594
|
+
resource_origin_pool_load_balancer11 = alicloud.esa.OriginPool("resource_OriginPool_LoadBalancer_1_1",
|
|
595
|
+
origins=[{
|
|
596
|
+
"type": "ip_domain",
|
|
597
|
+
"address": "www.example.com",
|
|
598
|
+
"header": "{\\"Host\\":[\\"www.example.com\\"]}",
|
|
599
|
+
"enabled": True,
|
|
600
|
+
"weight": 30,
|
|
601
|
+
"name": "origin1",
|
|
602
|
+
}],
|
|
603
|
+
site_id=resource_site_origin_pool.id,
|
|
604
|
+
origin_pool_name="originpool1",
|
|
605
|
+
enabled=True)
|
|
606
|
+
default_load_balancer = alicloud.esa.LoadBalancer("default",
|
|
607
|
+
load_balancer_name="lb.exampleloadbalancer.top",
|
|
608
|
+
fallback_pool=resource_origin_pool_load_balancer11.origin_pool_id,
|
|
609
|
+
site_id=resource_site_origin_pool.id,
|
|
610
|
+
description=name,
|
|
611
|
+
default_pools=[resource_origin_pool_load_balancer11.origin_pool_id],
|
|
612
|
+
steering_policy="geo",
|
|
613
|
+
monitor={
|
|
614
|
+
"type": "ICMP Ping",
|
|
615
|
+
"timeout": 5,
|
|
616
|
+
"monitoring_region": "ChineseMainland",
|
|
617
|
+
"consecutive_up": 3,
|
|
618
|
+
"consecutive_down": 5,
|
|
619
|
+
"interval": 60,
|
|
620
|
+
})
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
## Import
|
|
624
|
+
|
|
625
|
+
ESA Load Balancer can be imported using the id, e.g.
|
|
626
|
+
|
|
627
|
+
```sh
|
|
628
|
+
$ pulumi import alicloud:esa/loadBalancer:LoadBalancer example <site_id>:<load_balancer_id>
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
:param str resource_name: The name of the resource.
|
|
632
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
633
|
+
:param pulumi.Input[Union['LoadBalancerAdaptiveRoutingArgs', 'LoadBalancerAdaptiveRoutingArgsDict']] adaptive_routing: Cross-pool origin configuration. See `adaptive_routing` below.
|
|
634
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] default_pools: List of default pool IDs.
|
|
635
|
+
:param pulumi.Input[_builtins.str] description: The detailed description of the load balancer for easy management and identification.
|
|
636
|
+
:param pulumi.Input[_builtins.bool] enabled: Whether the load balancer is enabled.
|
|
637
|
+
:param pulumi.Input[_builtins.int] fallback_pool: The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
638
|
+
:param pulumi.Input[_builtins.str] load_balancer_name: The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
639
|
+
:param pulumi.Input[Union['LoadBalancerMonitorArgs', 'LoadBalancerMonitorArgsDict']] monitor: Monitor configuration for health check. See `monitor` below.
|
|
640
|
+
:param pulumi.Input[Union['LoadBalancerRandomSteeringArgs', 'LoadBalancerRandomSteeringArgsDict']] random_steering: Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
641
|
+
:param pulumi.Input[_builtins.str] region_pools: Address pools corresponding to primary regions.
|
|
642
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerRuleArgs', 'LoadBalancerRuleArgsDict']]]] rules: Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
643
|
+
:param pulumi.Input[_builtins.str] session_affinity: Session persistence. Valid values:
|
|
644
|
+
:param pulumi.Input[_builtins.int] site_id: The site ID.
|
|
645
|
+
:param pulumi.Input[_builtins.str] steering_policy: Load balancing policy.
|
|
646
|
+
:param pulumi.Input[_builtins.str] sub_region_pools: Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
647
|
+
:param pulumi.Input[_builtins.int] ttl: TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
648
|
+
"""
|
|
649
|
+
...
|
|
650
|
+
@overload
|
|
651
|
+
def __init__(__self__,
|
|
652
|
+
resource_name: str,
|
|
653
|
+
args: LoadBalancerArgs,
|
|
654
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
655
|
+
"""
|
|
656
|
+
Provides a ESA Load Balancer resource.
|
|
657
|
+
|
|
658
|
+
For information about ESA Load Balancer and how to use it, see [What is Load Balancer](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateLoadBalancer).
|
|
659
|
+
|
|
660
|
+
> **NOTE:** Available since v1.262.0.
|
|
661
|
+
|
|
662
|
+
## Example Usage
|
|
663
|
+
|
|
664
|
+
Basic Usage
|
|
665
|
+
|
|
666
|
+
```python
|
|
667
|
+
import pulumi
|
|
668
|
+
import pulumi_alicloud as alicloud
|
|
669
|
+
import pulumi_random as random
|
|
670
|
+
|
|
671
|
+
config = pulumi.Config()
|
|
672
|
+
name = config.get("name")
|
|
673
|
+
if name is None:
|
|
674
|
+
name = "terraform-example"
|
|
675
|
+
default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan")
|
|
676
|
+
default_integer = random.index.Integer("default",
|
|
677
|
+
min=10000,
|
|
678
|
+
max=99999)
|
|
679
|
+
resource_site_origin_pool = alicloud.esa.Site("resource_Site_OriginPool",
|
|
680
|
+
site_name=f"{name}{default_integer['result']}.com",
|
|
681
|
+
instance_id=default.sites[0].instance_id,
|
|
682
|
+
coverage="overseas",
|
|
683
|
+
access_type="NS")
|
|
684
|
+
resource_origin_pool_load_balancer11 = alicloud.esa.OriginPool("resource_OriginPool_LoadBalancer_1_1",
|
|
685
|
+
origins=[{
|
|
686
|
+
"type": "ip_domain",
|
|
687
|
+
"address": "www.example.com",
|
|
688
|
+
"header": "{\\"Host\\":[\\"www.example.com\\"]}",
|
|
689
|
+
"enabled": True,
|
|
690
|
+
"weight": 30,
|
|
691
|
+
"name": "origin1",
|
|
692
|
+
}],
|
|
693
|
+
site_id=resource_site_origin_pool.id,
|
|
694
|
+
origin_pool_name="originpool1",
|
|
695
|
+
enabled=True)
|
|
696
|
+
default_load_balancer = alicloud.esa.LoadBalancer("default",
|
|
697
|
+
load_balancer_name="lb.exampleloadbalancer.top",
|
|
698
|
+
fallback_pool=resource_origin_pool_load_balancer11.origin_pool_id,
|
|
699
|
+
site_id=resource_site_origin_pool.id,
|
|
700
|
+
description=name,
|
|
701
|
+
default_pools=[resource_origin_pool_load_balancer11.origin_pool_id],
|
|
702
|
+
steering_policy="geo",
|
|
703
|
+
monitor={
|
|
704
|
+
"type": "ICMP Ping",
|
|
705
|
+
"timeout": 5,
|
|
706
|
+
"monitoring_region": "ChineseMainland",
|
|
707
|
+
"consecutive_up": 3,
|
|
708
|
+
"consecutive_down": 5,
|
|
709
|
+
"interval": 60,
|
|
710
|
+
})
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
## Import
|
|
714
|
+
|
|
715
|
+
ESA Load Balancer can be imported using the id, e.g.
|
|
716
|
+
|
|
717
|
+
```sh
|
|
718
|
+
$ pulumi import alicloud:esa/loadBalancer:LoadBalancer example <site_id>:<load_balancer_id>
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
:param str resource_name: The name of the resource.
|
|
722
|
+
:param LoadBalancerArgs args: The arguments to use to populate this resource's properties.
|
|
723
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
724
|
+
"""
|
|
725
|
+
...
|
|
726
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
727
|
+
resource_args, opts = _utilities.get_resource_args_opts(LoadBalancerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
728
|
+
if resource_args is not None:
|
|
729
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
730
|
+
else:
|
|
731
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
732
|
+
|
|
733
|
+
def _internal_init(__self__,
|
|
734
|
+
resource_name: str,
|
|
735
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
736
|
+
adaptive_routing: Optional[pulumi.Input[Union['LoadBalancerAdaptiveRoutingArgs', 'LoadBalancerAdaptiveRoutingArgsDict']]] = None,
|
|
737
|
+
default_pools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
|
|
738
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
739
|
+
enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
740
|
+
fallback_pool: Optional[pulumi.Input[_builtins.int]] = None,
|
|
741
|
+
load_balancer_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
742
|
+
monitor: Optional[pulumi.Input[Union['LoadBalancerMonitorArgs', 'LoadBalancerMonitorArgsDict']]] = None,
|
|
743
|
+
random_steering: Optional[pulumi.Input[Union['LoadBalancerRandomSteeringArgs', 'LoadBalancerRandomSteeringArgsDict']]] = None,
|
|
744
|
+
region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
745
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerRuleArgs', 'LoadBalancerRuleArgsDict']]]]] = None,
|
|
746
|
+
session_affinity: Optional[pulumi.Input[_builtins.str]] = None,
|
|
747
|
+
site_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
748
|
+
steering_policy: Optional[pulumi.Input[_builtins.str]] = None,
|
|
749
|
+
sub_region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
750
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
751
|
+
__props__=None):
|
|
752
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
753
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
754
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
755
|
+
if opts.id is None:
|
|
756
|
+
if __props__ is not None:
|
|
757
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
758
|
+
__props__ = LoadBalancerArgs.__new__(LoadBalancerArgs)
|
|
759
|
+
|
|
760
|
+
__props__.__dict__["adaptive_routing"] = adaptive_routing
|
|
761
|
+
if default_pools is None and not opts.urn:
|
|
762
|
+
raise TypeError("Missing required property 'default_pools'")
|
|
763
|
+
__props__.__dict__["default_pools"] = default_pools
|
|
764
|
+
__props__.__dict__["description"] = description
|
|
765
|
+
__props__.__dict__["enabled"] = enabled
|
|
766
|
+
if fallback_pool is None and not opts.urn:
|
|
767
|
+
raise TypeError("Missing required property 'fallback_pool'")
|
|
768
|
+
__props__.__dict__["fallback_pool"] = fallback_pool
|
|
769
|
+
if load_balancer_name is None and not opts.urn:
|
|
770
|
+
raise TypeError("Missing required property 'load_balancer_name'")
|
|
771
|
+
__props__.__dict__["load_balancer_name"] = load_balancer_name
|
|
772
|
+
if monitor is None and not opts.urn:
|
|
773
|
+
raise TypeError("Missing required property 'monitor'")
|
|
774
|
+
__props__.__dict__["monitor"] = monitor
|
|
775
|
+
__props__.__dict__["random_steering"] = random_steering
|
|
776
|
+
__props__.__dict__["region_pools"] = region_pools
|
|
777
|
+
__props__.__dict__["rules"] = rules
|
|
778
|
+
__props__.__dict__["session_affinity"] = session_affinity
|
|
779
|
+
if site_id is None and not opts.urn:
|
|
780
|
+
raise TypeError("Missing required property 'site_id'")
|
|
781
|
+
__props__.__dict__["site_id"] = site_id
|
|
782
|
+
if steering_policy is None and not opts.urn:
|
|
783
|
+
raise TypeError("Missing required property 'steering_policy'")
|
|
784
|
+
__props__.__dict__["steering_policy"] = steering_policy
|
|
785
|
+
__props__.__dict__["sub_region_pools"] = sub_region_pools
|
|
786
|
+
__props__.__dict__["ttl"] = ttl
|
|
787
|
+
__props__.__dict__["load_balancer_id"] = None
|
|
788
|
+
__props__.__dict__["status"] = None
|
|
789
|
+
super(LoadBalancer, __self__).__init__(
|
|
790
|
+
'alicloud:esa/loadBalancer:LoadBalancer',
|
|
791
|
+
resource_name,
|
|
792
|
+
__props__,
|
|
793
|
+
opts)
|
|
794
|
+
|
|
795
|
+
@staticmethod
|
|
796
|
+
def get(resource_name: str,
|
|
797
|
+
id: pulumi.Input[str],
|
|
798
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
799
|
+
adaptive_routing: Optional[pulumi.Input[Union['LoadBalancerAdaptiveRoutingArgs', 'LoadBalancerAdaptiveRoutingArgsDict']]] = None,
|
|
800
|
+
default_pools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None,
|
|
801
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
802
|
+
enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
803
|
+
fallback_pool: Optional[pulumi.Input[_builtins.int]] = None,
|
|
804
|
+
load_balancer_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
805
|
+
load_balancer_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
806
|
+
monitor: Optional[pulumi.Input[Union['LoadBalancerMonitorArgs', 'LoadBalancerMonitorArgsDict']]] = None,
|
|
807
|
+
random_steering: Optional[pulumi.Input[Union['LoadBalancerRandomSteeringArgs', 'LoadBalancerRandomSteeringArgsDict']]] = None,
|
|
808
|
+
region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
809
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerRuleArgs', 'LoadBalancerRuleArgsDict']]]]] = None,
|
|
810
|
+
session_affinity: Optional[pulumi.Input[_builtins.str]] = None,
|
|
811
|
+
site_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
812
|
+
status: Optional[pulumi.Input[_builtins.str]] = None,
|
|
813
|
+
steering_policy: Optional[pulumi.Input[_builtins.str]] = None,
|
|
814
|
+
sub_region_pools: Optional[pulumi.Input[_builtins.str]] = None,
|
|
815
|
+
ttl: Optional[pulumi.Input[_builtins.int]] = None) -> 'LoadBalancer':
|
|
816
|
+
"""
|
|
817
|
+
Get an existing LoadBalancer resource's state with the given name, id, and optional extra
|
|
818
|
+
properties used to qualify the lookup.
|
|
819
|
+
|
|
820
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
821
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
822
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
823
|
+
:param pulumi.Input[Union['LoadBalancerAdaptiveRoutingArgs', 'LoadBalancerAdaptiveRoutingArgsDict']] adaptive_routing: Cross-pool origin configuration. See `adaptive_routing` below.
|
|
824
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] default_pools: List of default pool IDs.
|
|
825
|
+
:param pulumi.Input[_builtins.str] description: The detailed description of the load balancer for easy management and identification.
|
|
826
|
+
:param pulumi.Input[_builtins.bool] enabled: Whether the load balancer is enabled.
|
|
827
|
+
:param pulumi.Input[_builtins.int] fallback_pool: The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
828
|
+
:param pulumi.Input[_builtins.int] load_balancer_id: The unique identifier ID of the load balancer.
|
|
829
|
+
:param pulumi.Input[_builtins.str] load_balancer_name: The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
830
|
+
:param pulumi.Input[Union['LoadBalancerMonitorArgs', 'LoadBalancerMonitorArgsDict']] monitor: Monitor configuration for health check. See `monitor` below.
|
|
831
|
+
:param pulumi.Input[Union['LoadBalancerRandomSteeringArgs', 'LoadBalancerRandomSteeringArgsDict']] random_steering: Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
832
|
+
:param pulumi.Input[_builtins.str] region_pools: Address pools corresponding to primary regions.
|
|
833
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerRuleArgs', 'LoadBalancerRuleArgsDict']]]] rules: Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
834
|
+
:param pulumi.Input[_builtins.str] session_affinity: Session persistence. Valid values:
|
|
835
|
+
:param pulumi.Input[_builtins.int] site_id: The site ID.
|
|
836
|
+
:param pulumi.Input[_builtins.str] status: The status of the load balancer.
|
|
837
|
+
:param pulumi.Input[_builtins.str] steering_policy: Load balancing policy.
|
|
838
|
+
:param pulumi.Input[_builtins.str] sub_region_pools: Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
839
|
+
:param pulumi.Input[_builtins.int] ttl: TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
840
|
+
"""
|
|
841
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
842
|
+
|
|
843
|
+
__props__ = _LoadBalancerState.__new__(_LoadBalancerState)
|
|
844
|
+
|
|
845
|
+
__props__.__dict__["adaptive_routing"] = adaptive_routing
|
|
846
|
+
__props__.__dict__["default_pools"] = default_pools
|
|
847
|
+
__props__.__dict__["description"] = description
|
|
848
|
+
__props__.__dict__["enabled"] = enabled
|
|
849
|
+
__props__.__dict__["fallback_pool"] = fallback_pool
|
|
850
|
+
__props__.__dict__["load_balancer_id"] = load_balancer_id
|
|
851
|
+
__props__.__dict__["load_balancer_name"] = load_balancer_name
|
|
852
|
+
__props__.__dict__["monitor"] = monitor
|
|
853
|
+
__props__.__dict__["random_steering"] = random_steering
|
|
854
|
+
__props__.__dict__["region_pools"] = region_pools
|
|
855
|
+
__props__.__dict__["rules"] = rules
|
|
856
|
+
__props__.__dict__["session_affinity"] = session_affinity
|
|
857
|
+
__props__.__dict__["site_id"] = site_id
|
|
858
|
+
__props__.__dict__["status"] = status
|
|
859
|
+
__props__.__dict__["steering_policy"] = steering_policy
|
|
860
|
+
__props__.__dict__["sub_region_pools"] = sub_region_pools
|
|
861
|
+
__props__.__dict__["ttl"] = ttl
|
|
862
|
+
return LoadBalancer(resource_name, opts=opts, __props__=__props__)
|
|
863
|
+
|
|
864
|
+
@_builtins.property
|
|
865
|
+
@pulumi.getter(name="adaptiveRouting")
|
|
866
|
+
def adaptive_routing(self) -> pulumi.Output['outputs.LoadBalancerAdaptiveRouting']:
|
|
867
|
+
"""
|
|
868
|
+
Cross-pool origin configuration. See `adaptive_routing` below.
|
|
869
|
+
"""
|
|
870
|
+
return pulumi.get(self, "adaptive_routing")
|
|
871
|
+
|
|
872
|
+
@_builtins.property
|
|
873
|
+
@pulumi.getter(name="defaultPools")
|
|
874
|
+
def default_pools(self) -> pulumi.Output[Sequence[_builtins.int]]:
|
|
875
|
+
"""
|
|
876
|
+
List of default pool IDs.
|
|
877
|
+
"""
|
|
878
|
+
return pulumi.get(self, "default_pools")
|
|
879
|
+
|
|
880
|
+
@_builtins.property
|
|
881
|
+
@pulumi.getter
|
|
882
|
+
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
883
|
+
"""
|
|
884
|
+
The detailed description of the load balancer for easy management and identification.
|
|
885
|
+
"""
|
|
886
|
+
return pulumi.get(self, "description")
|
|
887
|
+
|
|
888
|
+
@_builtins.property
|
|
889
|
+
@pulumi.getter
|
|
890
|
+
def enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
891
|
+
"""
|
|
892
|
+
Whether the load balancer is enabled.
|
|
893
|
+
"""
|
|
894
|
+
return pulumi.get(self, "enabled")
|
|
895
|
+
|
|
896
|
+
@_builtins.property
|
|
897
|
+
@pulumi.getter(name="fallbackPool")
|
|
898
|
+
def fallback_pool(self) -> pulumi.Output[_builtins.int]:
|
|
899
|
+
"""
|
|
900
|
+
The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.
|
|
901
|
+
"""
|
|
902
|
+
return pulumi.get(self, "fallback_pool")
|
|
903
|
+
|
|
904
|
+
@_builtins.property
|
|
905
|
+
@pulumi.getter(name="loadBalancerId")
|
|
906
|
+
def load_balancer_id(self) -> pulumi.Output[_builtins.int]:
|
|
907
|
+
"""
|
|
908
|
+
The unique identifier ID of the load balancer.
|
|
909
|
+
"""
|
|
910
|
+
return pulumi.get(self, "load_balancer_id")
|
|
911
|
+
|
|
912
|
+
@_builtins.property
|
|
913
|
+
@pulumi.getter(name="loadBalancerName")
|
|
914
|
+
def load_balancer_name(self) -> pulumi.Output[_builtins.str]:
|
|
915
|
+
"""
|
|
916
|
+
The name of the load balancer must meet the domain name format verification and be a subdomain name under the site.
|
|
917
|
+
"""
|
|
918
|
+
return pulumi.get(self, "load_balancer_name")
|
|
919
|
+
|
|
920
|
+
@_builtins.property
|
|
921
|
+
@pulumi.getter
|
|
922
|
+
def monitor(self) -> pulumi.Output['outputs.LoadBalancerMonitor']:
|
|
923
|
+
"""
|
|
924
|
+
Monitor configuration for health check. See `monitor` below.
|
|
925
|
+
"""
|
|
926
|
+
return pulumi.get(self, "monitor")
|
|
927
|
+
|
|
928
|
+
@_builtins.property
|
|
929
|
+
@pulumi.getter(name="randomSteering")
|
|
930
|
+
def random_steering(self) -> pulumi.Output[Optional['outputs.LoadBalancerRandomSteering']]:
|
|
931
|
+
"""
|
|
932
|
+
Weighted round-robin configuration, used to control the traffic distribution weights among different pools. See `random_steering` below.
|
|
933
|
+
"""
|
|
934
|
+
return pulumi.get(self, "random_steering")
|
|
935
|
+
|
|
936
|
+
@_builtins.property
|
|
937
|
+
@pulumi.getter(name="regionPools")
|
|
938
|
+
def region_pools(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
939
|
+
"""
|
|
940
|
+
Address pools corresponding to primary regions.
|
|
941
|
+
"""
|
|
942
|
+
return pulumi.get(self, "region_pools")
|
|
943
|
+
|
|
944
|
+
@_builtins.property
|
|
945
|
+
@pulumi.getter
|
|
946
|
+
def rules(self) -> pulumi.Output[Optional[Sequence['outputs.LoadBalancerRule']]]:
|
|
947
|
+
"""
|
|
948
|
+
Rule configuration list, used to define behavior under specific conditions. See `rules` below.
|
|
949
|
+
"""
|
|
950
|
+
return pulumi.get(self, "rules")
|
|
951
|
+
|
|
952
|
+
@_builtins.property
|
|
953
|
+
@pulumi.getter(name="sessionAffinity")
|
|
954
|
+
def session_affinity(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
955
|
+
"""
|
|
956
|
+
Session persistence. Valid values:
|
|
957
|
+
"""
|
|
958
|
+
return pulumi.get(self, "session_affinity")
|
|
959
|
+
|
|
960
|
+
@_builtins.property
|
|
961
|
+
@pulumi.getter(name="siteId")
|
|
962
|
+
def site_id(self) -> pulumi.Output[_builtins.int]:
|
|
963
|
+
"""
|
|
964
|
+
The site ID.
|
|
965
|
+
"""
|
|
966
|
+
return pulumi.get(self, "site_id")
|
|
967
|
+
|
|
968
|
+
@_builtins.property
|
|
969
|
+
@pulumi.getter
|
|
970
|
+
def status(self) -> pulumi.Output[_builtins.str]:
|
|
971
|
+
"""
|
|
972
|
+
The status of the load balancer.
|
|
973
|
+
"""
|
|
974
|
+
return pulumi.get(self, "status")
|
|
975
|
+
|
|
976
|
+
@_builtins.property
|
|
977
|
+
@pulumi.getter(name="steeringPolicy")
|
|
978
|
+
def steering_policy(self) -> pulumi.Output[_builtins.str]:
|
|
979
|
+
"""
|
|
980
|
+
Load balancing policy.
|
|
981
|
+
"""
|
|
982
|
+
return pulumi.get(self, "steering_policy")
|
|
983
|
+
|
|
984
|
+
@_builtins.property
|
|
985
|
+
@pulumi.getter(name="subRegionPools")
|
|
986
|
+
def sub_region_pools(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
987
|
+
"""
|
|
988
|
+
Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.
|
|
989
|
+
"""
|
|
990
|
+
return pulumi.get(self, "sub_region_pools")
|
|
991
|
+
|
|
992
|
+
@_builtins.property
|
|
993
|
+
@pulumi.getter
|
|
994
|
+
def ttl(self) -> pulumi.Output[_builtins.int]:
|
|
995
|
+
"""
|
|
996
|
+
TTL value, the time-to-live for DNS records. The default value is 30. The value range is 10-600.
|
|
997
|
+
"""
|
|
998
|
+
return pulumi.get(self, "ttl")
|
|
999
|
+
|