pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__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.
Files changed (154) hide show
  1. pulumi_digitalocean/__init__.py +224 -1
  2. pulumi_digitalocean/_enums.py +19 -9
  3. pulumi_digitalocean/_inputs.py +17037 -4771
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +238 -88
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +106 -105
  8. pulumi_digitalocean/certificate.py +139 -138
  9. pulumi_digitalocean/config/__init__.py +2 -1
  10. pulumi_digitalocean/config/__init__.pyi +2 -2
  11. pulumi_digitalocean/config/vars.py +11 -11
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +90 -89
  14. pulumi_digitalocean/container_registry_docker_credentials.py +84 -83
  15. pulumi_digitalocean/custom_image.py +180 -179
  16. pulumi_digitalocean/database_cluster.py +402 -373
  17. pulumi_digitalocean/database_connection_pool.py +159 -158
  18. pulumi_digitalocean/database_db.py +37 -36
  19. pulumi_digitalocean/database_firewall.py +23 -22
  20. pulumi_digitalocean/database_kafka_config.py +309 -308
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +83 -82
  23. pulumi_digitalocean/database_logsink_opensearch.py +680 -0
  24. pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
  25. pulumi_digitalocean/database_mongodb_config.py +105 -104
  26. pulumi_digitalocean/database_mysql_config.py +479 -478
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +666 -665
  29. pulumi_digitalocean/database_postgresql_config.py +859 -858
  30. pulumi_digitalocean/database_redis_config.py +211 -206
  31. pulumi_digitalocean/database_replica.py +199 -198
  32. pulumi_digitalocean/database_user.py +93 -92
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +184 -183
  35. pulumi_digitalocean/domain.py +55 -54
  36. pulumi_digitalocean/droplet.py +403 -402
  37. pulumi_digitalocean/droplet_autoscale.py +55 -54
  38. pulumi_digitalocean/droplet_snapshot.py +73 -72
  39. pulumi_digitalocean/firewall.py +80 -79
  40. pulumi_digitalocean/floating_ip.py +63 -62
  41. pulumi_digitalocean/floating_ip_assignment.py +37 -36
  42. pulumi_digitalocean/genai_agent.py +1903 -0
  43. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  44. pulumi_digitalocean/genai_agent_route.py +354 -0
  45. pulumi_digitalocean/genai_function.py +464 -0
  46. pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
  47. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  48. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  49. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  50. pulumi_digitalocean/get_account.py +18 -18
  51. pulumi_digitalocean/get_app.py +28 -28
  52. pulumi_digitalocean/get_byoip_prefix.py +214 -0
  53. pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
  54. pulumi_digitalocean/get_certificate.py +22 -22
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -22
  57. pulumi_digitalocean/get_database_ca.py +12 -12
  58. pulumi_digitalocean/get_database_cluster.py +76 -62
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -36
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -46
  62. pulumi_digitalocean/get_database_user.py +27 -27
  63. pulumi_digitalocean/get_domain.py +16 -16
  64. pulumi_digitalocean/get_domains.py +7 -7
  65. pulumi_digitalocean/get_droplet.py +72 -72
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -23
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -38
  68. pulumi_digitalocean/get_droplets.py +13 -13
  69. pulumi_digitalocean/get_firewall.py +31 -31
  70. pulumi_digitalocean/get_floating_ip.py +16 -16
  71. pulumi_digitalocean/get_genai_agent.py +572 -0
  72. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  73. pulumi_digitalocean/get_genai_agents.py +128 -0
  74. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  75. pulumi_digitalocean/get_genai_indexing_job.py +239 -0
  76. pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
  77. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  78. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  79. pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
  80. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  81. pulumi_digitalocean/get_genai_models.py +113 -0
  82. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  83. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  84. pulumi_digitalocean/get_genai_regions.py +113 -0
  85. pulumi_digitalocean/get_image.py +50 -50
  86. pulumi_digitalocean/get_images.py +7 -7
  87. pulumi_digitalocean/get_kubernetes_cluster.py +144 -53
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -14
  89. pulumi_digitalocean/get_load_balancer.py +70 -59
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +206 -0
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -32
  95. pulumi_digitalocean/get_projects.py +7 -7
  96. pulumi_digitalocean/get_record.py +32 -32
  97. pulumi_digitalocean/get_records.py +13 -13
  98. pulumi_digitalocean/get_region.py +18 -18
  99. pulumi_digitalocean/get_regions.py +7 -7
  100. pulumi_digitalocean/get_reserved_ip.py +16 -16
  101. pulumi_digitalocean/get_reserved_ipv6.py +51 -16
  102. pulumi_digitalocean/get_sizes.py +141 -7
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -22
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -58
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -46
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -7
  107. pulumi_digitalocean/get_spaces_key.py +157 -0
  108. pulumi_digitalocean/get_ssh_key.py +14 -14
  109. pulumi_digitalocean/get_ssh_keys.py +7 -7
  110. pulumi_digitalocean/get_tag.py +22 -22
  111. pulumi_digitalocean/get_tags.py +7 -7
  112. pulumi_digitalocean/get_volume.py +34 -34
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -40
  114. pulumi_digitalocean/get_vpc.py +30 -30
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -24
  117. pulumi_digitalocean/kubernetes_cluster.py +572 -303
  118. pulumi_digitalocean/kubernetes_node_pool.py +170 -169
  119. pulumi_digitalocean/load_balancer.py +406 -372
  120. pulumi_digitalocean/monitor_alert.py +153 -156
  121. pulumi_digitalocean/nfs.py +481 -0
  122. pulumi_digitalocean/nfs_attachment.py +289 -0
  123. pulumi_digitalocean/nfs_snapshot.py +379 -0
  124. pulumi_digitalocean/outputs.py +26759 -7592
  125. pulumi_digitalocean/partner_attachment.py +555 -0
  126. pulumi_digitalocean/project.py +141 -140
  127. pulumi_digitalocean/project_resources.py +37 -36
  128. pulumi_digitalocean/provider.py +105 -84
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +63 -62
  131. pulumi_digitalocean/reserved_ip_assignment.py +37 -36
  132. pulumi_digitalocean/reserved_ipv6.py +122 -62
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +81 -30
  134. pulumi_digitalocean/spaces_bucket.py +107 -106
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +40 -39
  136. pulumi_digitalocean/spaces_bucket_logging.py +346 -0
  137. pulumi_digitalocean/spaces_bucket_object.py +284 -283
  138. pulumi_digitalocean/spaces_bucket_policy.py +54 -53
  139. pulumi_digitalocean/spaces_key.py +388 -0
  140. pulumi_digitalocean/ssh_key.py +46 -45
  141. pulumi_digitalocean/tag.py +74 -73
  142. pulumi_digitalocean/uptime_alert.py +112 -111
  143. pulumi_digitalocean/uptime_check.py +90 -89
  144. pulumi_digitalocean/volume.py +183 -182
  145. pulumi_digitalocean/volume_attachment.py +37 -36
  146. pulumi_digitalocean/volume_snapshot.py +90 -89
  147. pulumi_digitalocean/vpc.py +100 -99
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +55 -58
  150. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +4 -4
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.40.0a1739511652.dist-info/RECORD +0 -108
  154. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -23,46 +23,62 @@ __all__ = ['KubernetesClusterArgs', 'KubernetesCluster']
23
23
  class KubernetesClusterArgs:
24
24
  def __init__(__self__, *,
25
25
  node_pool: pulumi.Input['KubernetesClusterNodePoolArgs'],
26
- region: pulumi.Input[Union[str, 'Region']],
27
- version: pulumi.Input[str],
28
- auto_upgrade: Optional[pulumi.Input[bool]] = None,
29
- cluster_subnet: Optional[pulumi.Input[str]] = None,
26
+ region: pulumi.Input[Union[_builtins.str, 'Region']],
27
+ version: pulumi.Input[_builtins.str],
28
+ amd_gpu_device_metrics_exporter_plugin: Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']] = None,
29
+ amd_gpu_device_plugin: Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']] = None,
30
+ auto_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
31
+ cluster_autoscaler_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]] = None,
32
+ cluster_subnet: Optional[pulumi.Input[_builtins.str]] = None,
30
33
  control_plane_firewall: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']] = None,
31
- destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
32
- ha: Optional[pulumi.Input[bool]] = None,
33
- kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
34
+ destroy_all_associated_resources: Optional[pulumi.Input[_builtins.bool]] = None,
35
+ ha: Optional[pulumi.Input[_builtins.bool]] = None,
36
+ kubeconfig_expire_seconds: Optional[pulumi.Input[_builtins.int]] = None,
34
37
  maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
35
- name: Optional[pulumi.Input[str]] = None,
36
- registry_integration: Optional[pulumi.Input[bool]] = None,
37
- service_subnet: Optional[pulumi.Input[str]] = None,
38
- surge_upgrade: Optional[pulumi.Input[bool]] = None,
39
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
40
- vpc_uuid: Optional[pulumi.Input[str]] = None):
38
+ name: Optional[pulumi.Input[_builtins.str]] = None,
39
+ nvidia_gpu_device_plugin: Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']] = None,
40
+ rdma_shared_device_plugin: Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']] = None,
41
+ registry_integration: Optional[pulumi.Input[_builtins.bool]] = None,
42
+ routing_agent: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']] = None,
43
+ service_subnet: Optional[pulumi.Input[_builtins.str]] = None,
44
+ surge_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
45
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
46
+ vpc_uuid: Optional[pulumi.Input[_builtins.str]] = None):
41
47
  """
42
48
  The set of arguments for constructing a KubernetesCluster resource.
43
49
  :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:
44
- :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
45
- :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.)
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.
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).
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.
51
-
52
- This resource supports customized create timeouts. The default timeout is 30 minutes.
50
+ :param pulumi.Input[Union[_builtins.str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
51
+ :param pulumi.Input[_builtins.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.)
52
+ :param pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs'] amd_gpu_device_metrics_exporter_plugin: Block containing options for the AMD GPU device metrics exporter component.
53
+ :param pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs'] amd_gpu_device_plugin: Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
54
+ :param pulumi.Input[_builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
55
+ :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
56
+ :param pulumi.Input[_builtins.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).
57
+ :param pulumi.Input['KubernetesClusterControlPlaneFirewallArgs'] control_plane_firewall: A block representing the cluster's control plane firewall
58
+ :param pulumi.Input[_builtins.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.
59
+ :param pulumi.Input[_builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
60
+ :param pulumi.Input[_builtins.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.
53
61
  :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.
54
- :param pulumi.Input[str] name: A name for the Kubernetes cluster.
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
56
- :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).
57
- :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
58
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
59
- :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
62
+ :param pulumi.Input[_builtins.str] name: A name for the Kubernetes cluster.
63
+ :param pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs'] nvidia_gpu_device_plugin: Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
64
+ :param pulumi.Input[_builtins.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
65
+ :param pulumi.Input['KubernetesClusterRoutingAgentArgs'] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
66
+ :param pulumi.Input[_builtins.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).
67
+ :param pulumi.Input[_builtins.bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
68
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
69
+ :param pulumi.Input[_builtins.str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
60
70
  """
