pulumi-digitalocean 4.38.0a1736314576__py3-none-any.whl → 4.39.0__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.
@@ -27,8 +27,10 @@ class KubernetesClusterArgs:
27
27
  version: pulumi.Input[str],
28
28
  auto_upgrade: Optional[pulumi.Input[bool]] = None,
29
29
  cluster_subnet: Optional[pulumi.Input[str]] = None,
30
+ control_plane_firewall: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']] = None,
30
31
  destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
31
32
  ha: Optional[pulumi.Input[bool]] = None,
33
+ kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
32
34
  maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
33
35
  name: Optional[pulumi.Input[str]] = None,
34
36
  registry_integration: Optional[pulumi.Input[bool]] = None,
@@ -44,9 +46,10 @@ class KubernetesClusterArgs:
44
46
  :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
47
  :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).
46
48
  :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.
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
50
+ :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
47
51
 
48
52
  This resource supports customized create timeouts. The default timeout is 30 minutes.
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
50
53
  :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.
51
54
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
52
55
  :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
@@ -62,10 +65,14 @@ class KubernetesClusterArgs:
62
65
  pulumi.set(__self__, "auto_upgrade", auto_upgrade)
63
66
  if cluster_subnet is not None:
64
67
  pulumi.set(__self__, "cluster_subnet", cluster_subnet)
68
+ if control_plane_firewall is not None:
69
+ pulumi.set(__self__, "control_plane_firewall", control_plane_firewall)
65
70
  if destroy_all_associated_resources is not None:
66
71
  pulumi.set(__self__, "destroy_all_associated_resources", destroy_all_associated_resources)
67
72
  if ha is not None:
68
73
  pulumi.set(__self__, "ha", ha)
74
+ if kubeconfig_expire_seconds is not None:
75
+ pulumi.set(__self__, "kubeconfig_expire_seconds", kubeconfig_expire_seconds)
69
76
  if maintenance_policy is not None:
70
77
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
71
78
  if name is not None:
@@ -141,13 +148,20 @@ class KubernetesClusterArgs:
141
148
  def cluster_subnet(self, value: Optional[pulumi.Input[str]]):
142
149
  pulumi.set(self, "cluster_subnet", value)
143
150
 
151
+ @property
152
+ @pulumi.getter(name="controlPlaneFirewall")
153
+ def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
154
+ return pulumi.get(self, "control_plane_firewall")
155
+
156
+ @control_plane_firewall.setter
157
+ def control_plane_firewall(self, value: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]):
158
+ pulumi.set(self, "control_plane_firewall", value)
159
+
144
160
  @property
145
161
  @pulumi.getter(name="destroyAllAssociatedResources")
146
162
  def destroy_all_associated_resources(self) -> Optional[pulumi.Input[bool]]:
147
163
  """
148
164
  **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.
149
-
150
- This resource supports customized create timeouts. The default timeout is 30 minutes.
151
165
  """
152
166
  return pulumi.get(self, "destroy_all_associated_resources")
153
167
 
@@ -167,6 +181,20 @@ class KubernetesClusterArgs:
167
181
  def ha(self, value: Optional[pulumi.Input[bool]]):
168
182
  pulumi.set(self, "ha", value)
169
183
 
184
+ @property
185
+ @pulumi.getter(name="kubeconfigExpireSeconds")
186
+ def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
187
+ """
188
+ The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
189
+
190
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
191
+ """
192
+ return pulumi.get(self, "kubeconfig_expire_seconds")
193
+
194
+ @kubeconfig_expire_seconds.setter
195
+ def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[int]]):
196
+ pulumi.set(self, "kubeconfig_expire_seconds", value)
197
+
170
198
  @property
171
199
  @pulumi.getter(name="maintenancePolicy")
172
200
  def maintenance_policy(self) -> Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]:
@@ -258,12 +286,14 @@ class _KubernetesClusterState:
258
286
  auto_upgrade: Optional[pulumi.Input[bool]] = None,
