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