61
71
  pulumi.set(__self__, "node_pool", node_pool)
62
72
  pulumi.set(__self__, "region", region)
63
73
  pulumi.set(__self__, "version", version)
74
+ if amd_gpu_device_metrics_exporter_plugin is not None:
75
+ pulumi.set(__self__, "amd_gpu_device_metrics_exporter_plugin", amd_gpu_device_metrics_exporter_plugin)
76
+ if amd_gpu_device_plugin is not None:
77
+ pulumi.set(__self__, "amd_gpu_device_plugin", amd_gpu_device_plugin)
64
78
  if auto_upgrade is not None:
65
79
  pulumi.set(__self__, "auto_upgrade", auto_upgrade)
80
+ if cluster_autoscaler_configurations is not None:
81
+ pulumi.set(__self__, "cluster_autoscaler_configurations", cluster_autoscaler_configurations)
66
82
  if cluster_subnet is not None:
67
83
  pulumi.set(__self__, "cluster_subnet", cluster_subnet)
68
84
  if control_plane_firewall is not None:
@@ -77,8 +93,14 @@ class KubernetesClusterArgs:
77
93
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
78
94
  if name is not None:
79
95
  pulumi.set(__self__, "name", name)
96
+ if nvidia_gpu_device_plugin is not None:
97
+ pulumi.set(__self__, "nvidia_gpu_device_plugin", nvidia_gpu_device_plugin)
98
+ if rdma_shared_device_plugin is not None:
99
+ pulumi.set(__self__, "rdma_shared_device_plugin", rdma_shared_device_plugin)
80
100
  if registry_integration is not None:
81
101
  pulumi.set(__self__, "registry_integration", registry_integration)
102
+ if routing_agent is not None:
103
+ pulumi.set(__self__, "routing_agent", routing_agent)
82
104
  if service_subnet is not None:
83
105
  pulumi.set(__self__, "service_subnet", service_subnet)
84
106
  if surge_upgrade is not None:
@@ -88,7 +110,7 @@ class KubernetesClusterArgs:
88
110
  if vpc_uuid is not None:
89
111
  pulumi.set(__self__, "vpc_uuid", vpc_uuid)
90
112
 
91
- @property
113
+ @_builtins.property
92
114
  @pulumi.getter(name="nodePool")
93
115
  def node_pool(self) -> pulumi.Input['KubernetesClusterNodePoolArgs']:
94
116
  """
@@ -100,102 +122,139 @@ class KubernetesClusterArgs:
100
122
  def node_pool(self, value: pulumi.Input['KubernetesClusterNodePoolArgs']):
101
123
  pulumi.set(self, "node_pool", value)
102
124
 
103
- @property
125
+ @_builtins.property
104
126
  @pulumi.getter
105
- def region(self) -> pulumi.Input[Union[str, 'Region']]:
127
+ def region(self) -> pulumi.Input[Union[_builtins.str, 'Region']]:
106
128
  """
107
129
  The slug identifier for the region where the Kubernetes cluster will be created.
108
130
  """
109
131
  return pulumi.get(self, "region")
110
132
 
111
133
  @region.setter
112
- def region(self, value: pulumi.Input[Union[str, 'Region']]):
134
+ def region(self, value: pulumi.Input[Union[_builtins.str, 'Region']]):
113
135
  pulumi.set(self, "region", value)
114
136
 
115
- @property
137
+ @_builtins.property
116
138
  @pulumi.getter
117
- def version(self) -> pulumi.Input[str]:
139
+ def version(self) -> pulumi.Input[_builtins.str]:
118
140
  """
119
141
  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.)
120
142
  """
121
143
  return pulumi.get(self, "version")
122
144
 
123
145
  @version.setter
124
- def version(self, value: pulumi.Input[str]):
146
+ def version(self, value: pulumi.Input[_builtins.str]):
125
147
  pulumi.set(self, "version", value)
126
148
 
127
- @property
149
+ @_builtins.property
150
+ @pulumi.getter(name="amdGpuDeviceMetricsExporterPlugin")
151
+ def amd_gpu_device_metrics_exporter_plugin(self) -> Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']]:
152
+ """
153
+ Block containing options for the AMD GPU device metrics exporter component.
154
+ """
155
+ return pulumi.get(self, "amd_gpu_device_metrics_exporter_plugin")
156
+
157
+ @amd_gpu_device_metrics_exporter_plugin.setter
158
+ def amd_gpu_device_metrics_exporter_plugin(self, value: Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']]):
159
+ pulumi.set(self, "amd_gpu_device_metrics_exporter_plugin", value)
160
+
161
+ @_builtins.property
162
+ @pulumi.getter(name="amdGpuDevicePlugin")
163
+ def amd_gpu_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']]:
164
+ """
165
+ Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
166
+ """
167
+ return pulumi.get(self, "amd_gpu_device_plugin")
168
+
169
+ @amd_gpu_device_plugin.setter
170
+ def amd_gpu_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']]):
171
+ pulumi.set(self, "amd_gpu_device_plugin", value)
172
+
173
+ @_builtins.property
128
174
  @pulumi.getter(name="autoUpgrade")
129
- def auto_upgrade(self) -> Optional[pulumi.Input[bool]]:
175
+ def auto_upgrade(self) -> Optional[pulumi.Input[_builtins.bool]]:
130
176
  """
131
177
  A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
132
178
  """
133
179
  return pulumi.get(self, "auto_upgrade")
134
180
 
135
181
  @auto_upgrade.setter
136
- def auto_upgrade(self, value: Optional[pulumi.Input[bool]]):
182
+ def auto_upgrade(self, value: Optional[pulumi.Input[_builtins.bool]]):
137
183
  pulumi.set(self, "auto_upgrade", value)
138
184
 
139
- @property
185
+ @_builtins.property
186
+ @pulumi.getter(name="clusterAutoscalerConfigurations")
187
+ def cluster_autoscaler_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]]:
188
+ """
189
+ Block containing options for cluster auto-scaling.
190
+ """
191
+ return pulumi.get(self, "cluster_autoscaler_configurations")
192
+
193
+ @cluster_autoscaler_configurations.setter
194
+ def cluster_autoscaler_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]]):
195
+ pulumi.set(self, "cluster_autoscaler_configurations", value)
196
+
197
+ @_builtins.property
140
198
  @pulumi.getter(name="clusterSubnet")
141
- def cluster_subnet(self) -> Optional[pulumi.Input[str]]:
199
+ def cluster_subnet(self) -> Optional[pulumi.Input[_builtins.str]]:
142
200
  """
143
201
  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).
144
202
  """
145
203
  return pulumi.get(self, "cluster_subnet")
146
204
 
147
205
  @cluster_subnet.setter
148
- def cluster_subnet(self, value: Optional[pulumi.Input[str]]):
206
+ def cluster_subnet(self, value: Optional[pulumi.Input[_builtins.str]]):
149
207
  pulumi.set(self, "cluster_subnet", value)
150
208
 
151
- @property
209
+ @_builtins.property
152
210
  @pulumi.getter(name="controlPlaneFirewall")
153
211
  def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
212
+ """
213
+ A block representing the cluster's control plane firewall
214
+ """
154
215
  return pulumi.get(self, "control_plane_firewall")
155
216
 
156
217
  @control_plane_firewall.setter
157
218
  def control_plane_firewall(self, value: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]):
158
219
  pulumi.set(self, "control_plane_firewall", value)
159
220
 
160
- @property
221
+ @_builtins.property
161
222
  @pulumi.getter(name="destroyAllAssociatedResources")
162
- def destroy_all_associated_resources(self) -> Optional[pulumi.Input[bool]]:
223
+ def destroy_all_associated_resources(self) -> Optional[pulumi.Input[_builtins.bool]]:
163
224
  """
164
225
  **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.
165
226
  """
166
227
  return pulumi.get(self, "destroy_all_associated_resources")
167
228
 
168
229
  @destroy_all_associated_resources.setter
169
- def destroy_all_associated_resources(self, value: Optional[pulumi.Input[bool]]):
230
+ def destroy_all_associated_resources(self, value: Optional[pulumi.Input[_builtins.bool]]):
170
231
  pulumi.set(self, "destroy_all_associated_resources", value)
171
232
 
172
- @property
233
+ @_builtins.property
173
234
  @pulumi.getter
174
- def ha(self) -> Optional[pulumi.Input[bool]]:
235
+ def ha(self) -> Optional[pulumi.Input[_builtins.bool]]:
175
236
  """
176
237
  Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
177
238
  """
178
239
  return pulumi.get(self, "ha")
179
240
 
180
241
  @ha.setter
181
- def ha(self, value: Optional[pulumi.Input[bool]]):
242
+ def ha(self, value: Optional[pulumi.Input[_builtins.bool]]):
182
243
  pulumi.set(self, "ha", value)
183
244
 
184
- @property
245
+ @_builtins.property
185
246
  @pulumi.getter(name="kubeconfigExpireSeconds")
186
- def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
247
+ def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
187
248
  """
188
249
  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