259
287
  cluster_subnet: Optional[pulumi.Input[str]] = None,
260
288
  cluster_urn: Optional[pulumi.Input[str]] = None,
289
+ control_plane_firewall: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']] = None,
261
290
  created_at: Optional[pulumi.Input[str]] = None,
262
291
  destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
263
292
  endpoint: Optional[pulumi.Input[str]] = None,
264
293
  ha: Optional[pulumi.Input[bool]] = None,
265
294
  ipv4_address: Optional[pulumi.Input[str]] = None,
266
295
  kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]] = None,
296
+ kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
267
297
  maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
268
298
  name: Optional[pulumi.Input[str]] = None,
269
299
  node_pool: Optional[pulumi.Input['KubernetesClusterNodePoolArgs']] = None,
@@ -283,12 +313,13 @@ class _KubernetesClusterState:
283
313
  :param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
284
314
  :param pulumi.Input[str] created_at: The date and time when the node was created.
285
315
  :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.
286
-
287
- This resource supports customized create timeouts. The default timeout is 30 minutes.
288
316
  :param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
289
317
  :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
290
318
  :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
319
  :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
320
+ :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
321
+
322
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
292
323
  :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.
293
324
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
294
325
  :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:
@@ -308,6 +339,8 @@ class _KubernetesClusterState:
308
339
  pulumi.set(__self__, "cluster_subnet", cluster_subnet)
309
340
  if cluster_urn is not None:
310
341
  pulumi.set(__self__, "cluster_urn", cluster_urn)
342
+ if control_plane_firewall is not None:
343
+ pulumi.set(__self__, "control_plane_firewall", control_plane_firewall)
311
344
  if created_at is not None:
312
345
  pulumi.set(__self__, "created_at", created_at)
313
346
  if destroy_all_associated_resources is not None:
@@ -320,6 +353,8 @@ class _KubernetesClusterState:
320
353
  pulumi.set(__self__, "ipv4_address", ipv4_address)
321
354
  if kube_configs is not None:
322
355
  pulumi.set(__self__, "kube_configs", kube_configs)
356
+ if kubeconfig_expire_seconds is not None:
357
+ pulumi.set(__self__, "kubeconfig_expire_seconds", kubeconfig_expire_seconds)
323
358
  if maintenance_policy is not None:
324
359
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
325
360
  if name is not None:
@@ -381,6 +416,15 @@ class _KubernetesClusterState:
381
416
  def cluster_urn(self, value: Optional[pulumi.Input[str]]):
382
417
  pulumi.set(self, "cluster_urn", value)
383
418
 
419
+ @property
420
+ @pulumi.getter(name="controlPlaneFirewall")
421
+ def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
422
+ return pulumi.get(self, "control_plane_firewall")
423
+
424
+ @control_plane_firewall.setter
425
+ def control_plane_firewall(self, value: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]):
426
+ pulumi.set(self, "control_plane_firewall", value)
427
+
384
428
  @property
385
429
  @pulumi.getter(name="createdAt")
386
430
  def created_at(self) -> Optional[pulumi.Input[str]]:
@@ -398,8 +442,6 @@ class _KubernetesClusterState:
398
442
  def destroy_all_associated_resources(self) -> Optional[pulumi.Input[bool]]:
399
443
  """
400
444
  **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.
401
-
402
- This resource supports customized create timeouts. The default timeout is 30 minutes.
403
445
  """
404
446
  return pulumi.get(self, "destroy_all_associated_resources")
405
447
 
@@ -455,6 +497,20 @@ class _KubernetesClusterState:
455
497
  def kube_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]]):
456
498
  pulumi.set(self, "kube_configs", value)
457
499
 
500
+ @property
501
+ @pulumi.getter(name="kubeconfigExpireSeconds")
502
+ def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
503
+ """
504
+ The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
505
+
506
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
507
+ """
508
+ return pulumi.get(self, "kubeconfig_expire_seconds")
509
+
510
+ @kubeconfig_expire_seconds.setter
511
+ def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[int]]):
512
+ pulumi.set(self, "kubeconfig_expire_seconds", value)
513
+
458
514
  @property
