pulumi-digitalocean 4.27.0__py3-none-any.whl → 4.39.0a1736833057__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-digitalocean might be problematic. Click here for more details.
- pulumi_digitalocean/__init__.py +75 -0
- pulumi_digitalocean/_enums.py +131 -52
- pulumi_digitalocean/_inputs.py +5767 -399
- pulumi_digitalocean/_utilities.py +41 -5
- pulumi_digitalocean/app.py +199 -67
- pulumi_digitalocean/cdn.py +20 -23
- pulumi_digitalocean/certificate.py +45 -42
- pulumi_digitalocean/config/__init__.pyi +5 -0
- pulumi_digitalocean/config/vars.py +5 -0
- pulumi_digitalocean/container_registry.py +11 -6
- pulumi_digitalocean/container_registry_docker_credentials.py +53 -12
- pulumi_digitalocean/custom_image.py +13 -8
- pulumi_digitalocean/database_cluster.py +298 -120
- pulumi_digitalocean/database_connection_pool.py +15 -10
- pulumi_digitalocean/database_db.py +19 -12
- pulumi_digitalocean/database_firewall.py +78 -75
- pulumi_digitalocean/database_kafka_config.py +1040 -0
- pulumi_digitalocean/database_kafka_topic.py +66 -61
- pulumi_digitalocean/database_mongodb_config.py +452 -0
- pulumi_digitalocean/database_mysql_config.py +15 -12
- pulumi_digitalocean/database_opensearch_config.py +2069 -0
- pulumi_digitalocean/database_postgresql_config.py +2614 -0
- pulumi_digitalocean/database_redis_config.py +29 -12
- pulumi_digitalocean/database_replica.py +29 -24
- pulumi_digitalocean/database_user.py +90 -75
- pulumi_digitalocean/dns_record.py +13 -8
- pulumi_digitalocean/domain.py +7 -6
- pulumi_digitalocean/droplet.py +89 -31
- pulumi_digitalocean/droplet_autoscale.py +474 -0
- pulumi_digitalocean/droplet_snapshot.py +23 -14
- pulumi_digitalocean/firewall.py +118 -106
- pulumi_digitalocean/floating_ip.py +19 -16
- pulumi_digitalocean/floating_ip_assignment.py +19 -16
- pulumi_digitalocean/get_account.py +18 -9
- pulumi_digitalocean/get_app.py +57 -10
- pulumi_digitalocean/get_certificate.py +19 -9
- pulumi_digitalocean/get_container_registry.py +19 -9
- pulumi_digitalocean/get_database_ca.py +14 -9
- pulumi_digitalocean/get_database_cluster.py +119 -11
- pulumi_digitalocean/get_database_connection_pool.py +25 -9
- pulumi_digitalocean/get_database_replica.py +29 -9
- pulumi_digitalocean/get_database_user.py +21 -9
- pulumi_digitalocean/get_domain.py +16 -9
- pulumi_digitalocean/get_domains.py +34 -27
- pulumi_digitalocean/get_droplet.py +66 -23
- pulumi_digitalocean/get_droplet_autoscale.py +197 -0
- pulumi_digitalocean/get_droplet_snapshot.py +36 -23
- pulumi_digitalocean/get_droplets.py +80 -54
- pulumi_digitalocean/get_firewall.py +29 -13
- pulumi_digitalocean/get_floating_ip.py +16 -9
- pulumi_digitalocean/get_image.py +42 -27
- pulumi_digitalocean/get_images.py +56 -53
- pulumi_digitalocean/get_kubernetes_cluster.py +53 -6
- pulumi_digitalocean/get_kubernetes_versions.py +43 -41
- pulumi_digitalocean/get_load_balancer.py +81 -17
- pulumi_digitalocean/get_project.py +23 -9
- pulumi_digitalocean/get_projects.py +56 -53
- pulumi_digitalocean/get_record.py +23 -9
- pulumi_digitalocean/get_records.py +62 -13
- pulumi_digitalocean/get_region.py +17 -9
- pulumi_digitalocean/get_regions.py +56 -53
- pulumi_digitalocean/get_reserved_ip.py +16 -9
- pulumi_digitalocean/get_reserved_ipv6.py +118 -0
- pulumi_digitalocean/get_sizes.py +24 -13
- pulumi_digitalocean/get_spaces_bucket.py +18 -9
- pulumi_digitalocean/get_spaces_bucket_object.py +41 -14
- pulumi_digitalocean/get_spaces_bucket_objects.py +26 -5
- pulumi_digitalocean/get_spaces_buckets.py +48 -45
- pulumi_digitalocean/get_ssh_key.py +27 -19
- pulumi_digitalocean/get_ssh_keys.py +40 -37
- pulumi_digitalocean/get_tag.py +31 -19
- pulumi_digitalocean/get_tags.py +32 -25
- pulumi_digitalocean/get_volume.py +35 -23
- pulumi_digitalocean/get_volume_snapshot.py +35 -21
- pulumi_digitalocean/get_vpc.py +33 -23
- pulumi_digitalocean/get_vpc_peering.py +244 -0
- pulumi_digitalocean/kubernetes_cluster.py +86 -35
- pulumi_digitalocean/kubernetes_node_pool.py +46 -43
- pulumi_digitalocean/load_balancer.py +320 -157
- pulumi_digitalocean/monitor_alert.py +17 -12
- pulumi_digitalocean/outputs.py +3419 -344
- pulumi_digitalocean/project.py +19 -16
- pulumi_digitalocean/project_resources.py +11 -8
- pulumi_digitalocean/provider.py +5 -0
- pulumi_digitalocean/pulumi-plugin.json +2 -1
- pulumi_digitalocean/reserved_ip.py +19 -16
- pulumi_digitalocean/reserved_ip_assignment.py +19 -16
- pulumi_digitalocean/reserved_ipv6.py +232 -0
- pulumi_digitalocean/reserved_ipv6_assignment.py +171 -0
- pulumi_digitalocean/spaces_bucket.py +70 -79
- pulumi_digitalocean/spaces_bucket_cors_configuration.py +30 -25
- pulumi_digitalocean/spaces_bucket_object.py +11 -12
- pulumi_digitalocean/spaces_bucket_policy.py +21 -16
- pulumi_digitalocean/ssh_key.py +19 -10
- pulumi_digitalocean/tag.py +13 -10
- pulumi_digitalocean/uptime_alert.py +10 -5
- pulumi_digitalocean/uptime_check.py +5 -0
- pulumi_digitalocean/volume.py +47 -50
- pulumi_digitalocean/volume_attachment.py +25 -20
- pulumi_digitalocean/volume_snapshot.py +17 -10
- pulumi_digitalocean/vpc.py +27 -22
- pulumi_digitalocean/vpc_peering.py +378 -0
- {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/METADATA +7 -6
- pulumi_digitalocean-4.39.0a1736833057.dist-info/RECORD +108 -0
- {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/WHEEL +1 -1
- pulumi_digitalocean-4.27.0.dist-info/RECORD +0 -97
- {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/top_level.txt +0 -0
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import warnings
|
|
7
|
+
import sys
|
|
7
8
|
import pulumi
|
|
8
9
|
import pulumi.runtime
|
|
9
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
|
|
10
15
|
from . import _utilities
|
|
11
16
|
from . import outputs
|
|
12
17
|
from ._enums import *
|
|
@@ -17,33 +22,35 @@ __all__ = ['LoadBalancerArgs', 'LoadBalancer']
|
|
|
17
22
|
@pulumi.input_type
|
|
18
23
|
class LoadBalancerArgs:
|
|
19
24
|
def __init__(__self__, *,
|
|
20
|
-
forwarding_rules: pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]],
|
|
21
25
|
algorithm: Optional[pulumi.Input[Union[str, 'Algorithm']]] = None,
|
|
22
26
|
disable_lets_encrypt_dns_records: Optional[pulumi.Input[bool]] = None,
|
|
27
|
+
domains: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]] = None,
|
|
23
28
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
24
29
|
droplet_tag: Optional[pulumi.Input[str]] = None,
|
|
25
30
|
enable_backend_keepalive: Optional[pulumi.Input[bool]] = None,
|
|
26
31
|
enable_proxy_protocol: Optional[pulumi.Input[bool]] = None,
|
|
27
32
|
firewall: Optional[pulumi.Input['LoadBalancerFirewallArgs']] = None,
|
|
33
|
+
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]] = None,
|
|
34
|
+
glb_settings: Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']] = None,
|
|
28
35
|
healthcheck: Optional[pulumi.Input['LoadBalancerHealthcheckArgs']] = None,
|
|
29
36
|
http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
|
30
37
|
name: Optional[pulumi.Input[str]] = None,
|
|
38
|
+
network: Optional[pulumi.Input[str]] = None,
|
|
31
39
|
project_id: Optional[pulumi.Input[str]] = None,
|
|
32
40
|
redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
|
|
33
41
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
34
42
|
size: Optional[pulumi.Input[str]] = None,
|
|
35
43
|
size_unit: Optional[pulumi.Input[int]] = None,
|
|
36
44
|
sticky_sessions: Optional[pulumi.Input['LoadBalancerStickySessionsArgs']] = None,
|
|
45
|
+
target_load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
37
46
|
type: Optional[pulumi.Input[str]] = None,
|
|
38
47
|
vpc_uuid: Optional[pulumi.Input[str]] = None):
|
|
39
48
|
"""
|
|
40
49
|
The set of arguments for constructing a LoadBalancer resource.
|
|
41
|
-
:param pulumi.Input[
|
|
42
|
-
Load Balancer. The `forwarding_rule` block is documented below.
|
|
43
|
-
:param pulumi.Input[Union[str, 'Algorithm']] algorithm: The load balancing algorithm used to determine
|
|
44
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
50
|
+
:param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
45
51
|
or `least_connections`. The default value is `round_robin`.
|
|
46
52
|
:param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
|
|
53
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
47
54
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
|
|
48
55
|
:param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
|
|
49
56
|
:param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
|
|
@@ -51,27 +58,37 @@ class LoadBalancerArgs:
|
|
|
51
58
|
Protocol should be used to pass information from connecting client requests to
|
|
52
59
|
the backend service. Default value is `false`.
|
|
53
60
|
:param pulumi.Input['LoadBalancerFirewallArgs'] firewall: A block containing rules for allowing/denying traffic to the Load Balancer. The `firewall` block is documented below. Only 1 firewall is allowed.
|
|
61
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
|
|
62
|
+
Load Balancer. The `forwarding_rule` block is documented below.
|
|
63
|
+
:param pulumi.Input['LoadBalancerGlbSettingsArgs'] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
54
64
|
:param pulumi.Input['LoadBalancerHealthcheckArgs'] healthcheck: A `healthcheck` block to be assigned to the
|
|
55
65
|
Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
|
|
56
66
|
:param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
|
|
57
67
|
:param pulumi.Input[str] name: The Load Balancer name
|
|
68
|
+
:param pulumi.Input[str] network: The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
58
69
|
:param pulumi.Input[str] project_id: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project.
|
|
59
70
|
:param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
|
|
60
71
|
HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
|
|
61
72
|
Default value is `false`.
|
|
62
73
|
:param pulumi.Input[Union[str, 'Region']] region: The region to start in
|
|
63
74
|
:param pulumi.Input[str] size: The size of the Load Balancer. It must be either `lb-small`, `lb-medium`, or `lb-large`. Defaults to `lb-small`. Only one of `size` or `size_unit` may be provided.
|
|
64
|
-
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1,
|
|
75
|
+
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
65
76
|
:param pulumi.Input['LoadBalancerStickySessionsArgs'] sticky_sessions: A `sticky_sessions` block to be assigned to the
|
|
66
77
|
Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
|
|
67
|
-
:param pulumi.Input[str]
|
|
78
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
79
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
80
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
68
81
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
|
|
69
82
|
"""
|
|
70
|
-
|
|
83
|
+
if algorithm is not None:
|
|
84
|
+
warnings.warn("""This field has been deprecated. You can no longer specify an algorithm for load balancers.""", DeprecationWarning)
|
|
85
|
+
pulumi.log.warn("""algorithm is deprecated: This field has been deprecated. You can no longer specify an algorithm for load balancers.""")
|
|
71
86
|
if algorithm is not None:
|
|
72
87
|
pulumi.set(__self__, "algorithm", algorithm)
|
|
73
88
|
if disable_lets_encrypt_dns_records is not None:
|
|
74
89
|
pulumi.set(__self__, "disable_lets_encrypt_dns_records", disable_lets_encrypt_dns_records)
|
|
90
|
+
if domains is not None:
|
|
91
|
+
pulumi.set(__self__, "domains", domains)
|
|
75
92
|
if droplet_ids is not None:
|
|
76
93
|
pulumi.set(__self__, "droplet_ids", droplet_ids)
|
|
77
94
|
if droplet_tag is not None:
|
|
@@ -82,12 +99,18 @@ class LoadBalancerArgs:
|
|
|
82
99
|
pulumi.set(__self__, "enable_proxy_protocol", enable_proxy_protocol)
|
|
83
100
|
if firewall is not None:
|
|
84
101
|
pulumi.set(__self__, "firewall", firewall)
|
|
102
|
+
if forwarding_rules is not None:
|
|
103
|
+
pulumi.set(__self__, "forwarding_rules", forwarding_rules)
|
|
104
|
+
if glb_settings is not None:
|
|
105
|
+
pulumi.set(__self__, "glb_settings", glb_settings)
|
|
85
106
|
if healthcheck is not None:
|
|
86
107
|
pulumi.set(__self__, "healthcheck", healthcheck)
|
|
87
108
|
if http_idle_timeout_seconds is not None:
|
|
88
109
|
pulumi.set(__self__, "http_idle_timeout_seconds", http_idle_timeout_seconds)
|
|
89
110
|
if name is not None:
|
|
90
111
|
pulumi.set(__self__, "name", name)
|
|
112
|
+
if network is not None:
|
|
113
|
+
pulumi.set(__self__, "network", network)
|
|
91
114
|
if project_id is not None:
|
|
92
115
|
pulumi.set(__self__, "project_id", project_id)
|
|
93
116
|
if redirect_http_to_https is not None:
|
|
@@ -100,30 +123,19 @@ class LoadBalancerArgs:
|
|
|
100
123
|
pulumi.set(__self__, "size_unit", size_unit)
|
|
101
124
|
if sticky_sessions is not None:
|
|
102
125
|
pulumi.set(__self__, "sticky_sessions", sticky_sessions)
|
|
126
|
+
if target_load_balancer_ids is not None:
|
|
127
|
+
pulumi.set(__self__, "target_load_balancer_ids", target_load_balancer_ids)
|
|
103
128
|
if type is not None:
|
|
104
129
|
pulumi.set(__self__, "type", type)
|
|
105
130
|
if vpc_uuid is not None:
|
|
106
131
|
pulumi.set(__self__, "vpc_uuid", vpc_uuid)
|
|
107
132
|
|
|
108
|
-
@property
|
|
109
|
-
@pulumi.getter(name="forwardingRules")
|
|
110
|
-
def forwarding_rules(self) -> pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]:
|
|
111
|
-
"""
|
|
112
|
-
A list of `forwarding_rule` to be assigned to the
|
|
113
|
-
Load Balancer. The `forwarding_rule` block is documented below.
|
|
114
|
-
"""
|
|
115
|
-
return pulumi.get(self, "forwarding_rules")
|
|
116
|
-
|
|
117
|
-
@forwarding_rules.setter
|
|
118
|
-
def forwarding_rules(self, value: pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]):
|
|
119
|
-
pulumi.set(self, "forwarding_rules", value)
|
|
120
|
-
|
|
121
133
|
@property
|
|
122
134
|
@pulumi.getter
|
|
135
|
+
@_utilities.deprecated("""This field has been deprecated. You can no longer specify an algorithm for load balancers.""")
|
|
123
136
|
def algorithm(self) -> Optional[pulumi.Input[Union[str, 'Algorithm']]]:
|
|
124
137
|
"""
|
|
125
|
-
|
|
126
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
138
|
+
**Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
127
139
|
or `least_connections`. The default value is `round_robin`.
|
|
128
140
|
"""
|
|
129
141
|
return pulumi.get(self, "algorithm")
|
|
@@ -144,6 +156,18 @@ class LoadBalancerArgs:
|
|
|
144
156
|
def disable_lets_encrypt_dns_records(self, value: Optional[pulumi.Input[bool]]):
|
|
145
157
|
pulumi.set(self, "disable_lets_encrypt_dns_records", value)
|
|
146
158
|
|
|
159
|
+
@property
|
|
160
|
+
@pulumi.getter
|
|
161
|
+
def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]:
|
|
162
|
+
"""
|
|
163
|
+
A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
164
|
+
"""
|
|
165
|
+
return pulumi.get(self, "domains")
|
|
166
|
+
|
|
167
|
+
@domains.setter
|
|
168
|
+
def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]):
|
|
169
|
+
pulumi.set(self, "domains", value)
|
|
170
|
+
|
|
147
171
|
@property
|
|
148
172
|
@pulumi.getter(name="dropletIds")
|
|
149
173
|
def droplet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
|
|
@@ -206,6 +230,31 @@ class LoadBalancerArgs:
|
|
|
206
230
|
def firewall(self, value: Optional[pulumi.Input['LoadBalancerFirewallArgs']]):
|
|
207
231
|
pulumi.set(self, "firewall", value)
|
|
208
232
|
|
|
233
|
+
@property
|
|
234
|
+
@pulumi.getter(name="forwardingRules")
|
|
235
|
+
def forwarding_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]]:
|
|
236
|
+
"""
|
|
237
|
+
A list of `forwarding_rule` to be assigned to the
|
|
238
|
+
Load Balancer. The `forwarding_rule` block is documented below.
|
|
239
|
+
"""
|
|
240
|
+
return pulumi.get(self, "forwarding_rules")
|
|
241
|
+
|
|
242
|
+
@forwarding_rules.setter
|
|
243
|
+
def forwarding_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]]):
|
|
244
|
+
pulumi.set(self, "forwarding_rules", value)
|
|
245
|
+
|
|
246
|
+
@property
|
|
247
|
+
@pulumi.getter(name="glbSettings")
|
|
248
|
+
def glb_settings(self) -> Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]:
|
|
249
|
+
"""
|
|
250
|
+
A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
251
|
+
"""
|
|
252
|
+
return pulumi.get(self, "glb_settings")
|
|
253
|
+
|
|
254
|
+
@glb_settings.setter
|
|
255
|
+
def glb_settings(self, value: Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]):
|
|
256
|
+
pulumi.set(self, "glb_settings", value)
|
|
257
|
+
|
|
209
258
|
@property
|
|
210
259
|
@pulumi.getter
|
|
211
260
|
def healthcheck(self) -> Optional[pulumi.Input['LoadBalancerHealthcheckArgs']]:
|
|
@@ -243,6 +292,18 @@ class LoadBalancerArgs:
|
|
|
243
292
|
def name(self, value: Optional[pulumi.Input[str]]):
|
|
244
293
|
pulumi.set(self, "name", value)
|
|
245
294
|
|
|
295
|
+
@property
|
|
296
|
+
@pulumi.getter
|
|
297
|
+
def network(self) -> Optional[pulumi.Input[str]]:
|
|
298
|
+
"""
|
|
299
|
+
The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
300
|
+
"""
|
|
301
|
+
return pulumi.get(self, "network")
|
|
302
|
+
|
|
303
|
+
@network.setter
|
|
304
|
+
def network(self, value: Optional[pulumi.Input[str]]):
|
|
305
|
+
pulumi.set(self, "network", value)
|
|
306
|
+
|
|
246
307
|
@property
|
|
247
308
|
@pulumi.getter(name="projectId")
|
|
248
309
|
def project_id(self) -> Optional[pulumi.Input[str]]:
|
|
@@ -297,7 +358,7 @@ class LoadBalancerArgs:
|
|
|
297
358
|
@pulumi.getter(name="sizeUnit")
|
|
298
359
|
def size_unit(self) -> Optional[pulumi.Input[int]]:
|
|
299
360
|
"""
|
|
300
|
-
The size of the Load Balancer. It must be in the range (1,
|
|
361
|
+
The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
301
362
|
"""
|
|
302
363
|
return pulumi.get(self, "size_unit")
|
|
303
364
|
|
|
@@ -318,11 +379,24 @@ class LoadBalancerArgs:
|
|
|
318
379
|
def sticky_sessions(self, value: Optional[pulumi.Input['LoadBalancerStickySessionsArgs']]):
|
|
319
380
|
pulumi.set(self, "sticky_sessions", value)
|
|
320
381
|
|
|
382
|
+
@property
|
|
383
|
+
@pulumi.getter(name="targetLoadBalancerIds")
|
|
384
|
+
def target_load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
385
|
+
"""
|
|
386
|
+
A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
387
|
+
"""
|
|
388
|
+
return pulumi.get(self, "target_load_balancer_ids")
|
|
389
|
+
|
|
390
|
+
@target_load_balancer_ids.setter
|
|
391
|
+
def target_load_balancer_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
392
|
+
pulumi.set(self, "target_load_balancer_ids", value)
|
|
393
|
+
|
|
321
394
|
@property
|
|
322
395
|
@pulumi.getter
|
|
323
396
|
def type(self) -> Optional[pulumi.Input[str]]:
|
|
324
397
|
"""
|
|
325
|
-
|
|
398
|
+
The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
399
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
326
400
|
"""
|
|
327
401
|
return pulumi.get(self, "type")
|
|
328
402
|
|
|
@@ -348,17 +422,21 @@ class _LoadBalancerState:
|
|
|
348
422
|
def __init__(__self__, *,
|
|
349
423
|
algorithm: Optional[pulumi.Input[Union[str, 'Algorithm']]] = None,
|
|
350
424
|
disable_lets_encrypt_dns_records: Optional[pulumi.Input[bool]] = None,
|
|
425
|
+
domains: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]] = None,
|
|
351
426
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
352
427
|
droplet_tag: Optional[pulumi.Input[str]] = None,
|
|
353
428
|
enable_backend_keepalive: Optional[pulumi.Input[bool]] = None,
|
|
354
429
|
enable_proxy_protocol: Optional[pulumi.Input[bool]] = None,
|
|
355
430
|
firewall: Optional[pulumi.Input['LoadBalancerFirewallArgs']] = None,
|
|
356
431
|
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]] = None,
|
|
432
|
+
glb_settings: Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']] = None,
|
|
357
433
|
healthcheck: Optional[pulumi.Input['LoadBalancerHealthcheckArgs']] = None,
|
|
358
434
|
http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
|
359
435
|
ip: Optional[pulumi.Input[str]] = None,
|
|
436
|
+
ipv6: Optional[pulumi.Input[str]] = None,
|
|
360
437
|
load_balancer_urn: Optional[pulumi.Input[str]] = None,
|
|
361
438
|
name: Optional[pulumi.Input[str]] = None,
|
|
439
|
+
network: Optional[pulumi.Input[str]] = None,
|
|
362
440
|
project_id: Optional[pulumi.Input[str]] = None,
|
|
363
441
|
redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
|
|
364
442
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
@@ -366,14 +444,15 @@ class _LoadBalancerState:
|
|
|
366
444
|
size_unit: Optional[pulumi.Input[int]] = None,
|
|
367
445
|
status: Optional[pulumi.Input[str]] = None,
|
|
368
446
|
sticky_sessions: Optional[pulumi.Input['LoadBalancerStickySessionsArgs']] = None,
|
|
447
|
+
target_load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
369
448
|
type: Optional[pulumi.Input[str]] = None,
|
|
370
449
|
vpc_uuid: Optional[pulumi.Input[str]] = None):
|
|
371
450
|
"""
|
|
372
451
|
Input properties used for looking up and filtering LoadBalancer resources.
|
|
373
|
-
:param pulumi.Input[Union[str, 'Algorithm']] algorithm:
|
|
374
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
452
|
+
:param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
375
453
|
or `least_connections`. The default value is `round_robin`.
|
|
376
454
|
:param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
|
|
455
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
377
456
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
|
|
378
457
|
:param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
|
|
379
458
|
:param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
|
|
@@ -383,28 +462,37 @@ class _LoadBalancerState:
|
|
|
383
462
|
:param pulumi.Input['LoadBalancerFirewallArgs'] firewall: A block containing rules for allowing/denying traffic to the Load Balancer. The `firewall` block is documented below. Only 1 firewall is allowed.
|
|
384
463
|
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
|
|
385
464
|
Load Balancer. The `forwarding_rule` block is documented below.
|
|
465
|
+
:param pulumi.Input['LoadBalancerGlbSettingsArgs'] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
386
466
|
:param pulumi.Input['LoadBalancerHealthcheckArgs'] healthcheck: A `healthcheck` block to be assigned to the
|
|
387
467
|
Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
|
|
388
468
|
:param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
|
|
389
469
|
:param pulumi.Input[str] ip: The ip of the Load Balancer
|
|
390
470
|
:param pulumi.Input[str] load_balancer_urn: The uniform resource name for the Load Balancer
|
|
391
471
|
:param pulumi.Input[str] name: The Load Balancer name
|
|
472
|
+
:param pulumi.Input[str] network: The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
392
473
|
:param pulumi.Input[str] project_id: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project.
|
|
393
474
|
:param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
|
|
394
475
|
HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
|
|
395
476
|
Default value is `false`.
|
|
396
477
|
:param pulumi.Input[Union[str, 'Region']] region: The region to start in
|
|
397
478
|
:param pulumi.Input[str] size: The size of the Load Balancer. It must be either `lb-small`, `lb-medium`, or `lb-large`. Defaults to `lb-small`. Only one of `size` or `size_unit` may be provided.
|
|
398
|
-
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1,
|
|
479
|
+
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
399
480
|
:param pulumi.Input['LoadBalancerStickySessionsArgs'] sticky_sessions: A `sticky_sessions` block to be assigned to the
|
|
400
481
|
Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
|
|
401
|
-
:param pulumi.Input[str]
|
|
482
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
483
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
484
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
402
485
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
|
|
403
486
|
"""
|
|
487
|
+
if algorithm is not None:
|
|
488
|
+
warnings.warn("""This field has been deprecated. You can no longer specify an algorithm for load balancers.""", DeprecationWarning)
|
|
489
|
+
pulumi.log.warn("""algorithm is deprecated: This field has been deprecated. You can no longer specify an algorithm for load balancers.""")
|
|
404
490
|
if algorithm is not None:
|
|
405
491
|
pulumi.set(__self__, "algorithm", algorithm)
|
|
406
492
|
if disable_lets_encrypt_dns_records is not None:
|
|
407
493
|
pulumi.set(__self__, "disable_lets_encrypt_dns_records", disable_lets_encrypt_dns_records)
|
|
494
|
+
if domains is not None:
|
|
495
|
+
pulumi.set(__self__, "domains", domains)
|
|
408
496
|
if droplet_ids is not None:
|
|
409
497
|
pulumi.set(__self__, "droplet_ids", droplet_ids)
|
|
410
498
|
if droplet_tag is not None:
|
|
@@ -417,16 +505,22 @@ class _LoadBalancerState:
|
|
|
417
505
|
pulumi.set(__self__, "firewall", firewall)
|
|
418
506
|
if forwarding_rules is not None:
|
|
419
507
|
pulumi.set(__self__, "forwarding_rules", forwarding_rules)
|
|
508
|
+
if glb_settings is not None:
|
|
509
|
+
pulumi.set(__self__, "glb_settings", glb_settings)
|
|
420
510
|
if healthcheck is not None:
|
|
421
511
|
pulumi.set(__self__, "healthcheck", healthcheck)
|
|
422
512
|
if http_idle_timeout_seconds is not None:
|
|
423
513
|
pulumi.set(__self__, "http_idle_timeout_seconds", http_idle_timeout_seconds)
|
|
424
514
|
if ip is not None:
|
|
425
515
|
pulumi.set(__self__, "ip", ip)
|
|
516
|
+
if ipv6 is not None:
|
|
517
|
+
pulumi.set(__self__, "ipv6", ipv6)
|
|
426
518
|
if load_balancer_urn is not None:
|
|
427
519
|
pulumi.set(__self__, "load_balancer_urn", load_balancer_urn)
|
|
428
520
|
if name is not None:
|
|
429
521
|
pulumi.set(__self__, "name", name)
|
|
522
|
+
if network is not None:
|
|
523
|
+
pulumi.set(__self__, "network", network)
|
|
430
524
|
if project_id is not None:
|
|
431
525
|
pulumi.set(__self__, "project_id", project_id)
|
|
432
526
|
if redirect_http_to_https is not None:
|
|
@@ -441,6 +535,8 @@ class _LoadBalancerState:
|
|
|
441
535
|
pulumi.set(__self__, "status", status)
|
|
442
536
|
if sticky_sessions is not None:
|
|
443
537
|
pulumi.set(__self__, "sticky_sessions", sticky_sessions)
|
|
538
|
+
if target_load_balancer_ids is not None:
|
|
539
|
+
pulumi.set(__self__, "target_load_balancer_ids", target_load_balancer_ids)
|
|
444
540
|
if type is not None:
|
|
445
541
|
pulumi.set(__self__, "type", type)
|
|
446
542
|
if vpc_uuid is not None:
|
|
@@ -448,10 +544,10 @@ class _LoadBalancerState:
|
|
|
448
544
|
|
|
449
545
|
@property
|
|
450
546
|
@pulumi.getter
|
|
547
|
+
@_utilities.deprecated("""This field has been deprecated. You can no longer specify an algorithm for load balancers.""")
|
|
451
548
|
def algorithm(self) -> Optional[pulumi.Input[Union[str, 'Algorithm']]]:
|
|
452
549
|
"""
|
|
453
|
-
|
|
454
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
550
|
+
**Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
455
551
|
or `least_connections`. The default value is `round_robin`.
|
|
456
552
|
"""
|
|
457
553
|
return pulumi.get(self, "algorithm")
|
|
@@ -472,6 +568,18 @@ class _LoadBalancerState:
|
|
|
472
568
|
def disable_lets_encrypt_dns_records(self, value: Optional[pulumi.Input[bool]]):
|
|
473
569
|
pulumi.set(self, "disable_lets_encrypt_dns_records", value)
|
|
474
570
|
|
|
571
|
+
@property
|
|
572
|
+
@pulumi.getter
|
|
573
|
+
def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]:
|
|
574
|
+
"""
|
|
575
|
+
A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
576
|
+
"""
|
|
577
|
+
return pulumi.get(self, "domains")
|
|
578
|
+
|
|
579
|
+
@domains.setter
|
|
580
|
+
def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]):
|
|
581
|
+
pulumi.set(self, "domains", value)
|
|
582
|
+
|
|
475
583
|
@property
|
|
476
584
|
@pulumi.getter(name="dropletIds")
|
|
477
585
|
def droplet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
|
|
@@ -547,6 +655,18 @@ class _LoadBalancerState:
|
|
|
547
655
|
def forwarding_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]]]):
|
|
548
656
|
pulumi.set(self, "forwarding_rules", value)
|
|
549
657
|
|
|
658
|
+
@property
|
|
659
|
+
@pulumi.getter(name="glbSettings")
|
|
660
|
+
def glb_settings(self) -> Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]:
|
|
661
|
+
"""
|
|
662
|
+
A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
663
|
+
"""
|
|
664
|
+
return pulumi.get(self, "glb_settings")
|
|
665
|
+
|
|
666
|
+
@glb_settings.setter
|
|
667
|
+
def glb_settings(self, value: Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]):
|
|
668
|
+
pulumi.set(self, "glb_settings", value)
|
|
669
|
+
|
|
550
670
|
@property
|
|
551
671
|
@pulumi.getter
|
|
552
672
|
def healthcheck(self) -> Optional[pulumi.Input['LoadBalancerHealthcheckArgs']]:
|
|
@@ -584,6 +704,15 @@ class _LoadBalancerState:
|
|
|
584
704
|
def ip(self, value: Optional[pulumi.Input[str]]):
|
|
585
705
|
pulumi.set(self, "ip", value)
|
|
586
706
|
|
|
707
|
+
@property
|
|
708
|
+
@pulumi.getter
|
|
709
|
+
def ipv6(self) -> Optional[pulumi.Input[str]]:
|
|
710
|
+
return pulumi.get(self, "ipv6")
|
|
711
|
+
|
|
712
|
+
@ipv6.setter
|
|
713
|
+
def ipv6(self, value: Optional[pulumi.Input[str]]):
|
|
714
|
+
pulumi.set(self, "ipv6", value)
|
|
715
|
+
|
|
587
716
|
@property
|
|
588
717
|
@pulumi.getter(name="loadBalancerUrn")
|
|
589
718
|
def load_balancer_urn(self) -> Optional[pulumi.Input[str]]:
|
|
@@ -608,6 +737,18 @@ class _LoadBalancerState:
|
|
|
608
737
|
def name(self, value: Optional[pulumi.Input[str]]):
|
|
609
738
|
pulumi.set(self, "name", value)
|
|
610
739
|
|
|
740
|
+
@property
|
|
741
|
+
@pulumi.getter
|
|
742
|
+
def network(self) -> Optional[pulumi.Input[str]]:
|
|
743
|
+
"""
|
|
744
|
+
The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
745
|
+
"""
|
|
746
|
+
return pulumi.get(self, "network")
|
|
747
|
+
|
|
748
|
+
@network.setter
|
|
749
|
+
def network(self, value: Optional[pulumi.Input[str]]):
|
|
750
|
+
pulumi.set(self, "network", value)
|
|
751
|
+
|
|
611
752
|
@property
|
|
612
753
|
@pulumi.getter(name="projectId")
|
|
613
754
|
def project_id(self) -> Optional[pulumi.Input[str]]:
|
|
@@ -662,7 +803,7 @@ class _LoadBalancerState:
|
|
|
662
803
|
@pulumi.getter(name="sizeUnit")
|
|
663
804
|
def size_unit(self) -> Optional[pulumi.Input[int]]:
|
|
664
805
|
"""
|
|
665
|
-
The size of the Load Balancer. It must be in the range (1,
|
|
806
|
+
The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
666
807
|
"""
|
|
667
808
|
return pulumi.get(self, "size_unit")
|
|
668
809
|
|
|
@@ -692,11 +833,24 @@ class _LoadBalancerState:
|
|
|
692
833
|
def sticky_sessions(self, value: Optional[pulumi.Input['LoadBalancerStickySessionsArgs']]):
|
|
693
834
|
pulumi.set(self, "sticky_sessions", value)
|
|
694
835
|
|
|
836
|
+
@property
|
|
837
|
+
@pulumi.getter(name="targetLoadBalancerIds")
|
|
838
|
+
def target_load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
839
|
+
"""
|
|
840
|
+
A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
841
|
+
"""
|
|
842
|
+
return pulumi.get(self, "target_load_balancer_ids")
|
|
843
|
+
|
|
844
|
+
@target_load_balancer_ids.setter
|
|
845
|
+
def target_load_balancer_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
846
|
+
pulumi.set(self, "target_load_balancer_ids", value)
|
|
847
|
+
|
|
695
848
|
@property
|
|
696
849
|
@pulumi.getter
|
|
697
850
|
def type(self) -> Optional[pulumi.Input[str]]:
|
|
698
851
|
"""
|
|
699
|
-
|
|
852
|
+
The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
853
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
700
854
|
"""
|
|
701
855
|
return pulumi.get(self, "type")
|
|
702
856
|
|
|
@@ -724,21 +878,25 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
724
878
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
725
879
|
algorithm: Optional[pulumi.Input[Union[str, 'Algorithm']]] = None,
|
|
726
880
|
disable_lets_encrypt_dns_records: Optional[pulumi.Input[bool]] = None,
|
|
881
|
+
domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]]] = None,
|
|
727
882
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
728
883
|
droplet_tag: Optional[pulumi.Input[str]] = None,
|
|
729
884
|
enable_backend_keepalive: Optional[pulumi.Input[bool]] = None,
|
|
730
885
|
enable_proxy_protocol: Optional[pulumi.Input[bool]] = None,
|
|
731
|
-
firewall: Optional[pulumi.Input[
|
|
732
|
-
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
733
|
-
|
|
886
|
+
firewall: Optional[pulumi.Input[Union['LoadBalancerFirewallArgs', 'LoadBalancerFirewallArgsDict']]] = None,
|
|
887
|
+
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]]] = None,
|
|
888
|
+
glb_settings: Optional[pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']]] = None,
|
|
889
|
+
healthcheck: Optional[pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']]] = None,
|
|
734
890
|
http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
|
735
891
|
name: Optional[pulumi.Input[str]] = None,
|
|
892
|
+
network: Optional[pulumi.Input[str]] = None,
|
|
736
893
|
project_id: Optional[pulumi.Input[str]] = None,
|
|
737
894
|
redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
|
|
738
895
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
739
896
|
size: Optional[pulumi.Input[str]] = None,
|
|
740
897
|
size_unit: Optional[pulumi.Input[int]] = None,
|
|
741
|
-
sticky_sessions: Optional[pulumi.Input[
|
|
898
|
+
sticky_sessions: Optional[pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']]] = None,
|
|
899
|
+
target_load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
742
900
|
type: Optional[pulumi.Input[str]] = None,
|
|
743
901
|
vpc_uuid: Optional[pulumi.Input[str]] = None,
|
|
744
902
|
__props__=None):
|
|
@@ -748,30 +906,30 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
748
906
|
|
|
749
907
|
## Example Usage
|
|
750
908
|
|
|
751
|
-
<!--Start PulumiCodeChooser -->
|
|
752
909
|
```python
|
|
753
910
|
import pulumi
|
|
754
911
|
import pulumi_digitalocean as digitalocean
|
|
755
912
|
|
|
756
913
|
web = digitalocean.Droplet("web",
|
|
757
|
-
|
|
914
|
+
name="web-1",
|
|
915
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
758
916
|
image="ubuntu-18-04-x64",
|
|
759
|
-
region=
|
|
917
|
+
region=digitalocean.Region.NYC3)
|
|
760
918
|
public = digitalocean.LoadBalancer("public",
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
919
|
+
name="loadbalancer-1",
|
|
920
|
+
region=digitalocean.Region.NYC3,
|
|
921
|
+
forwarding_rules=[{
|
|
922
|
+
"entry_port": 80,
|
|
923
|
+
"entry_protocol": "http",
|
|
924
|
+
"target_port": 80,
|
|
925
|
+
"target_protocol": "http",
|
|
926
|
+
}],
|
|
927
|
+
healthcheck={
|
|
928
|
+
"port": 22,
|
|
929
|
+
"protocol": "tcp",
|
|
930
|
+
},
|
|
772
931
|
droplet_ids=[web.id])
|
|
773
932
|
```
|
|
774
|
-
<!--End PulumiCodeChooser -->
|
|
775
933
|
|
|
776
934
|
When managing certificates attached to the load balancer, make sure to add the `create_before_destroy`
|
|
777
935
|
lifecycle property in order to ensure the certificate is correctly updated when changed. The order of
|
|
@@ -779,35 +937,6 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
779
937
|
`Delete old certificate`. When doing so, you must also change the name of the certificate,
|
|
780
938
|
as there cannot be multiple certificates with the same name in an account.
|
|
781
939
|
|
|
782
|
-
<!--Start PulumiCodeChooser -->
|
|
783
|
-
```python
|
|
784
|
-
import pulumi
|
|
785
|
-
import pulumi_digitalocean as digitalocean
|
|
786
|
-
|
|
787
|
-
cert = digitalocean.Certificate("cert",
|
|
788
|
-
private_key="file('key.pem')",
|
|
789
|
-
leaf_certificate="file('cert.pem')")
|
|
790
|
-
web = digitalocean.Droplet("web",
|
|
791
|
-
size="s-1vcpu-1gb",
|
|
792
|
-
image="ubuntu-18-04-x64",
|
|
793
|
-
region="nyc3")
|
|
794
|
-
public = digitalocean.LoadBalancer("public",
|
|
795
|
-
region="nyc3",
|
|
796
|
-
forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(
|
|
797
|
-
entry_port=443,
|
|
798
|
-
entry_protocol="https",
|
|
799
|
-
target_port=80,
|
|
800
|
-
target_protocol="http",
|
|
801
|
-
certificate_name=cert.name,
|
|
802
|
-
)],
|
|
803
|
-
healthcheck=digitalocean.LoadBalancerHealthcheckArgs(
|
|
804
|
-
port=22,
|
|
805
|
-
protocol="tcp",
|
|
806
|
-
),
|
|
807
|
-
droplet_ids=[web.id])
|
|
808
|
-
```
|
|
809
|
-
<!--End PulumiCodeChooser -->
|
|
810
|
-
|
|
811
940
|
## Import
|
|
812
941
|
|
|
813
942
|
Load Balancers can be imported using the `id`, e.g.
|
|
@@ -818,40 +947,44 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
818
947
|
|
|
819
948
|
:param str resource_name: The name of the resource.
|
|
820
949
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
821
|
-
:param pulumi.Input[Union[str, 'Algorithm']] algorithm:
|
|
822
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
950
|
+
:param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
823
951
|
or `least_connections`. The default value is `round_robin`.
|
|
824
952
|
:param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
|
|
953
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
825
954
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
|
|
826
955
|
:param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
|
|
827
956
|
:param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
|
|
828
957
|
:param pulumi.Input[bool] enable_proxy_protocol: A boolean value indicating whether PROXY
|
|
829
958
|
Protocol should be used to pass information from connecting client requests to
|
|
830
959
|
the backend service. Default value is `false`.
|
|
831
|
-
:param pulumi.Input[
|
|
832
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
960
|
+
:param pulumi.Input[Union['LoadBalancerFirewallArgs', 'LoadBalancerFirewallArgsDict']] firewall: A block containing rules for allowing/denying traffic to the Load Balancer. The `firewall` block is documented below. Only 1 firewall is allowed.
|
|
961
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
|
|
833
962
|
Load Balancer. The `forwarding_rule` block is documented below.
|
|
834
|
-
:param pulumi.Input[
|
|
963
|
+
:param pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
964
|
+
:param pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']] healthcheck: A `healthcheck` block to be assigned to the
|
|
835
965
|
Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
|
|
836
966
|
:param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
|
|
837
967
|
:param pulumi.Input[str] name: The Load Balancer name
|
|
968
|
+
:param pulumi.Input[str] network: The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
838
969
|
:param pulumi.Input[str] project_id: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project.
|
|
839
970
|
:param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
|
|
840
971
|
HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
|
|
841
972
|
Default value is `false`.
|
|
842
973
|
:param pulumi.Input[Union[str, 'Region']] region: The region to start in
|
|
843
974
|
:param pulumi.Input[str] size: The size of the Load Balancer. It must be either `lb-small`, `lb-medium`, or `lb-large`. Defaults to `lb-small`. Only one of `size` or `size_unit` may be provided.
|
|
844
|
-
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1,
|
|
845
|
-
:param pulumi.Input[
|
|
975
|
+
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
976
|
+
:param pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']] sticky_sessions: A `sticky_sessions` block to be assigned to the
|
|
846
977
|
Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
|
|
847
|
-
:param pulumi.Input[str]
|
|
978
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
979
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
980
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
848
981
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
|
|
849
982
|
"""
|
|
850
983
|
...
|
|
851
984
|
@overload
|
|
852
985
|
def __init__(__self__,
|
|
853
986
|
resource_name: str,
|
|
854
|
-
args: LoadBalancerArgs,
|
|
987
|
+
args: Optional[LoadBalancerArgs] = None,
|
|
855
988
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
856
989
|
"""
|
|
857
990
|
Provides a DigitalOcean Load Balancer resource. This can be used to create,
|
|
@@ -859,30 +992,30 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
859
992
|
|
|
860
993
|
## Example Usage
|
|
861
994
|
|
|
862
|
-
<!--Start PulumiCodeChooser -->
|
|
863
995
|
```python
|
|
864
996
|
import pulumi
|
|
865
997
|
import pulumi_digitalocean as digitalocean
|
|
866
998
|
|
|
867
999
|
web = digitalocean.Droplet("web",
|
|
868
|
-
|
|
1000
|
+
name="web-1",
|
|
1001
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
869
1002
|
image="ubuntu-18-04-x64",
|
|
870
|
-
region=
|
|
1003
|
+
region=digitalocean.Region.NYC3)
|
|
871
1004
|
public = digitalocean.LoadBalancer("public",
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
1005
|
+
name="loadbalancer-1",
|
|
1006
|
+
region=digitalocean.Region.NYC3,
|
|
1007
|
+
forwarding_rules=[{
|
|
1008
|
+
"entry_port": 80,
|
|
1009
|
+
"entry_protocol": "http",
|
|
1010
|
+
"target_port": 80,
|
|
1011
|
+
"target_protocol": "http",
|
|
1012
|
+
}],
|
|
1013
|
+
healthcheck={
|
|
1014
|
+
"port": 22,
|
|
1015
|
+
"protocol": "tcp",
|
|
1016
|
+
},
|
|
883
1017
|
droplet_ids=[web.id])
|
|
884
1018
|
```
|
|
885
|
-
<!--End PulumiCodeChooser -->
|
|
886
1019
|
|
|
887
1020
|
When managing certificates attached to the load balancer, make sure to add the `create_before_destroy`
|
|
888
1021
|
lifecycle property in order to ensure the certificate is correctly updated when changed. The order of
|
|
@@ -890,35 +1023,6 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
890
1023
|
`Delete old certificate`. When doing so, you must also change the name of the certificate,
|
|
891
1024
|
as there cannot be multiple certificates with the same name in an account.
|
|
892
1025
|
|
|
893
|
-
<!--Start PulumiCodeChooser -->
|
|
894
|
-
```python
|
|
895
|
-
import pulumi
|
|
896
|
-
import pulumi_digitalocean as digitalocean
|
|
897
|
-
|
|
898
|
-
cert = digitalocean.Certificate("cert",
|
|
899
|
-
private_key="file('key.pem')",
|
|
900
|
-
leaf_certificate="file('cert.pem')")
|
|
901
|
-
web = digitalocean.Droplet("web",
|
|
902
|
-
size="s-1vcpu-1gb",
|
|
903
|
-
image="ubuntu-18-04-x64",
|
|
904
|
-
region="nyc3")
|
|
905
|
-
public = digitalocean.LoadBalancer("public",
|
|
906
|
-
region="nyc3",
|
|
907
|
-
forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(
|
|
908
|
-
entry_port=443,
|
|
909
|
-
entry_protocol="https",
|
|
910
|
-
target_port=80,
|
|
911
|
-
target_protocol="http",
|
|
912
|
-
certificate_name=cert.name,
|
|
913
|
-
)],
|
|
914
|
-
healthcheck=digitalocean.LoadBalancerHealthcheckArgs(
|
|
915
|
-
port=22,
|
|
916
|
-
protocol="tcp",
|
|
917
|
-
),
|
|
918
|
-
droplet_ids=[web.id])
|
|
919
|
-
```
|
|
920
|
-
<!--End PulumiCodeChooser -->
|
|
921
|
-
|
|
922
1026
|
## Import
|
|
923
1027
|
|
|
924
1028
|
Load Balancers can be imported using the `id`, e.g.
|
|
@@ -944,21 +1048,25 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
944
1048
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
945
1049
|
algorithm: Optional[pulumi.Input[Union[str, 'Algorithm']]] = None,
|
|
946
1050
|
disable_lets_encrypt_dns_records: Optional[pulumi.Input[bool]] = None,
|
|
1051
|
+
domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]]] = None,
|
|
947
1052
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
948
1053
|
droplet_tag: Optional[pulumi.Input[str]] = None,
|
|
949
1054
|
enable_backend_keepalive: Optional[pulumi.Input[bool]] = None,
|
|
950
1055
|
enable_proxy_protocol: Optional[pulumi.Input[bool]] = None,
|
|
951
|
-
firewall: Optional[pulumi.Input[
|
|
952
|
-
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
953
|
-
|
|
1056
|
+
firewall: Optional[pulumi.Input[Union['LoadBalancerFirewallArgs', 'LoadBalancerFirewallArgsDict']]] = None,
|
|
1057
|
+
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]]] = None,
|
|
1058
|
+
glb_settings: Optional[pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']]] = None,
|
|
1059
|
+
healthcheck: Optional[pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']]] = None,
|
|
954
1060
|
http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
|
955
1061
|
name: Optional[pulumi.Input[str]] = None,
|
|
1062
|
+
network: Optional[pulumi.Input[str]] = None,
|
|
956
1063
|
project_id: Optional[pulumi.Input[str]] = None,
|
|
957
1064
|
redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
|
|
958
1065
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
959
1066
|
size: Optional[pulumi.Input[str]] = None,
|
|
960
1067
|
size_unit: Optional[pulumi.Input[int]] = None,
|
|
961
|
-
sticky_sessions: Optional[pulumi.Input[
|
|
1068
|
+
sticky_sessions: Optional[pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']]] = None,
|
|
1069
|
+
target_load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
962
1070
|
type: Optional[pulumi.Input[str]] = None,
|
|
963
1071
|
vpc_uuid: Optional[pulumi.Input[str]] = None,
|
|
964
1072
|
__props__=None):
|
|
@@ -972,26 +1080,29 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
972
1080
|
|
|
973
1081
|
__props__.__dict__["algorithm"] = algorithm
|
|
974
1082
|
__props__.__dict__["disable_lets_encrypt_dns_records"] = disable_lets_encrypt_dns_records
|
|
1083
|
+
__props__.__dict__["domains"] = domains
|
|
975
1084
|
__props__.__dict__["droplet_ids"] = droplet_ids
|
|
976
1085
|
__props__.__dict__["droplet_tag"] = droplet_tag
|
|
977
1086
|
__props__.__dict__["enable_backend_keepalive"] = enable_backend_keepalive
|
|
978
1087
|
__props__.__dict__["enable_proxy_protocol"] = enable_proxy_protocol
|
|
979
1088
|
__props__.__dict__["firewall"] = firewall
|
|
980
|
-
if forwarding_rules is None and not opts.urn:
|
|
981
|
-
raise TypeError("Missing required property 'forwarding_rules'")
|
|
982
1089
|
__props__.__dict__["forwarding_rules"] = forwarding_rules
|
|
1090
|
+
__props__.__dict__["glb_settings"] = glb_settings
|
|
983
1091
|
__props__.__dict__["healthcheck"] = healthcheck
|
|
984
1092
|
__props__.__dict__["http_idle_timeout_seconds"] = http_idle_timeout_seconds
|
|
985
1093
|
__props__.__dict__["name"] = name
|
|
1094
|
+
__props__.__dict__["network"] = network
|
|
986
1095
|
__props__.__dict__["project_id"] = project_id
|
|
987
1096
|
__props__.__dict__["redirect_http_to_https"] = redirect_http_to_https
|
|
988
1097
|
__props__.__dict__["region"] = region
|
|
989
1098
|
__props__.__dict__["size"] = size
|
|
990
1099
|
__props__.__dict__["size_unit"] = size_unit
|
|
991
1100
|
__props__.__dict__["sticky_sessions"] = sticky_sessions
|
|
1101
|
+
__props__.__dict__["target_load_balancer_ids"] = target_load_balancer_ids
|
|
992
1102
|
__props__.__dict__["type"] = type
|
|
993
1103
|
__props__.__dict__["vpc_uuid"] = vpc_uuid
|
|
994
1104
|
__props__.__dict__["ip"] = None
|
|
1105
|
+
__props__.__dict__["ipv6"] = None
|
|
995
1106
|
__props__.__dict__["load_balancer_urn"] = None
|
|
996
1107
|
__props__.__dict__["status"] = None
|
|
997
1108
|
super(LoadBalancer, __self__).__init__(
|
|
@@ -1006,24 +1117,29 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1006
1117
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1007
1118
|
algorithm: Optional[pulumi.Input[Union[str, 'Algorithm']]] = None,
|
|
1008
1119
|
disable_lets_encrypt_dns_records: Optional[pulumi.Input[bool]] = None,
|
|
1120
|
+
domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]]] = None,
|
|
1009
1121
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
1010
1122
|
droplet_tag: Optional[pulumi.Input[str]] = None,
|
|
1011
1123
|
enable_backend_keepalive: Optional[pulumi.Input[bool]] = None,
|
|
1012
1124
|
enable_proxy_protocol: Optional[pulumi.Input[bool]] = None,
|
|
1013
|
-
firewall: Optional[pulumi.Input[
|
|
1014
|
-
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
1015
|
-
|
|
1125
|
+
firewall: Optional[pulumi.Input[Union['LoadBalancerFirewallArgs', 'LoadBalancerFirewallArgsDict']]] = None,
|
|
1126
|
+
forwarding_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]]] = None,
|
|
1127
|
+
glb_settings: Optional[pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']]] = None,
|
|
1128
|
+
healthcheck: Optional[pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']]] = None,
|
|
1016
1129
|
http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
|
|
1017
1130
|
ip: Optional[pulumi.Input[str]] = None,
|
|
1131
|
+
ipv6: Optional[pulumi.Input[str]] = None,
|
|
1018
1132
|
load_balancer_urn: Optional[pulumi.Input[str]] = None,
|
|
1019
1133
|
name: Optional[pulumi.Input[str]] = None,
|
|
1134
|
+
network: Optional[pulumi.Input[str]] = None,
|
|
1020
1135
|
project_id: Optional[pulumi.Input[str]] = None,
|
|
1021
1136
|
redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
|
|
1022
1137
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
1023
1138
|
size: Optional[pulumi.Input[str]] = None,
|
|
1024
1139
|
size_unit: Optional[pulumi.Input[int]] = None,
|
|
1025
1140
|
status: Optional[pulumi.Input[str]] = None,
|
|
1026
|
-
sticky_sessions: Optional[pulumi.Input[
|
|
1141
|
+
sticky_sessions: Optional[pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']]] = None,
|
|
1142
|
+
target_load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
1027
1143
|
type: Optional[pulumi.Input[str]] = None,
|
|
1028
1144
|
vpc_uuid: Optional[pulumi.Input[str]] = None) -> 'LoadBalancer':
|
|
1029
1145
|
"""
|
|
@@ -1033,35 +1149,39 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1033
1149
|
:param str resource_name: The unique name of the resulting resource.
|
|
1034
1150
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
1035
1151
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1036
|
-
:param pulumi.Input[Union[str, 'Algorithm']] algorithm:
|
|
1037
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
1152
|
+
:param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
1038
1153
|
or `least_connections`. The default value is `round_robin`.
|
|
1039
1154
|
:param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
|
|
1155
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
1040
1156
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
|
|
1041
1157
|
:param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
|
|
1042
1158
|
:param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
|
|
1043
1159
|
:param pulumi.Input[bool] enable_proxy_protocol: A boolean value indicating whether PROXY
|
|
1044
1160
|
Protocol should be used to pass information from connecting client requests to
|
|
1045
1161
|
the backend service. Default value is `false`.
|
|
1046
|
-
:param pulumi.Input[
|
|
1047
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
1162
|
+
:param pulumi.Input[Union['LoadBalancerFirewallArgs', 'LoadBalancerFirewallArgsDict']] firewall: A block containing rules for allowing/denying traffic to the Load Balancer. The `firewall` block is documented below. Only 1 firewall is allowed.
|
|
1163
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
|
|
1048
1164
|
Load Balancer. The `forwarding_rule` block is documented below.
|
|
1049
|
-
:param pulumi.Input[
|
|
1165
|
+
:param pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
1166
|
+
:param pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']] healthcheck: A `healthcheck` block to be assigned to the
|
|
1050
1167
|
Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
|
|
1051
1168
|
:param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
|
|
1052
1169
|
:param pulumi.Input[str] ip: The ip of the Load Balancer
|
|
1053
1170
|
:param pulumi.Input[str] load_balancer_urn: The uniform resource name for the Load Balancer
|
|
1054
1171
|
:param pulumi.Input[str] name: The Load Balancer name
|
|
1172
|
+
:param pulumi.Input[str] network: The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
1055
1173
|
:param pulumi.Input[str] project_id: The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project.
|
|
1056
1174
|
:param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
|
|
1057
1175
|
HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
|
|
1058
1176
|
Default value is `false`.
|
|
1059
1177
|
:param pulumi.Input[Union[str, 'Region']] region: The region to start in
|
|
1060
1178
|
:param pulumi.Input[str] size: The size of the Load Balancer. It must be either `lb-small`, `lb-medium`, or `lb-large`. Defaults to `lb-small`. Only one of `size` or `size_unit` may be provided.
|
|
1061
|
-
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1,
|
|
1062
|
-
:param pulumi.Input[
|
|
1179
|
+
:param pulumi.Input[int] size_unit: The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
1180
|
+
:param pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']] sticky_sessions: A `sticky_sessions` block to be assigned to the
|
|
1063
1181
|
Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
|
|
1064
|
-
:param pulumi.Input[str]
|
|
1182
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
1183
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
1184
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
1065
1185
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
|
|
1066
1186
|
"""
|
|
1067
1187
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
@@ -1070,17 +1190,21 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1070
1190
|
|
|
1071
1191
|
__props__.__dict__["algorithm"] = algorithm
|
|
1072
1192
|
__props__.__dict__["disable_lets_encrypt_dns_records"] = disable_lets_encrypt_dns_records
|
|
1193
|
+
__props__.__dict__["domains"] = domains
|
|
1073
1194
|
__props__.__dict__["droplet_ids"] = droplet_ids
|
|
1074
1195
|
__props__.__dict__["droplet_tag"] = droplet_tag
|
|
1075
1196
|
__props__.__dict__["enable_backend_keepalive"] = enable_backend_keepalive
|
|
1076
1197
|
__props__.__dict__["enable_proxy_protocol"] = enable_proxy_protocol
|
|
1077
1198
|
__props__.__dict__["firewall"] = firewall
|
|
1078
1199
|
__props__.__dict__["forwarding_rules"] = forwarding_rules
|
|
1200
|
+
__props__.__dict__["glb_settings"] = glb_settings
|
|
1079
1201
|
__props__.__dict__["healthcheck"] = healthcheck
|
|
1080
1202
|
__props__.__dict__["http_idle_timeout_seconds"] = http_idle_timeout_seconds
|
|
1081
1203
|
__props__.__dict__["ip"] = ip
|
|
1204
|
+
__props__.__dict__["ipv6"] = ipv6
|
|
1082
1205
|
__props__.__dict__["load_balancer_urn"] = load_balancer_urn
|
|
1083
1206
|
__props__.__dict__["name"] = name
|
|
1207
|
+
__props__.__dict__["network"] = network
|
|
1084
1208
|
__props__.__dict__["project_id"] = project_id
|
|
1085
1209
|
__props__.__dict__["redirect_http_to_https"] = redirect_http_to_https
|
|
1086
1210
|
__props__.__dict__["region"] = region
|
|
@@ -1088,16 +1212,17 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1088
1212
|
__props__.__dict__["size_unit"] = size_unit
|
|
1089
1213
|
__props__.__dict__["status"] = status
|
|
1090
1214
|
__props__.__dict__["sticky_sessions"] = sticky_sessions
|
|
1215
|
+
__props__.__dict__["target_load_balancer_ids"] = target_load_balancer_ids
|
|
1091
1216
|
__props__.__dict__["type"] = type
|
|
1092
1217
|
__props__.__dict__["vpc_uuid"] = vpc_uuid
|
|
1093
1218
|
return LoadBalancer(resource_name, opts=opts, __props__=__props__)
|
|
1094
1219
|
|
|
1095
1220
|
@property
|
|
1096
1221
|
@pulumi.getter
|
|
1222
|
+
@_utilities.deprecated("""This field has been deprecated. You can no longer specify an algorithm for load balancers.""")
|
|
1097
1223
|
def algorithm(self) -> pulumi.Output[Optional[str]]:
|
|
1098
1224
|
"""
|
|
1099
|
-
|
|
1100
|
-
which backend Droplet will be selected by a client. It must be either `round_robin`
|
|
1225
|
+
**Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
|
|
1101
1226
|
or `least_connections`. The default value is `round_robin`.
|
|
1102
1227
|
"""
|
|
1103
1228
|
return pulumi.get(self, "algorithm")
|
|
@@ -1110,6 +1235,14 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1110
1235
|
"""
|
|
1111
1236
|
return pulumi.get(self, "disable_lets_encrypt_dns_records")
|
|
1112
1237
|
|
|
1238
|
+
@property
|
|
1239
|
+
@pulumi.getter
|
|
1240
|
+
def domains(self) -> pulumi.Output[Sequence['outputs.LoadBalancerDomain']]:
|
|
1241
|
+
"""
|
|
1242
|
+
A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
|
|
1243
|
+
"""
|
|
1244
|
+
return pulumi.get(self, "domains")
|
|
1245
|
+
|
|
1113
1246
|
@property
|
|
1114
1247
|
@pulumi.getter(name="dropletIds")
|
|
1115
1248
|
def droplet_ids(self) -> pulumi.Output[Sequence[int]]:
|
|
@@ -1154,13 +1287,21 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1154
1287
|
|
|
1155
1288
|
@property
|
|
1156
1289
|
@pulumi.getter(name="forwardingRules")
|
|
1157
|
-
def forwarding_rules(self) -> pulumi.Output[Sequence['outputs.LoadBalancerForwardingRule']]:
|
|
1290
|
+
def forwarding_rules(self) -> pulumi.Output[Optional[Sequence['outputs.LoadBalancerForwardingRule']]]:
|
|
1158
1291
|
"""
|
|
1159
1292
|
A list of `forwarding_rule` to be assigned to the
|
|
1160
1293
|
Load Balancer. The `forwarding_rule` block is documented below.
|
|
1161
1294
|
"""
|
|
1162
1295
|
return pulumi.get(self, "forwarding_rules")
|
|
1163
1296
|
|
|
1297
|
+
@property
|
|
1298
|
+
@pulumi.getter(name="glbSettings")
|
|
1299
|
+
def glb_settings(self) -> pulumi.Output['outputs.LoadBalancerGlbSettings']:
|
|
1300
|
+
"""
|
|
1301
|
+
A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
|
|
1302
|
+
"""
|
|
1303
|
+
return pulumi.get(self, "glb_settings")
|
|
1304
|
+
|
|
1164
1305
|
@property
|
|
1165
1306
|
@pulumi.getter
|
|
1166
1307
|
def healthcheck(self) -> pulumi.Output['outputs.LoadBalancerHealthcheck']:
|
|
@@ -1186,6 +1327,11 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1186
1327
|
"""
|
|
1187
1328
|
return pulumi.get(self, "ip")
|
|
1188
1329
|
|
|
1330
|
+
@property
|
|
1331
|
+
@pulumi.getter
|
|
1332
|
+
def ipv6(self) -> pulumi.Output[str]:
|
|
1333
|
+
return pulumi.get(self, "ipv6")
|
|
1334
|
+
|
|
1189
1335
|
@property
|
|
1190
1336
|
@pulumi.getter(name="loadBalancerUrn")
|
|
1191
1337
|
def load_balancer_urn(self) -> pulumi.Output[str]:
|
|
@@ -1202,6 +1348,14 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1202
1348
|
"""
|
|
1203
1349
|
return pulumi.get(self, "name")
|
|
1204
1350
|
|
|
1351
|
+
@property
|
|
1352
|
+
@pulumi.getter
|
|
1353
|
+
def network(self) -> pulumi.Output[Optional[str]]:
|
|
1354
|
+
"""
|
|
1355
|
+
The type of network the Load Balancer is accessible from. It must be either of `INTERNAL` or `EXTERNAL`. Defaults to `EXTERNAL`.
|
|
1356
|
+
"""
|
|
1357
|
+
return pulumi.get(self, "network")
|
|
1358
|
+
|
|
1205
1359
|
@property
|
|
1206
1360
|
@pulumi.getter(name="projectId")
|
|
1207
1361
|
def project_id(self) -> pulumi.Output[str]:
|
|
@@ -1240,7 +1394,7 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1240
1394
|
@pulumi.getter(name="sizeUnit")
|
|
1241
1395
|
def size_unit(self) -> pulumi.Output[int]:
|
|
1242
1396
|
"""
|
|
1243
|
-
The size of the Load Balancer. It must be in the range (1,
|
|
1397
|
+
The size of the Load Balancer. It must be in the range (1, 200). Defaults to `1`. Only one of `size` or `size_unit` may be provided.
|
|
1244
1398
|
"""
|
|
1245
1399
|
return pulumi.get(self, "size_unit")
|
|
1246
1400
|
|
|
@@ -1258,11 +1412,20 @@ class LoadBalancer(pulumi.CustomResource):
|
|
|
1258
1412
|
"""
|
|
1259
1413
|
return pulumi.get(self, "sticky_sessions")
|
|
1260
1414
|
|
|
1415
|
+
@property
|
|
1416
|
+
@pulumi.getter(name="targetLoadBalancerIds")
|
|
1417
|
+
def target_load_balancer_ids(self) -> pulumi.Output[Sequence[str]]:
|
|
1418
|
+
"""
|
|
1419
|
+
A list of Load Balancer IDs to be attached behind a Global Load Balancer.
|
|
1420
|
+
"""
|
|
1421
|
+
return pulumi.get(self, "target_load_balancer_ids")
|
|
1422
|
+
|
|
1261
1423
|
@property
|
|
1262
1424
|
@pulumi.getter
|
|
1263
1425
|
def type(self) -> pulumi.Output[Optional[str]]:
|
|
1264
1426
|
"""
|
|
1265
|
-
|
|
1427
|
+
The type of the Load Balancer. It must be either of `REGIONAL`, `REGIONAL_NETWORK`, or `GLOBAL`. Defaults to `REGIONAL`.
|
|
1428
|
+
**NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
|
|
1266
1429
|
"""
|
|
1267
1430
|
return pulumi.get(self, "type")
|
|
1268
1431
|
|