250
  """
192
251
  return pulumi.get(self, "kubeconfig_expire_seconds")
193
252
 
194
253
  @kubeconfig_expire_seconds.setter
195
- def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[int]]):
254
+ def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
196
255
  pulumi.set(self, "kubeconfig_expire_seconds", value)
197
256
 
198
- @property
257
+ @_builtins.property
199
258
  @pulumi.getter(name="maintenancePolicy")
200
259
  def maintenance_policy(self) -> Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]:
201
260
  """
@@ -207,134 +266,183 @@ class KubernetesClusterArgs:
207
266
  def maintenance_policy(self, value: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]):
208
267
  pulumi.set(self, "maintenance_policy", value)
209
268
 
210
- @property
269
+ @_builtins.property
211
270
  @pulumi.getter
212
- def name(self) -> Optional[pulumi.Input[str]]:
271
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
213
272
  """
214
273
  A name for the Kubernetes cluster.
215
274
  """
216
275
  return pulumi.get(self, "name")
217
276
 
218
277
  @name.setter
219
- def name(self, value: Optional[pulumi.Input[str]]):
278
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
220
279
  pulumi.set(self, "name", value)
221
280
 
222
- @property
281
+ @_builtins.property
282
+ @pulumi.getter(name="nvidiaGpuDevicePlugin")
283
+ def nvidia_gpu_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']]:
284
+ """
285
+ Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
286
+ """
287
+ return pulumi.get(self, "nvidia_gpu_device_plugin")
288
+
289
+ @nvidia_gpu_device_plugin.setter
290
+ def nvidia_gpu_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']]):
291
+ pulumi.set(self, "nvidia_gpu_device_plugin", value)
292
+
293
+ @_builtins.property
294
+ @pulumi.getter(name="rdmaSharedDevicePlugin")
295
+ def rdma_shared_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']]:
296
+ return pulumi.get(self, "rdma_shared_device_plugin")
297
+
298
+ @rdma_shared_device_plugin.setter
299
+ def rdma_shared_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']]):
300
+ pulumi.set(self, "rdma_shared_device_plugin", value)
301
+
302
+ @_builtins.property
223
303
  @pulumi.getter(name="registryIntegration")
224
- def registry_integration(self) -> Optional[pulumi.Input[bool]]:
304
+ def registry_integration(self) -> Optional[pulumi.Input[_builtins.bool]]:
225
305
  """
226
306
  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
227
307
  """
228
308
  return pulumi.get(self, "registry_integration")
229
309
 
230
310
  @registry_integration.setter
231
- def registry_integration(self, value: Optional[pulumi.Input[bool]]):
311
+ def registry_integration(self, value: Optional[pulumi.Input[_builtins.bool]]):
232
312
  pulumi.set(self, "registry_integration", value)
233
313
 
234
- @property
314
+ @_builtins.property
315
+ @pulumi.getter(name="routingAgent")
316
+ def routing_agent(self) -> Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]:
317
+ """
318
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
319
+ """
320
+ return pulumi.get(self, "routing_agent")
321
+
322
+ @routing_agent.setter
323
+ def routing_agent(self, value: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]):
324
+ pulumi.set(self, "routing_agent", value)
325
+
326
+ @_builtins.property
235
327
  @pulumi.getter(name="serviceSubnet")
236
- def service_subnet(self) -> Optional[pulumi.Input[str]]:
328
+ def service_subnet(self) -> Optional[pulumi.Input[_builtins.str]]:
237
329
  """
238
330
  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).
239
331
  """
240
332
  return pulumi.get(self, "service_subnet")
241
333
 
242
334
  @service_subnet.setter
243
- def service_subnet(self, value: Optional[pulumi.Input[str]]):
335
+ def service_subnet(self, value: Optional[pulumi.Input[_builtins.str]]):
244
336
  pulumi.set(self, "service_subnet", value)
245
337
 
246
- @property
338
+ @_builtins.property
247
339
  @pulumi.getter(name="surgeUpgrade")
248
- def surge_upgrade(self) -> Optional[pulumi.Input[bool]]:
340
+ def surge_upgrade(self) -> Optional[pulumi.Input[_builtins.bool]]:
249
341
  """
250
342
  Enable/disable surge upgrades for a cluster. Default: true
251
343
  """
252
344
  return pulumi.get(self, "surge_upgrade")
253
345
 
254
346
  @surge_upgrade.setter
255
- def surge_upgrade(self, value: Optional[pulumi.Input[bool]]):
347
+ def surge_upgrade(self, value: Optional[pulumi.Input[_builtins.bool]]):
256
348
  pulumi.set(self, "surge_upgrade", value)
257
349
 
258
- @property
350
+ @_builtins.property
259
351
  @pulumi.getter
260
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
352
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
261
353
  """
262
354
  A list of tag names to be applied to the Kubernetes cluster.
263
355
  """
264
356
  return pulumi.get(self, "tags")
265
357
 
266
358
  @tags.setter
267
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
359
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
268
360
  pulumi.set(self, "tags", value)
269
361
 
270
- @property
362
+ @_builtins.property
271
363
  @pulumi.getter(name="vpcUuid")
272
- def vpc_uuid(self) -> Optional[pulumi.Input[str]]:
364
+ def vpc_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
273
365
  """
274
366
  The ID of the VPC where the Kubernetes cluster will be located.
275
367
  """
276
368
  return pulumi.get(self, "vpc_uuid")
277
369
 
278
370
  @vpc_uuid.setter
279
- def vpc_uuid(self, value: Optional[pulumi.Input[str]]):
371
+ def vpc_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
280
372
  pulumi.set(self, "vpc_uuid", value)
281
373
 
282
374
 
283
375
  @pulumi.input_type
284
376
  class _KubernetesClusterState:
285
377
  def __init__(__self__, *,
286
- auto_upgrade: Optional[pulumi.Input[bool]] = None,
287
- cluster_subnet: Optional[pulumi.Input[str]] = None,
288
- cluster_urn: Optional[pulumi.Input[str]] = None,
378
+ amd_gpu_device_metrics_exporter_plugin: Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']] = None,
379
+ amd_gpu_device_plugin: Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']] = None,
380
+ auto_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
381
+ cluster_autoscaler_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]] = None,
382
+ cluster_subnet: Optional[pulumi.Input[_builtins.str]] = None,
383
+ cluster_urn: Optional[pulumi.Input[_builtins.str]] = None,
289
384
  control_plane_firewall: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']] = None,
290
- created_at: Optional[pulumi.Input[str]] = None,
291
- destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
292
- endpoint: Optional[pulumi.Input[str]] = None,
293
- ha: Optional[pulumi.Input[bool]] = None,
294
- ipv4_address: Optional[pulumi.Input[str]] = None,
385
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
386
+ destroy_all_associated_resources: Optional[pulumi.Input[_builtins.bool]] = None,
387
+ endpoint: Optional[pulumi.Input[_builtins.str]] = None,
388
+ ha: Optional[pulumi.Input[_builtins.bool]] = None,
389
+ ipv4_address: Optional[pulumi.Input[_builtins.str]] = None,
295
390
  kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]] = None,
296
- kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
391
+ kubeconfig_expire_seconds: Optional[pulumi.Input[_builtins.int]] = None,
297
392
  maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
298
- name: Optional[pulumi.Input[str]] = None,
393
+ name: Optional[pulumi.Input[_builtins.str]] = None,
299
394
  node_pool: Optional[pulumi.Input['KubernetesClusterNodePoolArgs']] = None,