459
515
  @pulumi.getter(name="maintenancePolicy")
460
516
  def maintenance_policy(self) -> Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]:
@@ -607,8 +663,10 @@ class KubernetesCluster(pulumi.CustomResource):
607
663
  opts: Optional[pulumi.ResourceOptions] = None,
608
664
  auto_upgrade: Optional[pulumi.Input[bool]] = None,
609
665
  cluster_subnet: Optional[pulumi.Input[str]] = None,
666
+ control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
610
667
  destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
611
668
  ha: Optional[pulumi.Input[bool]] = None,
669
+ kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
612
670
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
613
671
  name: Optional[pulumi.Input[str]] = None,
614
672
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
@@ -652,9 +710,10 @@ class KubernetesCluster(pulumi.CustomResource):
652
710
  :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
711
  :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).
654
712
  :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.
713
+ :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
714
+ :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
655
715
 
656
716
  This resource supports customized create timeouts. The default timeout is 30 minutes.
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
658
717
  :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
718
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
660
719
  :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:
@@ -716,8 +775,10 @@ class KubernetesCluster(pulumi.CustomResource):
716
775
  opts: Optional[pulumi.ResourceOptions] = None,
717
776
  auto_upgrade: Optional[pulumi.Input[bool]] = None,
718
777
  cluster_subnet: Optional[pulumi.Input[str]] = None,
778
+ control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
719
779
  destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
720
780
  ha: Optional[pulumi.Input[bool]] = None,
781
+ kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
721
782
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
722
783
  name: Optional[pulumi.Input[str]] = None,
723
784
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
@@ -739,8 +800,10 @@ class KubernetesCluster(pulumi.CustomResource):
739
800
 
740
801
  __props__.__dict__["auto_upgrade"] = auto_upgrade
741
802
  __props__.__dict__["cluster_subnet"] = cluster_subnet
803
+ __props__.__dict__["control_plane_firewall"] = control_plane_firewall
742
804
  __props__.__dict__["destroy_all_associated_resources"] = destroy_all_associated_resources
743
805
  __props__.__dict__["ha"] = ha
806
+ __props__.__dict__["kubeconfig_expire_seconds"] = kubeconfig_expire_seconds
744
807
  __props__.__dict__["maintenance_policy"] = maintenance_policy
745
808
  __props__.__dict__["name"] = name
746
809
  if node_pool is None and not opts.urn:
@@ -779,12 +842,14 @@ class KubernetesCluster(pulumi.CustomResource):
779
842
  auto_upgrade: Optional[pulumi.Input[bool]] = None,
780
843
  cluster_subnet: Optional[pulumi.Input[str]] = None,
781
844
  cluster_urn: Optional[pulumi.Input[str]] = None,
845
+ control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
782
846
  created_at: Optional[pulumi.Input[str]] = None,
783
847
  destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
784
848
  endpoint: Optional[pulumi.Input[str]] = None,
785
849
  ha: Optional[pulumi.Input[bool]] = None,
786
850
  ipv4_address: Optional[pulumi.Input[str]] = None,
787
851
  kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]]] = None,
852
+ kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
788
853
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
789
854
  name: Optional[pulumi.Input[str]] = None,
790
855
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
@@ -809,12 +874,13 @@ class KubernetesCluster(pulumi.CustomResource):
809
874
  :param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
810
875
  :param pulumi.Input[str] created_at: The date and time when the node was created.
811
876
  :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.
812
-
813
- This resource supports customized create timeouts. The default timeout is 30 minutes.
814
877
  :param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
815
878
  :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
816
879
  :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+)
817
880
  :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
881
+ :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
882
+
883
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
818
884
  :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
885
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
820
886
  :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:
@@ -835,12 +901,14 @@ class KubernetesCluster(pulumi.CustomResource):
835
901
  __props__.__dict__["auto_upgrade"] = auto_upgrade
