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 *
|
|
@@ -21,11 +26,13 @@ class KubernetesClusterArgs:
|
|
|
21
26
|
region: pulumi.Input[Union[str, 'Region']],
|
|
22
27
|
version: pulumi.Input[str],
|
|
23
28
|
auto_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
29
|
+
cluster_subnet: Optional[pulumi.Input[str]] = None,
|
|
24
30
|
destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
|
|
25
31
|
ha: Optional[pulumi.Input[bool]] = None,
|
|
26
32
|
maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
|
|
27
33
|
name: Optional[pulumi.Input[str]] = None,
|
|
28
34
|
registry_integration: Optional[pulumi.Input[bool]] = None,
|
|
35
|
+
service_subnet: Optional[pulumi.Input[str]] = None,
|
|
29
36
|
surge_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
30
37
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
31
38
|
vpc_uuid: Optional[pulumi.Input[str]] = None):
|
|
@@ -35,14 +42,16 @@ class KubernetesClusterArgs:
|
|
|
35
42
|
:param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
|
|
36
43
|
:param pulumi.Input[str] version: The slug identifier for the version of Kubernetes used for the cluster. Use [doctl](https://github.com/digitalocean/doctl) to find the available versions `doctl kubernetes options versions`. (**Note:** A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
|
|
37
44
|
:param pulumi.Input[bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
|
|
45
|
+
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
38
46
|
:param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
|
|
39
47
|
|
|
40
48
|
This resource supports customized create timeouts. The default timeout is 30 minutes.
|
|
41
49
|
:param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
|
|
42
50
|
:param pulumi.Input['KubernetesClusterMaintenancePolicyArgs'] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
|
|
43
|
-
:param pulumi.Input[str] name: A name for the
|
|
51
|
+
:param pulumi.Input[str] name: A name for the Kubernetes cluster.
|
|
44
52
|
:param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
|
|
45
|
-
:param pulumi.Input[
|
|
53
|
+
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
54
|
+
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
|
|
46
55
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
47
56
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
|
|
48
57
|
"""
|
|
@@ -51,6 +60,8 @@ class KubernetesClusterArgs:
|
|
|
51
60
|
pulumi.set(__self__, "version", version)
|
|
52
61
|
if auto_upgrade is not None:
|
|
53
62
|
pulumi.set(__self__, "auto_upgrade", auto_upgrade)
|
|
63
|
+
if cluster_subnet is not None:
|
|
64
|
+
pulumi.set(__self__, "cluster_subnet", cluster_subnet)
|
|
54
65
|
if destroy_all_associated_resources is not None:
|
|
55
66
|
pulumi.set(__self__, "destroy_all_associated_resources", destroy_all_associated_resources)
|
|
56
67
|
if ha is not None:
|
|
@@ -61,6 +72,8 @@ class KubernetesClusterArgs:
|
|
|
61
72
|
pulumi.set(__self__, "name", name)
|
|
62
73
|
if registry_integration is not None:
|
|
63
74
|
pulumi.set(__self__, "registry_integration", registry_integration)
|
|
75
|
+
if service_subnet is not None:
|
|
76
|
+
pulumi.set(__self__, "service_subnet", service_subnet)
|
|
64
77
|
if surge_upgrade is not None:
|
|
65
78
|
pulumi.set(__self__, "surge_upgrade", surge_upgrade)
|
|
66
79
|
if tags is not None:
|
|
@@ -116,6 +129,18 @@ class KubernetesClusterArgs:
|
|
|
116
129
|
def auto_upgrade(self, value: Optional[pulumi.Input[bool]]):
|
|
117
130
|
pulumi.set(self, "auto_upgrade", value)
|
|
118
131
|
|
|
132
|
+
@property
|
|
133
|
+
@pulumi.getter(name="clusterSubnet")
|
|
134
|
+
def cluster_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
135
|
+
"""
|
|
136
|
+
The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
137
|
+
"""
|
|
138
|
+
return pulumi.get(self, "cluster_subnet")
|
|
139
|
+
|
|
140
|
+
@cluster_subnet.setter
|
|
141
|
+
def cluster_subnet(self, value: Optional[pulumi.Input[str]]):
|
|
142
|
+
pulumi.set(self, "cluster_subnet", value)
|
|
143
|
+
|
|
119
144
|
@property
|
|
120
145
|
@pulumi.getter(name="destroyAllAssociatedResources")
|
|
121
146
|
def destroy_all_associated_resources(self) -> Optional[pulumi.Input[bool]]:
|
|
@@ -158,7 +183,7 @@ class KubernetesClusterArgs:
|
|
|
158
183
|
@pulumi.getter
|
|
159
184
|
def name(self) -> Optional[pulumi.Input[str]]:
|
|
160
185
|
"""
|
|
161
|
-
A name for the
|
|
186
|
+
A name for the Kubernetes cluster.
|
|
162
187
|
"""
|
|
163
188
|
return pulumi.get(self, "name")
|
|
164
189
|
|
|
@@ -178,11 +203,23 @@ class KubernetesClusterArgs:
|
|
|
178
203
|
def registry_integration(self, value: Optional[pulumi.Input[bool]]):
|
|
179
204
|
pulumi.set(self, "registry_integration", value)
|
|
180
205
|
|
|
206
|
+
@property
|
|
207
|
+
@pulumi.getter(name="serviceSubnet")
|
|
208
|
+
def service_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
209
|
+
"""
|
|
210
|
+
The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
211
|
+
"""
|
|
212
|
+
return pulumi.get(self, "service_subnet")
|
|
213
|
+
|
|
214
|
+
@service_subnet.setter
|
|
215
|
+
def service_subnet(self, value: Optional[pulumi.Input[str]]):
|
|
216
|
+
pulumi.set(self, "service_subnet", value)
|
|
217
|
+
|
|
181
218
|
@property
|
|
182
219
|
@pulumi.getter(name="surgeUpgrade")
|
|
183
220
|
def surge_upgrade(self) -> Optional[pulumi.Input[bool]]:
|
|
184
221
|
"""
|
|
185
|
-
Enable/disable surge upgrades for a cluster. Default:
|
|
222
|
+
Enable/disable surge upgrades for a cluster. Default: true
|
|
186
223
|
"""
|
|
187
224
|
return pulumi.get(self, "surge_upgrade")
|
|
188
225
|
|
|
@@ -242,7 +279,7 @@ class _KubernetesClusterState:
|
|
|
242
279
|
"""
|
|
243
280
|
Input properties used for looking up and filtering KubernetesCluster resources.
|
|
244
281
|
:param pulumi.Input[bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
|
|
245
|
-
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster.
|
|
282
|
+
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
246
283
|
:param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
|
|
247
284
|
:param pulumi.Input[str] created_at: The date and time when the node was created.
|
|
248
285
|
:param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
|
|
@@ -251,14 +288,15 @@ class _KubernetesClusterState:
|
|
|
251
288
|
:param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
|
|
252
289
|
:param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
|
|
253
290
|
:param pulumi.Input[str] ipv4_address: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
|
|
291
|
+
:param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
|
|
254
292
|
:param pulumi.Input['KubernetesClusterMaintenancePolicyArgs'] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
|
|
255
|
-
:param pulumi.Input[str] name: A name for the
|
|
293
|
+
:param pulumi.Input[str] name: A name for the Kubernetes cluster.
|
|
256
294
|
:param pulumi.Input['KubernetesClusterNodePoolArgs'] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
|
|
257
295
|
:param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
|
|
258
296
|
:param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
|
|
259
|
-
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster.
|
|
297
|
+
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
260
298
|
:param pulumi.Input[str] status: A string indicating the current status of the individual node.
|
|
261
|
-
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default:
|
|
299
|
+
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
|
|
262
300
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
263
301
|
:param pulumi.Input[str] updated_at: The date and time when the node was last updated.
|
|
264
302
|
:param pulumi.Input[str] version: The slug identifier for the version of Kubernetes used for the cluster. Use [doctl](https://github.com/digitalocean/doctl) to find the available versions `doctl kubernetes options versions`. (**Note:** A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
|
|
@@ -323,7 +361,7 @@ class _KubernetesClusterState:
|
|
|
323
361
|
@pulumi.getter(name="clusterSubnet")
|
|
324
362
|
def cluster_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
325
363
|
"""
|
|
326
|
-
The range of IP addresses in the overlay network of the Kubernetes cluster.
|
|
364
|
+
The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
327
365
|
"""
|
|
328
366
|
return pulumi.get(self, "cluster_subnet")
|
|
329
367
|
|
|
@@ -408,6 +446,9 @@ class _KubernetesClusterState:
|
|
|
408
446
|
@property
|
|
409
447
|
@pulumi.getter(name="kubeConfigs")
|
|
410
448
|
def kube_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]]:
|
|
449
|
+
"""
|
|
450
|
+
A representation of the Kubernetes cluster's kubeconfig with the following attributes:
|
|
451
|
+
"""
|
|
411
452
|
return pulumi.get(self, "kube_configs")
|
|
412
453
|
|
|
413
454
|
@kube_configs.setter
|
|
@@ -430,7 +471,7 @@ class _KubernetesClusterState:
|
|
|
430
471
|
@pulumi.getter
|
|
431
472
|
def name(self) -> Optional[pulumi.Input[str]]:
|
|
432
473
|
"""
|
|
433
|
-
A name for the
|
|
474
|
+
A name for the Kubernetes cluster.
|
|
434
475
|
"""
|
|
435
476
|
return pulumi.get(self, "name")
|
|
436
477
|
|
|
@@ -478,7 +519,7 @@ class _KubernetesClusterState:
|
|
|
478
519
|
@pulumi.getter(name="serviceSubnet")
|
|
479
520
|
def service_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
480
521
|
"""
|
|
481
|
-
The range of assignable IP addresses for services running in the Kubernetes cluster.
|
|
522
|
+
The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
482
523
|
"""
|
|
483
524
|
return pulumi.get(self, "service_subnet")
|
|
484
525
|
|
|
@@ -502,7 +543,7 @@ class _KubernetesClusterState:
|
|
|
502
543
|
@pulumi.getter(name="surgeUpgrade")
|
|
503
544
|
def surge_upgrade(self) -> Optional[pulumi.Input[bool]]:
|
|
504
545
|
"""
|
|
505
|
-
Enable/disable surge upgrades for a cluster. Default:
|
|
546
|
+
Enable/disable surge upgrades for a cluster. Default: true
|
|
506
547
|
"""
|
|
507
548
|
return pulumi.get(self, "surge_upgrade")
|
|
508
549
|
|
|
@@ -565,13 +606,15 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
565
606
|
resource_name: str,
|
|
566
607
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
567
608
|
auto_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
609
|
+
cluster_subnet: Optional[pulumi.Input[str]] = None,
|
|
568
610
|
destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
|
|
569
611
|
ha: Optional[pulumi.Input[bool]] = None,
|
|
570
|
-
maintenance_policy: Optional[pulumi.Input[
|
|
612
|
+
maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
|
|
571
613
|
name: Optional[pulumi.Input[str]] = None,
|
|
572
|
-
node_pool: Optional[pulumi.Input[
|
|
614
|
+
node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
|
|
573
615
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
574
616
|
registry_integration: Optional[pulumi.Input[bool]] = None,
|
|
617
|
+
service_subnet: Optional[pulumi.Input[str]] = None,
|
|
575
618
|
surge_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
576
619
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
577
620
|
version: Optional[pulumi.Input[str]] = None,
|
|
@@ -607,16 +650,18 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
607
650
|
:param str resource_name: The name of the resource.
|
|
608
651
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
609
652
|
:param pulumi.Input[bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
|
|
653
|
+
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
610
654
|
:param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
|
|
611
655
|
|
|
612
656
|
This resource supports customized create timeouts. The default timeout is 30 minutes.
|
|
613
657
|
:param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
|
|
614
|
-
:param pulumi.Input[
|
|
615
|
-
:param pulumi.Input[str] name: A name for the
|
|
616
|
-
:param pulumi.Input[
|
|
658
|
+
:param pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
|
|
659
|
+
:param pulumi.Input[str] name: A name for the Kubernetes cluster.
|
|
660
|
+
:param pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
|
|
617
661
|
:param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
|
|
618
662
|
:param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
|
|
619
|
-
:param pulumi.Input[
|
|
663
|
+
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
664
|
+
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
|
|
620
665
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
621
666
|
:param pulumi.Input[str] version: The slug identifier for the version of Kubernetes used for the cluster. Use [doctl](https://github.com/digitalocean/doctl) to find the available versions `doctl kubernetes options versions`. (**Note:** A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
|
|
622
667
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
|
|
@@ -670,13 +715,15 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
670
715
|
resource_name: str,
|
|
671
716
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
672
717
|
auto_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
718
|
+
cluster_subnet: Optional[pulumi.Input[str]] = None,
|
|
673
719
|
destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
|
|
674
720
|
ha: Optional[pulumi.Input[bool]] = None,
|
|
675
|
-
maintenance_policy: Optional[pulumi.Input[
|
|
721
|
+
maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
|
|
676
722
|
name: Optional[pulumi.Input[str]] = None,
|
|
677
|
-
node_pool: Optional[pulumi.Input[
|
|
723
|
+
node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
|
|
678
724
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
679
725
|
registry_integration: Optional[pulumi.Input[bool]] = None,
|
|
726
|
+
service_subnet: Optional[pulumi.Input[str]] = None,
|
|
680
727
|
surge_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
681
728
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
682
729
|
version: Optional[pulumi.Input[str]] = None,
|
|
@@ -691,6 +738,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
691
738
|
__props__ = KubernetesClusterArgs.__new__(KubernetesClusterArgs)
|
|
692
739
|
|
|
693
740
|
__props__.__dict__["auto_upgrade"] = auto_upgrade
|
|
741
|
+
__props__.__dict__["cluster_subnet"] = cluster_subnet
|
|
694
742
|
__props__.__dict__["destroy_all_associated_resources"] = destroy_all_associated_resources
|
|
695
743
|
__props__.__dict__["ha"] = ha
|
|
696
744
|
__props__.__dict__["maintenance_policy"] = maintenance_policy
|
|
@@ -702,19 +750,18 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
702
750
|
raise TypeError("Missing required property 'region'")
|
|
703
751
|
__props__.__dict__["region"] = region
|
|
704
752
|
__props__.__dict__["registry_integration"] = registry_integration
|
|
753
|
+
__props__.__dict__["service_subnet"] = service_subnet
|
|
705
754
|
__props__.__dict__["surge_upgrade"] = surge_upgrade
|
|
706
755
|
__props__.__dict__["tags"] = tags
|
|
707
756
|
if version is None and not opts.urn:
|
|
708
757
|
raise TypeError("Missing required property 'version'")
|
|
709
758
|
__props__.__dict__["version"] = version
|
|
710
759
|
__props__.__dict__["vpc_uuid"] = vpc_uuid
|
|
711
|
-
__props__.__dict__["cluster_subnet"] = None
|
|
712
760
|
__props__.__dict__["cluster_urn"] = None
|
|
713
761
|
__props__.__dict__["created_at"] = None
|
|
714
762
|
__props__.__dict__["endpoint"] = None
|
|
715
763
|
__props__.__dict__["ipv4_address"] = None
|
|
716
764
|
__props__.__dict__["kube_configs"] = None
|
|
717
|
-
__props__.__dict__["service_subnet"] = None
|
|
718
765
|
__props__.__dict__["status"] = None
|
|
719
766
|
__props__.__dict__["updated_at"] = None
|
|
720
767
|
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["kubeConfigs"])
|
|
@@ -737,10 +784,10 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
737
784
|
endpoint: Optional[pulumi.Input[str]] = None,
|
|
738
785
|
ha: Optional[pulumi.Input[bool]] = None,
|
|
739
786
|
ipv4_address: Optional[pulumi.Input[str]] = None,
|
|
740
|
-
kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
741
|
-
maintenance_policy: Optional[pulumi.Input[
|
|
787
|
+
kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]]] = None,
|
|
788
|
+
maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
|
|
742
789
|
name: Optional[pulumi.Input[str]] = None,
|
|
743
|
-
node_pool: Optional[pulumi.Input[
|
|
790
|
+
node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
|
|
744
791
|
region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
|
|
745
792
|
registry_integration: Optional[pulumi.Input[bool]] = None,
|
|
746
793
|
service_subnet: Optional[pulumi.Input[str]] = None,
|
|
@@ -758,7 +805,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
758
805
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
759
806
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
760
807
|
:param pulumi.Input[bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
|
|
761
|
-
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster.
|
|
808
|
+
:param pulumi.Input[str] cluster_subnet: The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
762
809
|
:param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
|
|
763
810
|
:param pulumi.Input[str] created_at: The date and time when the node was created.
|
|
764
811
|
:param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
|
|
@@ -767,14 +814,15 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
767
814
|
:param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
|
|
768
815
|
:param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
|
|
769
816
|
:param pulumi.Input[str] ipv4_address: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
|
|
770
|
-
:param pulumi.Input[pulumi.
|
|
771
|
-
:param pulumi.Input[
|
|
772
|
-
:param pulumi.Input[
|
|
817
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
|
|
818
|
+
:param pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
|
|
819
|
+
:param pulumi.Input[str] name: A name for the Kubernetes cluster.
|
|
820
|
+
:param pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
|
|
773
821
|
:param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
|
|
774
822
|
:param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
|
|
775
|
-
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster.
|
|
823
|
+
:param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
776
824
|
:param pulumi.Input[str] status: A string indicating the current status of the individual node.
|
|
777
|
-
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default:
|
|
825
|
+
:param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
|
|
778
826
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
779
827
|
:param pulumi.Input[str] updated_at: The date and time when the node was last updated.
|
|
780
828
|
:param pulumi.Input[str] version: The slug identifier for the version of Kubernetes used for the cluster. Use [doctl](https://github.com/digitalocean/doctl) to find the available versions `doctl kubernetes options versions`. (**Note:** A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
|
|
@@ -819,7 +867,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
819
867
|
@pulumi.getter(name="clusterSubnet")
|
|
820
868
|
def cluster_subnet(self) -> pulumi.Output[str]:
|
|
821
869
|
"""
|
|
822
|
-
The range of IP addresses in the overlay network of the Kubernetes cluster.
|
|
870
|
+
The range of IP addresses in the overlay network of the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
823
871
|
"""
|
|
824
872
|
return pulumi.get(self, "cluster_subnet")
|
|
825
873
|
|
|
@@ -876,6 +924,9 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
876
924
|
@property
|
|
877
925
|
@pulumi.getter(name="kubeConfigs")
|
|
878
926
|
def kube_configs(self) -> pulumi.Output[Sequence['outputs.KubernetesClusterKubeConfig']]:
|
|
927
|
+
"""
|
|
928
|
+
A representation of the Kubernetes cluster's kubeconfig with the following attributes:
|
|
929
|
+
"""
|
|
879
930
|
return pulumi.get(self, "kube_configs")
|
|
880
931
|
|
|
881
932
|
@property
|
|
@@ -890,7 +941,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
890
941
|
@pulumi.getter
|
|
891
942
|
def name(self) -> pulumi.Output[str]:
|
|
892
943
|
"""
|
|
893
|
-
A name for the
|
|
944
|
+
A name for the Kubernetes cluster.
|
|
894
945
|
"""
|
|
895
946
|
return pulumi.get(self, "name")
|
|
896
947
|
|
|
@@ -922,7 +973,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
922
973
|
@pulumi.getter(name="serviceSubnet")
|
|
923
974
|
def service_subnet(self) -> pulumi.Output[str]:
|
|
924
975
|
"""
|
|
925
|
-
The range of assignable IP addresses for services running in the Kubernetes cluster.
|
|
976
|
+
The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
|
|
926
977
|
"""
|
|
927
978
|
return pulumi.get(self, "service_subnet")
|
|
928
979
|
|
|
@@ -938,7 +989,7 @@ class KubernetesCluster(pulumi.CustomResource):
|
|
|
938
989
|
@pulumi.getter(name="surgeUpgrade")
|
|
939
990
|
def surge_upgrade(self) -> pulumi.Output[Optional[bool]]:
|
|
940
991
|
"""
|
|
941
|
-
Enable/disable surge upgrades for a cluster. Default:
|
|
992
|
+
Enable/disable surge upgrades for a cluster. Default: true
|
|
942
993
|
"""
|
|
943
994
|
return pulumi.get(self, "surge_upgrade")
|
|
944
995
|
|
|
@@ -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 *
|
|
@@ -402,7 +407,7 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
402
407
|
node_count: Optional[pulumi.Input[int]] = None,
|
|
403
408
|
size: Optional[pulumi.Input[Union[str, 'DropletSlug']]] = None,
|
|
404
409
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
405
|
-
taints: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
410
|
+
taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolTaintArgs', 'KubernetesNodePoolTaintArgsDict']]]]] = None,
|
|
406
411
|
__props__=None):
|
|
407
412
|
"""
|
|
408
413
|
Provides a DigitalOcean Kubernetes node pool resource. While the default node pool must be defined in the `KubernetesCluster` resource, this resource can be used to add additional ones to a cluster.
|
|
@@ -411,54 +416,53 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
411
416
|
|
|
412
417
|
### Basic Example
|
|
413
418
|
|
|
414
|
-
<!--Start PulumiCodeChooser -->
|
|
415
419
|
```python
|
|
416
420
|
import pulumi
|
|
417
421
|
import pulumi_digitalocean as digitalocean
|
|
418
422
|
|
|
419
423
|
foo = digitalocean.KubernetesCluster("foo",
|
|
420
|
-
|
|
424
|
+
name="foo",
|
|
425
|
+
region=digitalocean.Region.NYC1,
|
|
421
426
|
version="1.22.8-do.1",
|
|
422
|
-
node_pool=
|
|
423
|
-
name
|
|
424
|
-
size
|
|
425
|
-
node_count
|
|
426
|
-
)
|
|
427
|
+
node_pool={
|
|
428
|
+
"name": "front-end-pool",
|
|
429
|
+
"size": "s-2vcpu-2gb",
|
|
430
|
+
"node_count": 3,
|
|
431
|
+
})
|
|
427
432
|
bar = digitalocean.KubernetesNodePool("bar",
|
|
428
433
|
cluster_id=foo.id,
|
|
429
|
-
|
|
434
|
+
name="backend-pool",
|
|
435
|
+
size=digitalocean.DropletSlug.DROPLET_C2,
|
|
430
436
|
node_count=2,
|
|
431
437
|
tags=["backend"],
|
|
432
438
|
labels={
|
|
433
439
|
"service": "backend",
|
|
434
440
|
"priority": "high",
|
|
435
441
|
},
|
|
436
|
-
taints=[
|
|
437
|
-
key
|
|
438
|
-
value
|
|
439
|
-
effect
|
|
440
|
-
|
|
442
|
+
taints=[{
|
|
443
|
+
"key": "workloadKind",
|
|
444
|
+
"value": "database",
|
|
445
|
+
"effect": "NoSchedule",
|
|
446
|
+
}])
|
|
441
447
|
```
|
|
442
|
-
<!--End PulumiCodeChooser -->
|
|
443
448
|
|
|
444
449
|
### Autoscaling Example
|
|
445
450
|
|
|
446
451
|
Node pools may also be configured to [autoscale](https://www.digitalocean.com/docs/kubernetes/how-to/autoscale/).
|
|
447
452
|
For example:
|
|
448
453
|
|
|
449
|
-
<!--Start PulumiCodeChooser -->
|
|
450
454
|
```python
|
|
451
455
|
import pulumi
|
|
452
456
|
import pulumi_digitalocean as digitalocean
|
|
453
457
|
|
|
454
458
|
autoscale_pool_01 = digitalocean.KubernetesNodePool("autoscale-pool-01",
|
|
455
|
-
cluster_id=
|
|
456
|
-
|
|
459
|
+
cluster_id=foo["id"],
|
|
460
|
+
name="autoscale-pool-01",
|
|
461
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU2_GB,
|
|
457
462
|
auto_scale=True,
|
|
458
463
|
min_nodes=1,
|
|
459
464
|
max_nodes=5)
|
|
460
465
|
```
|
|
461
|
-
<!--End PulumiCodeChooser -->
|
|
462
466
|
|
|
463
467
|
## Import
|
|
464
468
|
|
|
@@ -489,7 +493,7 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
489
493
|
:param pulumi.Input[int] node_count: The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
|
|
490
494
|
:param pulumi.Input[Union[str, 'DropletSlug']] size: The slug identifier for the type of Droplet to be used as workers in the node pool.
|
|
491
495
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
492
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
496
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolTaintArgs', 'KubernetesNodePoolTaintArgsDict']]]] taints: A list of taints applied to all nodes in the pool.
|
|
493
497
|
|
|
494
498
|
This resource supports customized create timeouts. The default timeout is 30 minutes.
|
|
495
499
|
"""
|
|
@@ -506,54 +510,53 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
506
510
|
|
|
507
511
|
### Basic Example
|
|
508
512
|
|
|
509
|
-
<!--Start PulumiCodeChooser -->
|
|
510
513
|
```python
|
|
511
514
|
import pulumi
|
|
512
515
|
import pulumi_digitalocean as digitalocean
|
|
513
516
|
|
|
514
517
|
foo = digitalocean.KubernetesCluster("foo",
|
|
515
|
-
|
|
518
|
+
name="foo",
|
|
519
|
+
region=digitalocean.Region.NYC1,
|
|
516
520
|
version="1.22.8-do.1",
|
|
517
|
-
node_pool=
|
|
518
|
-
name
|
|
519
|
-
size
|
|
520
|
-
node_count
|
|
521
|
-
)
|
|
521
|
+
node_pool={
|
|
522
|
+
"name": "front-end-pool",
|
|
523
|
+
"size": "s-2vcpu-2gb",
|
|
524
|
+
"node_count": 3,
|
|
525
|
+
})
|
|
522
526
|
bar = digitalocean.KubernetesNodePool("bar",
|
|
523
527
|
cluster_id=foo.id,
|
|
524
|
-
|
|
528
|
+
name="backend-pool",
|
|
529
|
+
size=digitalocean.DropletSlug.DROPLET_C2,
|
|
525
530
|
node_count=2,
|
|
526
531
|
tags=["backend"],
|
|
527
532
|
labels={
|
|
528
533
|
"service": "backend",
|
|
529
534
|
"priority": "high",
|
|
530
535
|
},
|
|
531
|
-
taints=[
|
|
532
|
-
key
|
|
533
|
-
value
|
|
534
|
-
effect
|
|
535
|
-
|
|
536
|
+
taints=[{
|
|
537
|
+
"key": "workloadKind",
|
|
538
|
+
"value": "database",
|
|
539
|
+
"effect": "NoSchedule",
|
|
540
|
+
}])
|
|
536
541
|
```
|
|
537
|
-
<!--End PulumiCodeChooser -->
|
|
538
542
|
|
|
539
543
|
### Autoscaling Example
|
|
540
544
|
|
|
541
545
|
Node pools may also be configured to [autoscale](https://www.digitalocean.com/docs/kubernetes/how-to/autoscale/).
|
|
542
546
|
For example:
|
|
543
547
|
|
|
544
|
-
<!--Start PulumiCodeChooser -->
|
|
545
548
|
```python
|
|
546
549
|
import pulumi
|
|
547
550
|
import pulumi_digitalocean as digitalocean
|
|
548
551
|
|
|
549
552
|
autoscale_pool_01 = digitalocean.KubernetesNodePool("autoscale-pool-01",
|
|
550
|
-
cluster_id=
|
|
551
|
-
|
|
553
|
+
cluster_id=foo["id"],
|
|
554
|
+
name="autoscale-pool-01",
|
|
555
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU2_GB,
|
|
552
556
|
auto_scale=True,
|
|
553
557
|
min_nodes=1,
|
|
554
558
|
max_nodes=5)
|
|
555
559
|
```
|
|
556
|
-
<!--End PulumiCodeChooser -->
|
|
557
560
|
|
|
558
561
|
## Import
|
|
559
562
|
|
|
@@ -597,7 +600,7 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
597
600
|
node_count: Optional[pulumi.Input[int]] = None,
|
|
598
601
|
size: Optional[pulumi.Input[Union[str, 'DropletSlug']]] = None,
|
|
599
602
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
600
|
-
taints: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
603
|
+
taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolTaintArgs', 'KubernetesNodePoolTaintArgsDict']]]]] = None,
|
|
601
604
|
__props__=None):
|
|
602
605
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
603
606
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -641,10 +644,10 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
641
644
|
min_nodes: Optional[pulumi.Input[int]] = None,
|
|
642
645
|
name: Optional[pulumi.Input[str]] = None,
|
|
643
646
|
node_count: Optional[pulumi.Input[int]] = None,
|
|
644
|
-
nodes: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
647
|
+
nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolNodeArgs', 'KubernetesNodePoolNodeArgsDict']]]]] = None,
|
|
645
648
|
size: Optional[pulumi.Input[Union[str, 'DropletSlug']]] = None,
|
|
646
649
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
647
|
-
taints: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
650
|
+
taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolTaintArgs', 'KubernetesNodePoolTaintArgsDict']]]]] = None) -> 'KubernetesNodePool':
|
|
648
651
|
"""
|
|
649
652
|
Get an existing KubernetesNodePool resource's state with the given name, id, and optional extra
|
|
650
653
|
properties used to qualify the lookup.
|
|
@@ -660,10 +663,10 @@ class KubernetesNodePool(pulumi.CustomResource):
|
|
|
660
663
|
:param pulumi.Input[int] min_nodes: If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
|
|
661
664
|
:param pulumi.Input[str] name: A name for the node pool.
|
|
662
665
|
:param pulumi.Input[int] node_count: The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
|
|
663
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
666
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolNodeArgs', 'KubernetesNodePoolNodeArgsDict']]]] nodes: A list of nodes in the pool. Each node exports the following attributes:
|
|
664
667
|
:param pulumi.Input[Union[str, 'DropletSlug']] size: The slug identifier for the type of Droplet to be used as workers in the node pool.
|
|
665
668
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
|
|
666
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
669
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesNodePoolTaintArgs', 'KubernetesNodePoolTaintArgsDict']]]] taints: A list of taints applied to all nodes in the pool.
|
|
667
670
|
|
|
668
671
|
This resource supports customized create timeouts. The default timeout is 30 minutes.
|
|
669
672
|
"""
|