300
- region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
301
- registry_integration: Optional[pulumi.Input[bool]] = None,
302
- service_subnet: Optional[pulumi.Input[str]] = None,
303
- status: Optional[pulumi.Input[str]] = None,
304
- surge_upgrade: Optional[pulumi.Input[bool]] = None,
305
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
306
- updated_at: Optional[pulumi.Input[str]] = None,
307
- version: Optional[pulumi.Input[str]] = None,
308
- vpc_uuid: Optional[pulumi.Input[str]] = None):
395
+ nvidia_gpu_device_plugin: Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']] = None,
396
+ rdma_shared_device_plugin: Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']] = None,
397
+ region: Optional[pulumi.Input[Union[_builtins.str, 'Region']]] = None,
398
+ registry_integration: Optional[pulumi.Input[_builtins.bool]] = None,
399
+ routing_agent: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']] = None,
400
+ service_subnet: Optional[pulumi.Input[_builtins.str]] = None,
401
+ status: Optional[pulumi.Input[_builtins.str]] = None,
402
+ surge_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
403
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
404
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
405
+ version: Optional[pulumi.Input[_builtins.str]] = None,
406
+ vpc_uuid: Optional[pulumi.Input[_builtins.str]] = None):
309
407
  """
310
408
  Input properties used for looking up and filtering KubernetesCluster resources.
311
- :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.
312
- :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).
313
- :param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
314
- :param pulumi.Input[str] created_at: The date and time when the node was created.
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.
316
- :param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
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
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+)
409
+ :param pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs'] amd_gpu_device_metrics_exporter_plugin: Block containing options for the AMD GPU device metrics exporter component.
410
+ :param pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs'] amd_gpu_device_plugin: Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
411
+ :param pulumi.Input[_builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
412
+ :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
413
+ :param pulumi.Input[_builtins.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).
414
+ :param pulumi.Input[_builtins.str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
415
+ :param pulumi.Input['KubernetesClusterControlPlaneFirewallArgs'] control_plane_firewall: A block representing the cluster's control plane firewall
416
+ :param pulumi.Input[_builtins.str] created_at: The date and time when the node was created.
417
+ :param pulumi.Input[_builtins.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.
418
+ :param pulumi.Input[_builtins.str] endpoint: The base URL of the API server on the Kubernetes master node.
419
+ :param pulumi.Input[_builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
420
+ :param pulumi.Input[_builtins.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+)
319
421
  :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.
422
+ :param pulumi.Input[_builtins.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.
323
423
  :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.
324
- :param pulumi.Input[str] name: A name for the Kubernetes cluster.
424
+ :param pulumi.Input[_builtins.str] name: A name for the Kubernetes cluster.
325
425
  :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:
326
- :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
327
- :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
328
- :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).
329
- :param pulumi.Input[str] status: A string indicating the current status of the individual node.
330
- :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
331
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
332
- :param pulumi.Input[str] updated_at: The date and time when the node was last updated.
333
- :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.)
334
- :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
335
- """
426
+ :param pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs'] nvidia_gpu_device_plugin: Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
427
+ :param pulumi.Input[Union[_builtins.str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
428
+ :param pulumi.Input[_builtins.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
429
+ :param pulumi.Input['KubernetesClusterRoutingAgentArgs'] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
430
+ :param pulumi.Input[_builtins.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).
431
+ :param pulumi.Input[_builtins.str] status: A string indicating the current status of the individual node.
432
+ :param pulumi.Input[_builtins.bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
433
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
434
+ :param pulumi.Input[_builtins.str] updated_at: The date and time when the node was last updated.
435
+ :param pulumi.Input[_builtins.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.)
436
+ :param pulumi.Input[_builtins.str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
437
+ """
438
+ if amd_gpu_device_metrics_exporter_plugin is not None:
439
+ pulumi.set(__self__, "amd_gpu_device_metrics_exporter_plugin", amd_gpu_device_metrics_exporter_plugin)
440
+ if amd_gpu_device_plugin is not None:
441
+ pulumi.set(__self__, "amd_gpu_device_plugin", amd_gpu_device_plugin)
336
442
  if auto_upgrade is not None:
337
443
  pulumi.set(__self__, "auto_upgrade", auto_upgrade)
444
+ if cluster_autoscaler_configurations is not None:
445
+ pulumi.set(__self__, "cluster_autoscaler_configurations", cluster_autoscaler_configurations)
338
446
  if cluster_subnet is not None:
339
447
  pulumi.set(__self__, "cluster_subnet", cluster_subnet)
340
448
  if cluster_urn is not None:
@@ -361,10 +469,16 @@ class _KubernetesClusterState:
361
469
  pulumi.set(__self__, "name", name)
362
470
  if node_pool is not None:
363
471
  pulumi.set(__self__, "node_pool", node_pool)
472
+ if nvidia_gpu_device_plugin is not None:
473
+ pulumi.set(__self__, "nvidia_gpu_device_plugin", nvidia_gpu_device_plugin)
474
+ if rdma_shared_device_plugin is not None:
475
+ pulumi.set(__self__, "rdma_shared_device_plugin", rdma_shared_device_plugin)
364
476
  if region is not None:
365
477
  pulumi.set(__self__, "region", region)
366
478
  if registry_integration is not None:
367
479
  pulumi.set(__self__, "registry_integration", registry_integration)
480
+ if routing_agent is not None:
481
+ pulumi.set(__self__, "routing_agent", routing_agent)
368
482
  if service_subnet is not None:
369
483
  pulumi.set(__self__, "service_subnet", service_subnet)
370
484
  if status is not None:
@@ -380,112 +494,151 @@ class _KubernetesClusterState:
380
494
  if vpc_uuid is not None:
381
495
  pulumi.set(__self__, "vpc_uuid", vpc_uuid)
382
496
 
383
- @property
497
+ @_builtins.property
498
+ @pulumi.getter(name="amdGpuDeviceMetricsExporterPlugin")
499
+ def amd_gpu_device_metrics_exporter_plugin(self) -> Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']]:
500
+ """
501
+ Block containing options for the AMD GPU device metrics exporter component.
502
+ """
503
+ return pulumi.get(self, "amd_gpu_device_metrics_exporter_plugin")
504
+
505
+ @amd_gpu_device_metrics_exporter_plugin.setter
506
+ def amd_gpu_device_metrics_exporter_plugin(self, value: Optional[pulumi.Input['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs']]):
507
+ pulumi.set(self, "amd_gpu_device_metrics_exporter_plugin", value)
508
+
509
+ @_builtins.property
510
+ @pulumi.getter(name="amdGpuDevicePlugin")
511
+ def amd_gpu_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']]:
512
+ """
513
+ Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
514
+ """
515
+ return pulumi.get(self, "amd_gpu_device_plugin")
516
+
517
+ @amd_gpu_device_plugin.setter
518
+ def amd_gpu_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterAmdGpuDevicePluginArgs']]):
519
+ pulumi.set(self, "amd_gpu_device_plugin", value)
520
+
521
+ @_builtins.property
384
522
  @pulumi.getter(name="autoUpgrade")
385
- def auto_upgrade(self) -> Optional[pulumi.Input[bool]]:
523
+ def auto_upgrade(self) -> Optional[pulumi.Input[_builtins.bool]]:
386
524
  """
387
525
  A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
388
526
  """
389
527
  return pulumi.get(self, "auto_upgrade")
390
528
 
391
529
  @auto_upgrade.setter
392
- def auto_upgrade(self, value: Optional[pulumi.Input[bool]]):
530
+ def auto_upgrade(self, value: Optional[pulumi.Input[_builtins.bool]]):
393
531
  pulumi.set(self, "auto_upgrade", value)
394
532
 
395
- @property
533
+ @_builtins.property
534
+ @pulumi.getter(name="clusterAutoscalerConfigurations")
535
+ def cluster_autoscaler_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]]:
536
+ """
537
+ Block containing options for cluster auto-scaling.
538
+ """
539
+ return pulumi.get(self, "cluster_autoscaler_configurations")
540
+
541
+ @cluster_autoscaler_configurations.setter
542
+ def cluster_autoscaler_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterClusterAutoscalerConfigurationArgs']]]]):
543
+ pulumi.set(self, "cluster_autoscaler_configurations", value)
544
+
545
+ @_builtins.property
396
546
  @pulumi.getter(name="clusterSubnet")
397
- def cluster_subnet(self) -> Optional[pulumi.Input[str]]:
547
+ def cluster_subnet(self) -> Optional[pulumi.Input[_builtins.str]]:
398
548
  """
399
549
  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).
400
550
  """
401
551
  return pulumi.get(self, "cluster_subnet")
402
552
 
403
553
  @cluster_subnet.setter
404
- def cluster_subnet(self, value: Optional[pulumi.Input[str]]):
554
+ def cluster_subnet(self, value: Optional[pulumi.Input[_builtins.str]]):
405
555
  pulumi.set(self, "cluster_subnet", value)
406
556
 
407
- @property
557
+ @_builtins.property
408
558
  @pulumi.getter(name="clusterUrn")
409
- def cluster_urn(self) -> Optional[pulumi.Input[str]]:
559
+ def cluster_urn(self) -> Optional[pulumi.Input[_builtins.str]]:
410
560
  """
411
561
  The uniform resource name (URN) for the Kubernetes cluster.
412
562
  """
413
563
  return pulumi.get(self, "cluster_urn")
414
564
 
415
565
  @cluster_urn.setter
416
- def cluster_urn(self, value: Optional[pulumi.Input[str]]):
566
+ def cluster_urn(self, value: Optional[pulumi.Input[_builtins.str]]):
417
567
  pulumi.set(self, "cluster_urn", value)
418
568
 
419
- @property
569
+ @_builtins.property
420
570
  @pulumi.getter(name="controlPlaneFirewall")
421
571
  def control_plane_firewall(self) -> Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]:
572
+ """
573
+ A block representing the cluster's control plane firewall
574
+ """
422
575
  return pulumi.get(self, "control_plane_firewall")
423
576
 
424
577
  @control_plane_firewall.setter
425
578
  def control_plane_firewall(self, value: Optional[pulumi.Input['KubernetesClusterControlPlaneFirewallArgs']]):
426
579
  pulumi.set(self, "control_plane_firewall", value)
427
580
 
428
- @property
581
+ @_builtins.property
429
582
  @pulumi.getter(name="createdAt")
430
- def created_at(self) -> Optional[pulumi.Input[str]]:
583
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
431
584
  """
432
585
  The date and time when the node was created.
433
586
  """
434
587
  return pulumi.get(self, "created_at")
435
588
 
436
589
  @created_at.setter
437
- def created_at(self, value: Optional[pulumi.Input[str]]):
590
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
438
591
  pulumi.set(self, "created_at", value)
439
592
 
440
- @property
593
+ @_builtins.property
441
594
  @pulumi.getter(name="destroyAllAssociatedResources")
442
- def destroy_all_associated_resources(self) -> Optional[pulumi.Input[bool]]:
595
+ def destroy_all_associated_resources(self) -> Optional[pulumi.Input[_builtins.bool]]:
443
596
  """
444
597
  **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.
445
598
  """
446
599
  return pulumi.get(self, "destroy_all_associated_resources")
447
600
 
448
601
  @destroy_all_associated_resources.setter
449
- def destroy_all_associated_resources(self, value: Optional[pulumi.Input[bool]]):
602
+ def destroy_all_associated_resources(self, value: Optional[pulumi.Input[_builtins.bool]]):
450
603
  pulumi.set(self, "destroy_all_associated_resources", value)
451
604
 
452
- @property
605
+ @_builtins.property
453
606
  @pulumi.getter
454
- def endpoint(self) -> Optional[pulumi.Input[str]]:
607
+ def endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
455
608
  """
456
609
  The base URL of the API server on the Kubernetes master node.
457
610
  """
458
611
  return pulumi.get(self, "endpoint")
459
612
 
460
613
  @endpoint.setter
461
- def endpoint(self, value: Optional[pulumi.Input[str]]):
614
+ def endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
462
615
  pulumi.set(self, "endpoint", value)
463
616
 
464
- @property
617
+ @_builtins.property
465
618
  @pulumi.getter
466
- def ha(self) -> Optional[pulumi.Input[bool]]:
619
+ def ha(self) -> Optional[pulumi.Input[_builtins.bool]]:
467
620
  """
468
621
  Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
469
622
  """
470
623
  return pulumi.get(self, "ha")
471
624
 
472
625
  @ha.setter
473
- def ha(self, value: Optional[pulumi.Input[bool]]):
626
+ def ha(self, value: Optional[pulumi.Input[_builtins.bool]]):
474
627
  pulumi.set(self, "ha", value)
475
628
 
476
- @property
629
+ @_builtins.property
477
630
  @pulumi.getter(name="ipv4Address")
478
- def ipv4_address(self) -> Optional[pulumi.Input[str]]:
631
+ def ipv4_address(self) -> Optional[pulumi.Input[_builtins.str]]:
479
632
  """
480
633
  The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
481
634
  """
482
635
  return pulumi.get(self, "ipv4_address")
483
636
 
484
637
  @ipv4_address.setter
485
- def ipv4_address(self, value: Optional[pulumi.Input[str]]):
638
+ def ipv4_address(self, value: Optional[pulumi.Input[_builtins.str]]):
486
639
  pulumi.set(self, "ipv4_address", value)
487
640
 
488
- @property
641
+ @_builtins.property
489
642
  @pulumi.getter(name="kubeConfigs")
490
643
  def kube_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]]:
491
644
  """
@@ -497,21 +650,19 @@ class _KubernetesClusterState:
497
650
  def kube_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]]]):