836
902
  __props__.__dict__["cluster_subnet"] = cluster_subnet
837
903
  __props__.__dict__["cluster_urn"] = cluster_urn
904
+ __props__.__dict__["control_plane_firewall"] = control_plane_firewall
838
905
  __props__.__dict__["created_at"] = created_at
839
906
  __props__.__dict__["destroy_all_associated_resources"] = destroy_all_associated_resources
840
907
  __props__.__dict__["endpoint"] = endpoint
841
908
  __props__.__dict__["ha"] = ha
842
909
  __props__.__dict__["ipv4_address"] = ipv4_address
843
910
  __props__.__dict__["kube_configs"] = kube_configs
911
+ __props__.__dict__["kubeconfig_expire_seconds"] = kubeconfig_expire_seconds
844
912
  __props__.__dict__["maintenance_policy"] = maintenance_policy
845
913
  __props__.__dict__["name"] = name
846
914
  __props__.__dict__["node_pool"] = node_pool
@@ -879,6 +947,11 @@ class KubernetesCluster(pulumi.CustomResource):
879
947
  """
880
948
  return pulumi.get(self, "cluster_urn")
881
949
 
950
+ @property
951
+ @pulumi.getter(name="controlPlaneFirewall")
952
+ def control_plane_firewall(self) -> pulumi.Output['outputs.KubernetesClusterControlPlaneFirewall']:
953
+ return pulumi.get(self, "control_plane_firewall")
954
+
882
955
  @property
883
956
  @pulumi.getter(name="createdAt")
884
957
  def created_at(self) -> pulumi.Output[str]:
@@ -892,8 +965,6 @@ class KubernetesCluster(pulumi.CustomResource):
892
965
  def destroy_all_associated_resources(self) -> pulumi.Output[Optional[bool]]:
893
966
  """
894
967
  **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.
895
-
896
- This resource supports customized create timeouts. The default timeout is 30 minutes.
897
968
  """
898
969
  return pulumi.get(self, "destroy_all_associated_resources")
899
970
 
@@ -929,6 +1000,16 @@ class KubernetesCluster(pulumi.CustomResource):
929
1000
  """
930
1001
  return pulumi.get(self, "kube_configs")
931
1002
 
1003
+ @property
1004
+ @pulumi.getter(name="kubeconfigExpireSeconds")
1005
+ def kubeconfig_expire_seconds(self) -> pulumi.Output[Optional[int]]:
1006
+ """
1007
+ The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
1008
+
1009
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
1010
+ """
1011
+ return pulumi.get(self, "kubeconfig_expire_seconds")
1012
+
932
1013
  @property
933
1014
  @pulumi.getter(name="maintenancePolicy")
934
1015
  def maintenance_policy(self) -> pulumi.Output['outputs.KubernetesClusterMaintenancePolicy']:
@@ -36,6 +36,7 @@ class LoadBalancerArgs:
36
36
  http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
37
37
  name: Optional[pulumi.Input[str]] = None,
38
38
  network: Optional[pulumi.Input[str]] = None,
39
+ network_stack: Optional[pulumi.Input[str]] = None,
39
40
  project_id: Optional[pulumi.Input[str]] = None,
40
41
  redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
41
42
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
@@ -66,6 +67,8 @@ class LoadBalancerArgs:
66
67
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
67
68
  :param pulumi.Input[str] name: The Load Balancer name