498
651
  pulumi.set(self, "kube_configs", value)
499
652
 
500
- @property
653
+ @_builtins.property
501
654
  @pulumi.getter(name="kubeconfigExpireSeconds")
502
- def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
655
+ def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
503
656
  """
504
657
  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
658
  """
508
659
  return pulumi.get(self, "kubeconfig_expire_seconds")
509
660
 
510
661
  @kubeconfig_expire_seconds.setter
511
- def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[int]]):
662
+ def kubeconfig_expire_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
512
663
  pulumi.set(self, "kubeconfig_expire_seconds", value)
513
664
 
514
- @property
665
+ @_builtins.property
515
666
  @pulumi.getter(name="maintenancePolicy")
516
667
  def maintenance_policy(self) -> Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]:
517
668
  """
@@ -523,19 +674,19 @@ class _KubernetesClusterState:
523
674
  def maintenance_policy(self, value: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']]):
524
675
  pulumi.set(self, "maintenance_policy", value)
525
676
 
526
- @property
677
+ @_builtins.property
527
678
  @pulumi.getter
528
- def name(self) -> Optional[pulumi.Input[str]]:
679
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
529
680
  """
530
681
  A name for the Kubernetes cluster.
531
682
  """
532
683
  return pulumi.get(self, "name")
533
684
 
534
685
  @name.setter
535
- def name(self, value: Optional[pulumi.Input[str]]):
686
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
536
687
  pulumi.set(self, "name", value)
537
688
 
538
- @property
689
+ @_builtins.property
539
690
  @pulumi.getter(name="nodePool")
540
691
  def node_pool(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolArgs']]:
541
692
  """
@@ -547,136 +698,176 @@ class _KubernetesClusterState:
547
698
  def node_pool(self, value: Optional[pulumi.Input['KubernetesClusterNodePoolArgs']]):
548
699
  pulumi.set(self, "node_pool", value)
549
700
 
550
- @property
701
+ @_builtins.property
702
+ @pulumi.getter(name="nvidiaGpuDevicePlugin")
703
+ def nvidia_gpu_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']]:
704
+ """
705
+ Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
706
+ """
707
+ return pulumi.get(self, "nvidia_gpu_device_plugin")
708
+
709
+ @nvidia_gpu_device_plugin.setter
710
+ def nvidia_gpu_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterNvidiaGpuDevicePluginArgs']]):
711
+ pulumi.set(self, "nvidia_gpu_device_plugin", value)
712
+
713
+ @_builtins.property
714
+ @pulumi.getter(name="rdmaSharedDevicePlugin")
715
+ def rdma_shared_device_plugin(self) -> Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']]:
716
+ return pulumi.get(self, "rdma_shared_device_plugin")
717
+
718
+ @rdma_shared_device_plugin.setter
719
+ def rdma_shared_device_plugin(self, value: Optional[pulumi.Input['KubernetesClusterRdmaSharedDevicePluginArgs']]):
720
+ pulumi.set(self, "rdma_shared_device_plugin", value)
721
+
722
+ @_builtins.property
551
723
  @pulumi.getter
552
- def region(self) -> Optional[pulumi.Input[Union[str, 'Region']]]:
724
+ def region(self) -> Optional[pulumi.Input[Union[_builtins.str, 'Region']]]:
553
725
  """
554
726
  The slug identifier for the region where the Kubernetes cluster will be created.
555
727
  """
556
728
  return pulumi.get(self, "region")
557
729
 
558
730
  @region.setter
559
- def region(self, value: Optional[pulumi.Input[Union[str, 'Region']]]):
731
+ def region(self, value: Optional[pulumi.Input[Union[_builtins.str, 'Region']]]):
560
732
  pulumi.set(self, "region", value)
561
733
 
562
- @property
734
+ @_builtins.property
563
735
  @pulumi.getter(name="registryIntegration")
564
- def registry_integration(self) -> Optional[pulumi.Input[bool]]:
736
+ def registry_integration(self) -> Optional[pulumi.Input[_builtins.bool]]:
565
737
  """
566
738
  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
567
739
  """
568
740
  return pulumi.get(self, "registry_integration")
569
741
 
570
742
  @registry_integration.setter
571
- def registry_integration(self, value: Optional[pulumi.Input[bool]]):
743
+ def registry_integration(self, value: Optional[pulumi.Input[_builtins.bool]]):
572
744
  pulumi.set(self, "registry_integration", value)
573
745
 
574
- @property
746
+ @_builtins.property
747
+ @pulumi.getter(name="routingAgent")
748
+ def routing_agent(self) -> Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]:
749
+ """
750
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
751
+ """
752
+ return pulumi.get(self, "routing_agent")
753
+
754
+ @routing_agent.setter
755
+ def routing_agent(self, value: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]):
756
+ pulumi.set(self, "routing_agent", value)
757
+
758
+ @_builtins.property
575
759
  @pulumi.getter(name="serviceSubnet")
576
- def service_subnet(self) -> Optional[pulumi.Input[str]]:
760
+ def service_subnet(self) -> Optional[pulumi.Input[_builtins.str]]:
577
761
  """
578
762
  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).
579
763
  """
580
764
  return pulumi.get(self, "service_subnet")
581
765
 
582
766
  @service_subnet.setter
583
- def service_subnet(self, value: Optional[pulumi.Input[str]]):
767
+ def service_subnet(self, value: Optional[pulumi.Input[_builtins.str]]):
584
768
  pulumi.set(self, "service_subnet", value)
585
769
 
586
- @property
770
+ @_builtins.property
587
771
  @pulumi.getter
588
- def status(self) -> Optional[pulumi.Input[str]]:
772
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
589
773
  """
590
774
  A string indicating the current status of the individual node.
591
775
  """
592
776
  return pulumi.get(self, "status")
593
777
 
594
778
  @status.setter
595
- def status(self, value: Optional[pulumi.Input[str]]):
779
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
596
780
  pulumi.set(self, "status", value)
597
781
 
598
- @property
782
+ @_builtins.property
599
783
  @pulumi.getter(name="surgeUpgrade")
600
- def surge_upgrade(self) -> Optional[pulumi.Input[bool]]:
784
+ def surge_upgrade(self) -> Optional[pulumi.Input[_builtins.bool]]:
601
785
  """
602
786
  Enable/disable surge upgrades for a cluster. Default: true
603
787
  """
604
788
  return pulumi.get(self, "surge_upgrade")
605
789
 
606
790
  @surge_upgrade.setter
607
- def surge_upgrade(self, value: Optional[pulumi.Input[bool]]):
791
+ def surge_upgrade(self, value: Optional[pulumi.Input[_builtins.bool]]):
608
792
  pulumi.set(self, "surge_upgrade", value)
609
793
 
610
- @property
794
+ @_builtins.property
611
795
  @pulumi.getter
612
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
796
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
613
797
  """
614
798
  A list of tag names to be applied to the Kubernetes cluster.
615
799
  """
616
800
  return pulumi.get(self, "tags")
617
801
 
618
802
  @tags.setter
619
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
803
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
620
804
  pulumi.set(self, "tags", value)
621
805
 
622
- @property
806
+ @_builtins.property
623
807
  @pulumi.getter(name="updatedAt")
624
- def updated_at(self) -> Optional[pulumi.Input[str]]:
808
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
625
809
  """
626
810
  The date and time when the node was last updated.
627
811
  """
628
812
  return pulumi.get(self, "updated_at")
629
813
 
630
814
  @updated_at.setter
631
- def updated_at(self, value: Optional[pulumi.Input[str]]):
815
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
632
816
  pulumi.set(self, "updated_at", value)
633
817
 
634
- @property
818
+ @_builtins.property
635
819
  @pulumi.getter
636
- def version(self) -> Optional[pulumi.Input[str]]:
820
+ def version(self) -> Optional[pulumi.Input[_builtins.str]]:
637
821
  """
638
822
  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.)
639
823
  """
640
824
  return pulumi.get(self, "version")
641
825
 
642
826
  @version.setter
643
- def version(self, value: Optional[pulumi.Input[str]]):
827
+ def version(self, value: Optional[pulumi.Input[_builtins.str]]):
644
828
  pulumi.set(self, "version", value)
645
829
 
646
- @property
830
+ @_builtins.property
647
831
  @pulumi.getter(name="vpcUuid")
648
- def vpc_uuid(self) -> Optional[pulumi.Input[str]]:
832
+ def vpc_uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
649
833
  """
650
834
  The ID of the VPC where the Kubernetes cluster will be located.
651
835
  """
652
836
  return pulumi.get(self, "vpc_uuid")
653
837
 
654
838
  @vpc_uuid.setter
655
- def vpc_uuid(self, value: Optional[pulumi.Input[str]]):
839
+ def vpc_uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
656
840
  pulumi.set(self, "vpc_uuid", value)
657
841
 
658
842
 
843
+ @pulumi.type_token("digitalocean:index/kubernetesCluster:KubernetesCluster")
659
844
  class KubernetesCluster(pulumi.CustomResource):
660
845
  @overload
661
846
  def __init__(__self__,
662
847
  resource_name: str,
663
848
  opts: Optional[pulumi.ResourceOptions] = None,
664
- auto_upgrade: Optional[pulumi.Input[bool]] = None,
665
- cluster_subnet: Optional[pulumi.Input[str]] = None,
849
+ amd_gpu_device_metrics_exporter_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs', 'KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgsDict']]] = None,
850
+ amd_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDevicePluginArgs', 'KubernetesClusterAmdGpuDevicePluginArgsDict']]] = None,
851
+ auto_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
852
+ cluster_autoscaler_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]]] = None,
853
+ cluster_subnet: Optional[pulumi.Input[_builtins.str]] = None,
666
854
  control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
667
- destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
668
- ha: Optional[pulumi.Input[bool]] = None,
669
- kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
855
+ destroy_all_associated_resources: Optional[pulumi.Input[_builtins.bool]] = None,
856
+ ha: Optional[pulumi.Input[_builtins.bool]] = None,
857
+ kubeconfig_expire_seconds: Optional[pulumi.Input[_builtins.int]] = None,
670
858
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
671
- name: Optional[pulumi.Input[str]] = None,
859
+ name: Optional[pulumi.Input[_builtins.str]] = None,
672
860
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
673
- region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
674
- registry_integration: Optional[pulumi.Input[bool]] = None,
675
- service_subnet: Optional[pulumi.Input[str]] = None,
676
- surge_upgrade: Optional[pulumi.Input[bool]] = None,
677
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
678
- version: Optional[pulumi.Input[str]] = None,
679
- vpc_uuid: Optional[pulumi.Input[str]] = None,
861
+ nvidia_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterNvidiaGpuDevicePluginArgs', 'KubernetesClusterNvidiaGpuDevicePluginArgsDict']]] = None,
862
+ rdma_shared_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterRdmaSharedDevicePluginArgs', 'KubernetesClusterRdmaSharedDevicePluginArgsDict']]] = None,
863
+ region: Optional[pulumi.Input[Union[_builtins.str, 'Region']]] = None,
864
+ registry_integration: Optional[pulumi.Input[_builtins.bool]] = None,
865
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
866
+ service_subnet: Optional[pulumi.Input[_builtins.str]] = None,
867
+ surge_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
868
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
869
+ version: Optional[pulumi.Input[_builtins.str]] = None,
870
+ vpc_uuid: Optional[pulumi.Input[_builtins.str]] = None,
680
871
  __props__=None):
681
872
  """
682
873
  ## Import
@@ -707,23 +898,27 @@ class KubernetesCluster(pulumi.CustomResource):
707
898
 
708
899
  :param str resource_name: The name of the resource.
709
900
  :param pulumi.ResourceOptions opts: Options for the resource.
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.
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).
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.
715
-
716
- This resource supports customized create timeouts. The default timeout is 30 minutes.
901
+ :param pulumi.Input[Union['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs', 'KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgsDict']] amd_gpu_device_metrics_exporter_plugin: Block containing options for the AMD GPU device metrics exporter component.
902
+ :param pulumi.Input[Union['KubernetesClusterAmdGpuDevicePluginArgs', 'KubernetesClusterAmdGpuDevicePluginArgsDict']] amd_gpu_device_plugin: Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
903
+ :param pulumi.Input[_builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
904
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
905
+ :param pulumi.Input[_builtins.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).
906
+ :param pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']] control_plane_firewall: A block representing the cluster's control plane firewall
907
+ :param pulumi.Input[_builtins.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.
908
+ :param pulumi.Input[_builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
909
+ :param pulumi.Input[_builtins.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.
717
910
  :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.
718
- :param pulumi.Input[str] name: A name for the Kubernetes cluster.
911
+ :param pulumi.Input[_builtins.str] name: A name for the Kubernetes cluster.
719
912
  :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:
720
- :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
721
- :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
722
- :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).
723
- :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
724
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
725
- :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.)
726
- :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
913
+ :param pulumi.Input[Union['KubernetesClusterNvidiaGpuDevicePluginArgs', 'KubernetesClusterNvidiaGpuDevicePluginArgsDict']] nvidia_gpu_device_plugin: Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
914
+ :param pulumi.Input[Union[_builtins.str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
915
+ :param pulumi.Input[_builtins.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
916
+ :param pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
917
+ :param pulumi.Input[_builtins.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).
918
+ :param pulumi.Input[_builtins.bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
919
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
920
+ :param pulumi.Input[_builtins.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.)
921
+ :param pulumi.Input[_builtins.str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
727
922
  """
728
923
  ...
729
924
  @overload
@@ -773,22 +968,28 @@ class KubernetesCluster(pulumi.CustomResource):
773
968
  def _internal_init(__self__,
774
969
  resource_name: str,
775
970
  opts: Optional[pulumi.ResourceOptions] = None,
776
- auto_upgrade: Optional[pulumi.Input[bool]] = None,
777
- cluster_subnet: Optional[pulumi.Input[str]] = None,
971
+ amd_gpu_device_metrics_exporter_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs', 'KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgsDict']]] = None,
972
+ amd_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDevicePluginArgs', 'KubernetesClusterAmdGpuDevicePluginArgsDict']]] = None,
973
+ auto_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
974
+ cluster_autoscaler_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]]] = None,
975
+ cluster_subnet: Optional[pulumi.Input[_builtins.str]] = None,
778
976
  control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
779
- destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
780
- ha: Optional[pulumi.Input[bool]] = None,
781
- kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
977
+ destroy_all_associated_resources: Optional[pulumi.Input[_builtins.bool]] = None,
978
+ ha: Optional[pulumi.Input[_builtins.bool]] = None,
979
+ kubeconfig_expire_seconds: Optional[pulumi.Input[_builtins.int]] = None,
782
980
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
783
- name: Optional[pulumi.Input[str]] = None,
981
+ name: Optional[pulumi.Input[_builtins.str]] = None,
784
982
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
785
- region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
786
- registry_integration: Optional[pulumi.Input[bool]] = None,
787
- service_subnet: Optional[pulumi.Input[str]] = None,
788
- surge_upgrade: Optional[pulumi.Input[bool]] = None,
789
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
790
- version: Optional[pulumi.Input[str]] = None,
791
- vpc_uuid: Optional[pulumi.Input[str]] = None,
983
+ nvidia_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterNvidiaGpuDevicePluginArgs', 'KubernetesClusterNvidiaGpuDevicePluginArgsDict']]] = None,
984
+ rdma_shared_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterRdmaSharedDevicePluginArgs', 'KubernetesClusterRdmaSharedDevicePluginArgsDict']]] = None,
985
+ region: Optional[pulumi.Input[Union[_builtins.str, 'Region']]] = None,
986
+ registry_integration: Optional[pulumi.Input[_builtins.bool]] = None,
987
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
988
+ service_subnet: Optional[pulumi.Input[_builtins.str]] = None,
989
+ surge_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
990
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
991
+ version: Optional[pulumi.Input[_builtins.str]] = None,
992
+ vpc_uuid: Optional[pulumi.Input[_builtins.str]] = None,
792
993
  __props__=None):
793
994
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
794
995
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -798,7 +999,10 @@ class KubernetesCluster(pulumi.CustomResource):
798
999
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
799
1000
  __props__ = KubernetesClusterArgs.__new__(KubernetesClusterArgs)
800
1001
 
1002
+ __props__.__dict__["amd_gpu_device_metrics_exporter_plugin"] = amd_gpu_device_metrics_exporter_plugin
1003
+ __props__.__dict__["amd_gpu_device_plugin"] = amd_gpu_device_plugin
801
1004
  __props__.__dict__["auto_upgrade"] = auto_upgrade
1005
+ __props__.__dict__["cluster_autoscaler_configurations"] = cluster_autoscaler_configurations
802
1006
  __props__.__dict__["cluster_subnet"] = cluster_subnet
803
1007
  __props__.__dict__["control_plane_firewall"] = control_plane_firewall
804
1008
  __props__.__dict__["destroy_all_associated_resources"] = destroy_all_associated_resources
@@ -809,10 +1013,13 @@ class KubernetesCluster(pulumi.CustomResource):
809
1013
  if node_pool is None and not opts.urn:
810
1014
  raise TypeError("Missing required property 'node_pool'")
811
1015
  __props__.__dict__["node_pool"] = node_pool
1016
+ __props__.__dict__["nvidia_gpu_device_plugin"] = nvidia_gpu_device_plugin
1017
+ __props__.__dict__["rdma_shared_device_plugin"] = rdma_shared_device_plugin
812
1018
  if region is None and not opts.urn:
813
1019
  raise TypeError("Missing required property 'region'")
814
1020
  __props__.__dict__["region"] = region
815
1021
  __props__.__dict__["registry_integration"] = registry_integration
1022
+ __props__.__dict__["routing_agent"] = routing_agent
816
1023
  __props__.__dict__["service_subnet"] = service_subnet
817
1024
  __props__.__dict__["surge_upgrade"] = surge_upgrade
818
1025
  __props__.__dict__["tags"] = tags
@@ -839,29 +1046,35 @@ class KubernetesCluster(pulumi.CustomResource):
839
1046
  def get(resource_name: str,
840
1047
  id: pulumi.Input[str],
841
1048
  opts: Optional[pulumi.ResourceOptions] = None,
842
- auto_upgrade: Optional[pulumi.Input[bool]] = None,
843
- cluster_subnet: Optional[pulumi.Input[str]] = None,
844
- cluster_urn: Optional[pulumi.Input[str]] = None,
1049
+ amd_gpu_device_metrics_exporter_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs', 'KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgsDict']]] = None,
1050
+ amd_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterAmdGpuDevicePluginArgs', 'KubernetesClusterAmdGpuDevicePluginArgsDict']]] = None,
1051
+ auto_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
1052
+ cluster_autoscaler_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]]] = None,
1053
+ cluster_subnet: Optional[pulumi.Input[_builtins.str]] = None,
1054
+ cluster_urn: Optional[pulumi.Input[_builtins.str]] = None,
845
1055
  control_plane_firewall: Optional[pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']]] = None,
846
- created_at: Optional[pulumi.Input[str]] = None,
847
- destroy_all_associated_resources: Optional[pulumi.Input[bool]] = None,
848
- endpoint: Optional[pulumi.Input[str]] = None,
849
- ha: Optional[pulumi.Input[bool]] = None,
850
- ipv4_address: Optional[pulumi.Input[str]] = None,
1056
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
1057
+ destroy_all_associated_resources: Optional[pulumi.Input[_builtins.bool]] = None,
1058
+ endpoint: Optional[pulumi.Input[_builtins.str]] = None,
1059
+ ha: Optional[pulumi.Input[_builtins.bool]] = None,
1060
+ ipv4_address: Optional[pulumi.Input[_builtins.str]] = None,
851
1061
  kube_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]]] = None,