68
69
  :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`.
70
+ :param pulumi.Input[str] network_stack: The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
71
+ **NOTE**: this feature is in private preview, and may not be available for public use
69
72
  :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.
70
73
  :param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
71
74
  HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
@@ -111,6 +114,8 @@ class LoadBalancerArgs:
111
114
  pulumi.set(__self__, "name", name)
112
115
  if network is not None:
113
116
  pulumi.set(__self__, "network", network)
117
+ if network_stack is not None:
118
+ pulumi.set(__self__, "network_stack", network_stack)
114
119
  if project_id is not None:
115
120
  pulumi.set(__self__, "project_id", project_id)
116
121
  if redirect_http_to_https is not None:
@@ -304,6 +309,19 @@ class LoadBalancerArgs:
304
309
  def network(self, value: Optional[pulumi.Input[str]]):
305
310
  pulumi.set(self, "network", value)
306
311
 
312
+ @property
313
+ @pulumi.getter(name="networkStack")
314
+ def network_stack(self) -> Optional[pulumi.Input[str]]:
315
+ """
316
+ The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
317
+ **NOTE**: this feature is in private preview, and may not be available for public use
318
+ """
319
+ return pulumi.get(self, "network_stack")
320
+
321
+ @network_stack.setter
322
+ def network_stack(self, value: Optional[pulumi.Input[str]]):
323
+ pulumi.set(self, "network_stack", value)
324
+
307
325
  @property
308
326
  @pulumi.getter(name="projectId")
309
327
  def project_id(self) -> Optional[pulumi.Input[str]]:
@@ -437,6 +455,7 @@ class _LoadBalancerState:
437
455
  load_balancer_urn: Optional[pulumi.Input[str]] = None,
438
456
  name: Optional[pulumi.Input[str]] = None,
439
457
  network: Optional[pulumi.Input[str]] = None,
458
+ network_stack: Optional[pulumi.Input[str]] = None,
440
459
  project_id: Optional[pulumi.Input[str]] = None,
441
460
  redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
442
461
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
@@ -470,6 +489,8 @@ class _LoadBalancerState:
470
489
  :param pulumi.Input[str] load_balancer_urn: The uniform resource name for the Load Balancer
471
490
  :param pulumi.Input[str] name: The Load Balancer name
472
491
  :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`.
492
+ :param pulumi.Input[str] network_stack: The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
493
+ **NOTE**: this feature is in private preview, and may not be available for public use
473
494
  :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.
474
495
  :param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
475
496
  HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
@@ -521,6 +542,8 @@ class _LoadBalancerState:
521
542
  pulumi.set(__self__, "name", name)
522
543
  if network is not None:
523
544
  pulumi.set(__self__, "network", network)
545
+ if network_stack is not None:
546
+ pulumi.set(__self__, "network_stack", network_stack)
524
547
  if project_id is not None:
525
548
  pulumi.set(__self__, "project_id", project_id)
526
549
  if redirect_http_to_https is not None:
@@ -749,6 +772,19 @@ class _LoadBalancerState:
749
772
  def network(self, value: Optional[pulumi.Input[str]]):
750
773
  pulumi.set(self, "network", value)
751
774
 
775
+ @property
776
+ @pulumi.getter(name="networkStack")
777
+ def network_stack(self) -> Optional[pulumi.Input[str]]:
778
+ """
779
+ The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
780
+ **NOTE**: this feature is in private preview, and may not be available for public use
781
+ """
782
+ return pulumi.get(self, "network_stack")
783
+
784
+ @network_stack.setter
785
+ def network_stack(self, value: Optional[pulumi.Input[str]]):
786
+ pulumi.set(self, "network_stack", value)
787
+
752
788
  @property
753
789
  @pulumi.getter(name="projectId")
754
790
  def project_id(self) -> Optional[pulumi.Input[str]]:
@@ -890,6 +926,7 @@ class LoadBalancer(pulumi.CustomResource):
890
926
  http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
891
927
  name: Optional[pulumi.Input[str]] = None,
892
928
  network: Optional[pulumi.Input[str]] = None,
929
+ network_stack: Optional[pulumi.Input[str]] = None,
893
930
  project_id: Optional[pulumi.Input[str]] = None,
894
931
  redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
895
932
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
@@ -966,6 +1003,8 @@ class LoadBalancer(pulumi.CustomResource):
966
1003
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
967
1004
  :param pulumi.Input[str] name: The Load Balancer name