852
- kubeconfig_expire_seconds: Optional[pulumi.Input[int]] = None,
1062
+ kubeconfig_expire_seconds: Optional[pulumi.Input[_builtins.int]] = None,
853
1063
  maintenance_policy: Optional[pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']]] = None,
854
- name: Optional[pulumi.Input[str]] = None,
1064
+ name: Optional[pulumi.Input[_builtins.str]] = None,
855
1065
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
856
- region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
857
- registry_integration: Optional[pulumi.Input[bool]] = None,
858
- service_subnet: Optional[pulumi.Input[str]] = None,
859
- status: Optional[pulumi.Input[str]] = None,
860
- surge_upgrade: Optional[pulumi.Input[bool]] = None,
861
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
862
- updated_at: Optional[pulumi.Input[str]] = None,
863
- version: Optional[pulumi.Input[str]] = None,
864
- vpc_uuid: Optional[pulumi.Input[str]] = None) -> 'KubernetesCluster':
1066
+ nvidia_gpu_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterNvidiaGpuDevicePluginArgs', 'KubernetesClusterNvidiaGpuDevicePluginArgsDict']]] = None,
1067
+ rdma_shared_device_plugin: Optional[pulumi.Input[Union['KubernetesClusterRdmaSharedDevicePluginArgs', 'KubernetesClusterRdmaSharedDevicePluginArgsDict']]] = None,
1068
+ region: Optional[pulumi.Input[Union[_builtins.str, 'Region']]] = None,
1069
+ registry_integration: Optional[pulumi.Input[_builtins.bool]] = None,
1070
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
1071
+ service_subnet: Optional[pulumi.Input[_builtins.str]] = None,
1072
+ status: Optional[pulumi.Input[_builtins.str]] = None,
1073
+ surge_upgrade: Optional[pulumi.Input[_builtins.bool]] = None,
1074
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1075
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
1076
+ version: Optional[pulumi.Input[_builtins.str]] = None,
1077
+ vpc_uuid: Optional[pulumi.Input[_builtins.str]] = None) -> 'KubernetesCluster':
865
1078
  """
866
1079
  Get an existing KubernetesCluster resource's state with the given name, id, and optional extra
867
1080
  properties used to qualify the lookup.
@@ -869,36 +1082,43 @@ class KubernetesCluster(pulumi.CustomResource):
869
1082
  :param str resource_name: The unique name of the resulting resource.
870
1083
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
871
1084
  :param pulumi.ResourceOptions opts: Options for the resource.
872
- :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.
873
- :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).
874
- :param pulumi.Input[str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
875
- :param pulumi.Input[str] created_at: The date and time when the node was created.
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.
877
- :param pulumi.Input[str] endpoint: The base URL of the API server on the Kubernetes master node.
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
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+)
1085
+ :param pulumi.Input[Union['KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgs', 'KubernetesClusterAmdGpuDeviceMetricsExporterPluginArgsDict']] amd_gpu_device_metrics_exporter_plugin: Block containing options for the AMD GPU device metrics exporter component.
1086
+ :param pulumi.Input[Union['KubernetesClusterAmdGpuDevicePluginArgs', 'KubernetesClusterAmdGpuDevicePluginArgsDict']] amd_gpu_device_plugin: Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
1087
+ :param pulumi.Input[_builtins.bool] auto_upgrade: A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
1088
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterClusterAutoscalerConfigurationArgs', 'KubernetesClusterClusterAutoscalerConfigurationArgsDict']]]] cluster_autoscaler_configurations: Block containing options for cluster auto-scaling.
1089
+ :param pulumi.Input[_builtins.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).
1090
+ :param pulumi.Input[_builtins.str] cluster_urn: The uniform resource name (URN) for the Kubernetes cluster.
1091
+ :param pulumi.Input[Union['KubernetesClusterControlPlaneFirewallArgs', 'KubernetesClusterControlPlaneFirewallArgsDict']] control_plane_firewall: A block representing the cluster's control plane firewall
1092
+ :param pulumi.Input[_builtins.str] created_at: The date and time when the node was created.
1093
+ :param pulumi.Input[_builtins.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.
1094
+ :param pulumi.Input[_builtins.str] endpoint: The base URL of the API server on the Kubernetes master node.
1095
+ :param pulumi.Input[_builtins.bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
1096
+ :param pulumi.Input[_builtins.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+)
880
1097
  :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.
1098
+ :param pulumi.Input[_builtins.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.
884
1099
  :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.
885
- :param pulumi.Input[str] name: A name for the Kubernetes cluster.
1100
+ :param pulumi.Input[_builtins.str] name: A name for the Kubernetes cluster.
886
1101
  :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:
887
- :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
888
- :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
889
- :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).
890
- :param pulumi.Input[str] status: A string indicating the current status of the individual node.
891
- :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
892
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
893
- :param pulumi.Input[str] updated_at: The date and time when the node was last updated.
894
- :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.)
895
- :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
1102
+ :param pulumi.Input[Union['KubernetesClusterNvidiaGpuDevicePluginArgs', 'KubernetesClusterNvidiaGpuDevicePluginArgsDict']] nvidia_gpu_device_plugin: Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
1103
+ :param pulumi.Input[Union[_builtins.str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
1104
+ :param pulumi.Input[_builtins.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
1105
+ :param pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
1106
+ :param pulumi.Input[_builtins.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).
1107
+ :param pulumi.Input[_builtins.str] status: A string indicating the current status of the individual node.
1108
+ :param pulumi.Input[_builtins.bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
1109
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
1110
+ :param pulumi.Input[_builtins.str] updated_at: The date and time when the node was last updated.
1111
+ :param pulumi.Input[_builtins.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.)
1112
+ :param pulumi.Input[_builtins.str] vpc_uuid: The ID of the VPC where the Kubernetes cluster will be located.
896
1113
  """
897
1114
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
898
1115
 
899
1116
  __props__ = _KubernetesClusterState.__new__(_KubernetesClusterState)
900
1117
 
1118
+ __props__.__dict__["amd_gpu_device_metrics_exporter_plugin"] = amd_gpu_device_metrics_exporter_plugin
1119
+ __props__.__dict__["amd_gpu_device_plugin"] = amd_gpu_device_plugin
901
1120
  __props__.__dict__["auto_upgrade"] = auto_upgrade
1121
+ __props__.__dict__["cluster_autoscaler_configurations"] = cluster_autoscaler_configurations
902
1122
  __props__.__dict__["cluster_subnet"] = cluster_subnet
903
1123
  __props__.__dict__["cluster_urn"] = cluster_urn
904
1124
  __props__.__dict__["control_plane_firewall"] = control_plane_firewall
@@ -912,8 +1132,11 @@ class KubernetesCluster(pulumi.CustomResource):
912
1132
  __props__.__dict__["maintenance_policy"] = maintenance_policy
913
1133
  __props__.__dict__["name"] = name
914
1134
  __props__.__dict__["node_pool"] = node_pool
1135
+ __props__.__dict__["nvidia_gpu_device_plugin"] = nvidia_gpu_device_plugin
1136
+ __props__.__dict__["rdma_shared_device_plugin"] = rdma_shared_device_plugin
915
1137
  __props__.__dict__["region"] = region
916
1138
  __props__.__dict__["registry_integration"] = registry_integration
1139
+ __props__.__dict__["routing_agent"] = routing_agent
917
1140
  __props__.__dict__["service_subnet"] = service_subnet
918
1141
  __props__.__dict__["status"] = status
919
1142
  __props__.__dict__["surge_upgrade"] = surge_upgrade
@@ -923,76 +1146,103 @@ class KubernetesCluster(pulumi.CustomResource):
923
1146
  __props__.__dict__["vpc_uuid"] = vpc_uuid
924
1147
  return KubernetesCluster(resource_name, opts=opts, __props__=__props__)
925
1148
 
926
- @property
1149
+ @_builtins.property
1150
+ @pulumi.getter(name="amdGpuDeviceMetricsExporterPlugin")
1151
+ def amd_gpu_device_metrics_exporter_plugin(self) -> pulumi.Output['outputs.KubernetesClusterAmdGpuDeviceMetricsExporterPlugin']:
1152
+ """
1153
+ Block containing options for the AMD GPU device metrics exporter component.
1154
+ """
1155
+ return pulumi.get(self, "amd_gpu_device_metrics_exporter_plugin")
1156
+
1157
+ @_builtins.property
1158
+ @pulumi.getter(name="amdGpuDevicePlugin")
1159
+ def amd_gpu_device_plugin(self) -> pulumi.Output['outputs.KubernetesClusterAmdGpuDevicePlugin']:
1160
+ """
1161
+ Block containing options for the AMD GPU device plugin component. If not specified, the component will be enabled by default for clusters with AMD GPU nodes.
1162
+ """
1163
+ return pulumi.get(self, "amd_gpu_device_plugin")
1164
+
1165
+ @_builtins.property
927
1166
  @pulumi.getter(name="autoUpgrade")
928
- def auto_upgrade(self) -> pulumi.Output[Optional[bool]]:
1167
+ def auto_upgrade(self) -> pulumi.Output[Optional[_builtins.bool]]:
929
1168
  """
930
1169
  A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
931
1170
  """
932
1171
  return pulumi.get(self, "auto_upgrade")
933
1172
 
934
- @property
1173
+ @_builtins.property
1174
+ @pulumi.getter(name="clusterAutoscalerConfigurations")
1175
+ def cluster_autoscaler_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.KubernetesClusterClusterAutoscalerConfiguration']]]:
1176
+ """
1177
+ Block containing options for cluster auto-scaling.
1178
+ """
1179
+ return pulumi.get(self, "cluster_autoscaler_configurations")
1180
+
1181
+ @_builtins.property
935
1182
  @pulumi.getter(name="clusterSubnet")
936
- def cluster_subnet(self) -> pulumi.Output[str]:
1183
+ def cluster_subnet(self) -> pulumi.Output[_builtins.str]:
937
1184
  """
938
1185
  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).
939
1186
  """
940
1187
  return pulumi.get(self, "cluster_subnet")
941
1188
 
942
- @property
1189
+ @_builtins.property
943
1190
  @pulumi.getter(name="clusterUrn")
944
- def cluster_urn(self) -> pulumi.Output[str]:
1191
+ def cluster_urn(self) -> pulumi.Output[_builtins.str]:
945
1192
  """
946
1193
  The uniform resource name (URN) for the Kubernetes cluster.
947
1194
  """
948
1195
  return pulumi.get(self, "cluster_urn")
949
1196
 
950
- @property
1197
+ @_builtins.property
951
1198
  @pulumi.getter(name="controlPlaneFirewall")
952
1199
  def control_plane_firewall(self) -> pulumi.Output['outputs.KubernetesClusterControlPlaneFirewall']:
1200
+ """
1201
+ A block representing the cluster's control plane firewall
1202
+ """
953
1203
  return pulumi.get(self, "control_plane_firewall")
954
1204
 
955
- @property
1205
+ @_builtins.property
956
1206
  @pulumi.getter(name="createdAt")
957
- def created_at(self) -> pulumi.Output[str]:
1207
+ def created_at(self) -> pulumi.Output[_builtins.str]:
958
1208
  """
959
1209
  The date and time when the node was created.
960
1210
  """
961
1211
  return pulumi.get(self, "created_at")
962
1212
 
963
- @property
1213
+ @_builtins.property
964
1214
  @pulumi.getter(name="destroyAllAssociatedResources")
965
- def destroy_all_associated_resources(self) -> pulumi.Output[Optional[bool]]:
1215
+ def destroy_all_associated_resources(self) -> pulumi.Output[Optional[_builtins.bool]]:
966
1216
  """
967
1217
  **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.
968
1218
  """
969
1219
  return pulumi.get(self, "destroy_all_associated_resources")
970
1220
 
971
- @property
1221
+ @_builtins.property
972
1222
  @pulumi.getter
973
- def endpoint(self) -> pulumi.Output[str]:
1223
+ def endpoint(self) -> pulumi.Output[_builtins.str]:
974
1224
  """
975
1225
  The base URL of the API server on the Kubernetes master node.
976
1226
  """
977
1227
  return pulumi.get(self, "endpoint")
978
1228
 
979
- @property
1229
+ @_builtins.property
980
1230
  @pulumi.getter
981
- def ha(self) -> pulumi.Output[Optional[bool]]:
1231
+ def ha(self) -> pulumi.Output[Optional[_builtins.bool]]:
982
1232
  """
983
1233
  Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
984
1234
  """
985
1235
  return pulumi.get(self, "ha")
986
1236
 
987
- @property
1237
+ @_builtins.property
988
1238
  @pulumi.getter(name="ipv4Address")
989
- def ipv4_address(self) -> pulumi.Output[str]:
1239
+ def ipv4_address(self) -> pulumi.Output[_builtins.str]:
990
1240
  """
991
1241
  The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
992
1242
  """
993
1243
  return pulumi.get(self, "ipv4_address")
994
1244
 
995
- @property
1245
+ @_builtins.property
996
1246
  @pulumi.getter(name="kubeConfigs")
997
1247
  def kube_configs(self) -> pulumi.Output[Sequence['outputs.KubernetesClusterKubeConfig']]:
998
1248
  """
@@ -1000,17 +1250,15 @@ class KubernetesCluster(pulumi.CustomResource):
1000
1250
  """
1001
1251
  return pulumi.get(self, "kube_configs")
1002
1252
 
1003
- @property
1253
+ @_builtins.property
1004
1254
  @pulumi.getter(name="kubeconfigExpireSeconds")
1005
- def kubeconfig_expire_seconds(self) -> pulumi.Output[Optional[int]]:
1255
+ def kubeconfig_expire_seconds(self) -> pulumi.Output[Optional[_builtins.int]]:
1006
1256
  """
1007
1257
  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
1258
  """
1011
1259
  return pulumi.get(self, "kubeconfig_expire_seconds")
1012
1260
 
1013
- @property
1261
+ @_builtins.property
1014
1262
  @pulumi.getter(name="maintenancePolicy")
1015
1263
  def maintenance_policy(self) -> pulumi.Output['outputs.KubernetesClusterMaintenancePolicy']:
1016
1264
  """
@@ -1018,15 +1266,15 @@ class KubernetesCluster(pulumi.CustomResource):
1018
1266
  """
1019
1267
  return pulumi.get(self, "maintenance_policy")
1020
1268
 
1021
- @property
1269
+ @_builtins.property
1022
1270
  @pulumi.getter
1023
- def name(self) -> pulumi.Output[str]:
1271
+ def name(self) -> pulumi.Output[_builtins.str]:
1024
1272
  """
1025
1273
  A name for the Kubernetes cluster.
1026
1274
  """
1027
1275
  return pulumi.get(self, "name")
1028
1276
 
1029
- @property
1277
+ @_builtins.property
1030
1278
  @pulumi.getter(name="nodePool")
1031
1279
  def node_pool(self) -> pulumi.Output['outputs.KubernetesClusterNodePool']:
1032
1280
  """
@@ -1034,73 +1282,94 @@ class KubernetesCluster(pulumi.CustomResource):
1034
1282
  """
1035
1283
  return pulumi.get(self, "node_pool")
1036
1284
 
1037
- @property
1285
+ @_builtins.property
1286
+ @pulumi.getter(name="nvidiaGpuDevicePlugin")
1287
+ def nvidia_gpu_device_plugin(self) -> pulumi.Output['outputs.KubernetesClusterNvidiaGpuDevicePlugin']:
1288
+ """
1289
+ Block containing options for the NVIDIA GPU device plugin component. If not specified, the component will be enabled by default for clusters with NVIDIA GPU nodes.
1290
+ """
1291
+ return pulumi.get(self, "nvidia_gpu_device_plugin")
1292
+
1293
+ @_builtins.property
1294
+ @pulumi.getter(name="rdmaSharedDevicePlugin")
1295
+ def rdma_shared_device_plugin(self) -> pulumi.Output['outputs.KubernetesClusterRdmaSharedDevicePlugin']:
1296
+ return pulumi.get(self, "rdma_shared_device_plugin")
1297
+
1298
+ @_builtins.property
1038
1299
  @pulumi.getter
1039
- def region(self) -> pulumi.Output[str]:
1300
+ def region(self) -> pulumi.Output[_builtins.str]:
1040
1301
  """
1041
1302
  The slug identifier for the region where the Kubernetes cluster will be created.
1042
1303
  """
1043
1304
  return pulumi.get(self, "region")
1044
1305
 
1045
- @property
1306
+ @_builtins.property
1046
1307
  @pulumi.getter(name="registryIntegration")
1047
- def registry_integration(self) -> pulumi.Output[Optional[bool]]:
1308
+ def registry_integration(self) -> pulumi.Output[Optional[_builtins.bool]]:
1048
1309
  """
1049
1310
  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
1050
1311
  """
1051
1312
  return pulumi.get(self, "registry_integration")
1052
1313
 
1053
- @property
1314
+ @_builtins.property
1315
+ @pulumi.getter(name="routingAgent")
1316
+ def routing_agent(self) -> pulumi.Output['outputs.KubernetesClusterRoutingAgent']:
1317
+ """
1318
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
1319
+ """
1320
+ return pulumi.get(self, "routing_agent")
1321
+
1322
+ @_builtins.property
1054
1323
  @pulumi.getter(name="serviceSubnet")
1055
- def service_subnet(self) -> pulumi.Output[str]:
1324
+ def service_subnet(self) -> pulumi.Output[_builtins.str]:
1056
1325
  """
1057
1326
  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).
1058
1327
  """
1059
1328
  return pulumi.get(self, "service_subnet")
1060
1329
 
1061
- @property
1330
+ @_builtins.property
1062
1331
  @pulumi.getter
1063
- def status(self) -> pulumi.Output[str]:
1332
+ def status(self) -> pulumi.Output[_builtins.str]:
1064
1333
  """
1065
1334
  A string indicating the current status of the individual node.
1066
1335
  """
1067
1336
  return pulumi.get(self, "status")
1068
1337
 
1069
- @property
1338
+ @_builtins.property
1070
1339
  @pulumi.getter(name="surgeUpgrade")
1071
- def surge_upgrade(self) -> pulumi.Output[Optional[bool]]:
1340
+ def surge_upgrade(self) -> pulumi.Output[Optional[_builtins.bool]]:
1072
1341
  """
1073
1342
  Enable/disable surge upgrades for a cluster. Default: true
1074
1343
  """
1075
1344
  return pulumi.get(self, "surge_upgrade")
1076
1345
 
1077
- @property
1346
+ @_builtins.property
1078
1347
  @pulumi.getter
1079
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1348
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1080
1349
  """
1081
1350
  A list of tag names to be applied to the Kubernetes cluster.
1082
1351
  """
1083
1352
  return pulumi.get(self, "tags")
1084
1353
 
1085
- @property
1354
+ @_builtins.property
1086
1355
  @pulumi.getter(name="updatedAt")
1087
- def updated_at(self) -> pulumi.Output[str]:
1356
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
1088
1357
  """
1089
1358
  The date and time when the node was last updated.
1090
1359
  """
1091
1360
  return pulumi.get(self, "updated_at")
1092
1361
 
1093
- @property
1362
+ @_builtins.property
1094
1363
  @pulumi.getter
1095
- def version(self) -> pulumi.Output[str]:
1364
+ def version(self) -> pulumi.Output[_builtins.str]:
1096
1365
  """
1097
1366
  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.)
1098
1367
  """
1099
1368
  return pulumi.get(self, "version")
1100
1369
 
1101
- @property
1370
+ @_builtins.property
1102
1371
  @pulumi.getter(name="vpcUuid")
1103
- def vpc_uuid(self) -> pulumi.Output[str]:
1372
+ def vpc_uuid(self) -> pulumi.Output[_builtins.str]:
1104
1373
  """
1105
1374
  The ID of the VPC where the Kubernetes cluster will be located.
1106
1375
  """