968
1005
  :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`.
1006
+ :param pulumi.Input[str] network_stack: The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
1007
+ **NOTE**: this feature is in private preview, and may not be available for public use
969
1008
  :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.
970
1009
  :param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
971
1010
  HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
@@ -1060,6 +1099,7 @@ class LoadBalancer(pulumi.CustomResource):
1060
1099
  http_idle_timeout_seconds: Optional[pulumi.Input[int]] = None,
1061
1100
  name: Optional[pulumi.Input[str]] = None,
1062
1101
  network: Optional[pulumi.Input[str]] = None,
1102
+ network_stack: Optional[pulumi.Input[str]] = None,
1063
1103
  project_id: Optional[pulumi.Input[str]] = None,
1064
1104
  redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
1065
1105
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
@@ -1092,6 +1132,7 @@ class LoadBalancer(pulumi.CustomResource):
1092
1132
  __props__.__dict__["http_idle_timeout_seconds"] = http_idle_timeout_seconds
1093
1133
  __props__.__dict__["name"] = name
1094
1134
  __props__.__dict__["network"] = network
1135
+ __props__.__dict__["network_stack"] = network_stack
1095
1136
  __props__.__dict__["project_id"] = project_id
1096
1137
  __props__.__dict__["redirect_http_to_https"] = redirect_http_to_https
1097
1138
  __props__.__dict__["region"] = region
@@ -1132,6 +1173,7 @@ class LoadBalancer(pulumi.CustomResource):
1132
1173
  load_balancer_urn: Optional[pulumi.Input[str]] = None,
1133
1174
  name: Optional[pulumi.Input[str]] = None,
1134
1175
  network: Optional[pulumi.Input[str]] = None,
1176
+ network_stack: Optional[pulumi.Input[str]] = None,
1135
1177
  project_id: Optional[pulumi.Input[str]] = None,
1136
1178
  redirect_http_to_https: Optional[pulumi.Input[bool]] = None,
1137
1179
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
@@ -1170,6 +1212,8 @@ class LoadBalancer(pulumi.CustomResource):
1170
1212
  :param pulumi.Input[str] load_balancer_urn: The uniform resource name for the Load Balancer
1171
1213
  :param pulumi.Input[str] name: The Load Balancer name
1172
1214
  :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`.
1215
+ :param pulumi.Input[str] network_stack: The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
1216
+ **NOTE**: this feature is in private preview, and may not be available for public use
1173
1217
  :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.
1174
1218
  :param pulumi.Input[bool] redirect_http_to_https: A boolean value indicating whether
1175
1219
  HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443.
@@ -1205,6 +1249,7 @@ class LoadBalancer(pulumi.CustomResource):
1205
1249
  __props__.__dict__["load_balancer_urn"] = load_balancer_urn
1206
1250
  __props__.__dict__["name"] = name
1207
1251
  __props__.__dict__["network"] = network
1252
+ __props__.__dict__["network_stack"] = network_stack
1208
1253
  __props__.__dict__["project_id"] = project_id
1209
1254
  __props__.__dict__["redirect_http_to_https"] = redirect_http_to_https
1210
1255
  __props__.__dict__["region"] = region
@@ -1356,6 +1401,15 @@ class LoadBalancer(pulumi.CustomResource):
1356
1401
  """
1357
1402
  return pulumi.get(self, "network")
1358
1403
 
1404
+ @property
1405
+ @pulumi.getter(name="networkStack")
1406
+ def network_stack(self) -> pulumi.Output[Optional[str]]:
1407
+ """
1408
+ The network stack determines the allocation of ipv4/ipv6 addresses to the load balancer. It must be either of `IPV4` or `DUALSTACK`. Defaults to `IPV4`.
1409
+ **NOTE**: this feature is in private preview, and may not be available for public use
1410
+ """
1411
+ return pulumi.get(self, "network_stack")
1412
+
1359
1413
  @property
1360
1414
  @pulumi.getter(name="projectId")
1361
1415
  def project_id(self) -> pulumi.Output[str]: