pulumi-digitalocean 4.49.0a1751946418__py3-none-any.whl → 4.50.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-digitalocean might be problematic. Click here for more details.

Files changed (134) hide show
  1. pulumi_digitalocean/__init__.py +81 -1
  2. pulumi_digitalocean/_enums.py +9 -9
  3. pulumi_digitalocean/_inputs.py +11204 -8486
  4. pulumi_digitalocean/app.py +137 -88
  5. pulumi_digitalocean/cdn.py +104 -105
  6. pulumi_digitalocean/certificate.py +137 -138
  7. pulumi_digitalocean/config/__init__.py +1 -1
  8. pulumi_digitalocean/config/__init__.pyi +1 -2
  9. pulumi_digitalocean/config/vars.py +10 -11
  10. pulumi_digitalocean/container_registry.py +88 -89
  11. pulumi_digitalocean/container_registry_docker_credentials.py +70 -71
  12. pulumi_digitalocean/custom_image.py +175 -176
  13. pulumi_digitalocean/database_cluster.py +374 -347
  14. pulumi_digitalocean/database_connection_pool.py +157 -158
  15. pulumi_digitalocean/database_db.py +35 -36
  16. pulumi_digitalocean/database_firewall.py +21 -22
  17. pulumi_digitalocean/database_kafka_config.py +307 -308
  18. pulumi_digitalocean/database_kafka_topic.py +81 -82
  19. pulumi_digitalocean/database_mongodb_config.py +103 -104
  20. pulumi_digitalocean/database_mysql_config.py +477 -478
  21. pulumi_digitalocean/database_online_migration.py +460 -0
  22. pulumi_digitalocean/database_opensearch_config.py +664 -665
  23. pulumi_digitalocean/database_postgresql_config.py +857 -858
  24. pulumi_digitalocean/database_redis_config.py +209 -206
  25. pulumi_digitalocean/database_replica.py +197 -198
  26. pulumi_digitalocean/database_user.py +91 -92
  27. pulumi_digitalocean/database_valkey_config.py +804 -0
  28. pulumi_digitalocean/dns_record.py +180 -181
  29. pulumi_digitalocean/domain.py +53 -54
  30. pulumi_digitalocean/droplet.py +388 -389
  31. pulumi_digitalocean/droplet_autoscale.py +53 -54
  32. pulumi_digitalocean/droplet_snapshot.py +71 -72
  33. pulumi_digitalocean/firewall.py +78 -79
  34. pulumi_digitalocean/floating_ip.py +61 -62
  35. pulumi_digitalocean/floating_ip_assignment.py +35 -36
  36. pulumi_digitalocean/genai_agent.py +452 -453
  37. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  38. pulumi_digitalocean/genai_agent_route.py +354 -0
  39. pulumi_digitalocean/genai_function.py +464 -0
  40. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  41. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  42. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  43. pulumi_digitalocean/get_account.py +17 -18
  44. pulumi_digitalocean/get_app.py +27 -28
  45. pulumi_digitalocean/get_certificate.py +21 -22
  46. pulumi_digitalocean/get_container_registry.py +21 -22
  47. pulumi_digitalocean/get_database_ca.py +11 -12
  48. pulumi_digitalocean/get_database_cluster.py +75 -62
  49. pulumi_digitalocean/get_database_connection_pool.py +35 -36
  50. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  51. pulumi_digitalocean/get_database_replica.py +45 -46
  52. pulumi_digitalocean/get_database_user.py +26 -27
  53. pulumi_digitalocean/get_domain.py +15 -16
  54. pulumi_digitalocean/get_domains.py +6 -7
  55. pulumi_digitalocean/get_droplet.py +71 -72
  56. pulumi_digitalocean/get_droplet_autoscale.py +22 -23
  57. pulumi_digitalocean/get_droplet_snapshot.py +37 -38
  58. pulumi_digitalocean/get_droplets.py +12 -13
  59. pulumi_digitalocean/get_firewall.py +30 -31
  60. pulumi_digitalocean/get_floating_ip.py +15 -16
  61. pulumi_digitalocean/get_genai_agent.py +89 -90
  62. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  63. pulumi_digitalocean/get_genai_agents.py +10 -11
  64. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  65. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  66. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  67. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  68. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  69. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  70. pulumi_digitalocean/get_image.py +49 -50
  71. pulumi_digitalocean/get_images.py +6 -7
  72. pulumi_digitalocean/get_kubernetes_cluster.py +53 -54
  73. pulumi_digitalocean/get_kubernetes_versions.py +13 -14
  74. pulumi_digitalocean/get_load_balancer.py +59 -60
  75. pulumi_digitalocean/get_partner_attachment.py +30 -31
  76. pulumi_digitalocean/get_partner_attachment_service_key.py +13 -14
  77. pulumi_digitalocean/get_project.py +31 -32
  78. pulumi_digitalocean/get_projects.py +6 -7
  79. pulumi_digitalocean/get_record.py +31 -32
  80. pulumi_digitalocean/get_records.py +12 -13
  81. pulumi_digitalocean/get_region.py +17 -18
  82. pulumi_digitalocean/get_regions.py +6 -7
  83. pulumi_digitalocean/get_reserved_ip.py +15 -16
  84. pulumi_digitalocean/get_reserved_ipv6.py +15 -16
  85. pulumi_digitalocean/get_sizes.py +6 -7
  86. pulumi_digitalocean/get_spaces_bucket.py +21 -22
  87. pulumi_digitalocean/get_spaces_bucket_object.py +57 -58
  88. pulumi_digitalocean/get_spaces_bucket_objects.py +45 -46
  89. pulumi_digitalocean/get_spaces_buckets.py +6 -7
  90. pulumi_digitalocean/get_spaces_key.py +14 -15
  91. pulumi_digitalocean/get_ssh_key.py +13 -14
  92. pulumi_digitalocean/get_ssh_keys.py +6 -7
  93. pulumi_digitalocean/get_tag.py +21 -22
  94. pulumi_digitalocean/get_tags.py +6 -7
  95. pulumi_digitalocean/get_volume.py +33 -34
  96. pulumi_digitalocean/get_volume_snapshot.py +39 -40
  97. pulumi_digitalocean/get_vpc.py +29 -30
  98. pulumi_digitalocean/get_vpc_nat_gateway.py +33 -34
  99. pulumi_digitalocean/get_vpc_peering.py +23 -24
  100. pulumi_digitalocean/kubernetes_cluster.py +293 -294
  101. pulumi_digitalocean/kubernetes_node_pool.py +168 -169
  102. pulumi_digitalocean/load_balancer.py +374 -375
  103. pulumi_digitalocean/monitor_alert.py +149 -150
  104. pulumi_digitalocean/outputs.py +20079 -12647
  105. pulumi_digitalocean/partner_attachment.py +150 -151
  106. pulumi_digitalocean/project.py +139 -140
  107. pulumi_digitalocean/project_resources.py +35 -36
  108. pulumi_digitalocean/provider.py +84 -85
  109. pulumi_digitalocean/pulumi-plugin.json +1 -1
  110. pulumi_digitalocean/reserved_ip.py +61 -62
  111. pulumi_digitalocean/reserved_ip_assignment.py +35 -36
  112. pulumi_digitalocean/reserved_ipv6.py +53 -54
  113. pulumi_digitalocean/reserved_ipv6_assignment.py +35 -36
  114. pulumi_digitalocean/spaces_bucket.py +105 -106
  115. pulumi_digitalocean/spaces_bucket_cors_configuration.py +38 -39
  116. pulumi_digitalocean/spaces_bucket_logging.py +69 -70
  117. pulumi_digitalocean/spaces_bucket_object.py +282 -283
  118. pulumi_digitalocean/spaces_bucket_policy.py +52 -53
  119. pulumi_digitalocean/spaces_key.py +48 -49
  120. pulumi_digitalocean/ssh_key.py +44 -45
  121. pulumi_digitalocean/tag.py +72 -73
  122. pulumi_digitalocean/uptime_alert.py +106 -107
  123. pulumi_digitalocean/uptime_check.py +86 -87
  124. pulumi_digitalocean/volume.py +181 -182
  125. pulumi_digitalocean/volume_attachment.py +35 -36
  126. pulumi_digitalocean/volume_snapshot.py +88 -89
  127. pulumi_digitalocean/vpc.py +96 -97
  128. pulumi_digitalocean/vpc_nat_gateway.py +152 -153
  129. pulumi_digitalocean/vpc_peering.py +53 -54
  130. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/METADATA +1 -1
  131. pulumi_digitalocean-4.50.0.dist-info/RECORD +135 -0
  132. pulumi_digitalocean-4.49.0a1751946418.dist-info/RECORD +0 -119
  133. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/WHEEL +0 -0
  134. {pulumi_digitalocean-4.49.0a1751946418.dist-info → pulumi_digitalocean-4.50.0.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,7 @@
2
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
@@ -28,7 +27,7 @@ class GetDatabaseClusterResult:
28
27
  """
29
28
  A collection of values returned by getDatabaseCluster.
30
29
  """
31
- def __init__(__self__, database=None, engine=None, host=None, id=None, maintenance_windows=None, name=None, node_count=None, password=None, port=None, private_host=None, private_network_uuid=None, private_uri=None, project_id=None, region=None, size=None, storage_size_mib=None, tags=None, ui_database=None, ui_host=None, ui_password=None, ui_port=None, ui_uri=None, ui_user=None, uri=None, urn=None, user=None, version=None):
30
+ def __init__(__self__, database=None, engine=None, host=None, id=None, maintenance_windows=None, metrics_endpoints=None, name=None, node_count=None, password=None, port=None, private_host=None, private_network_uuid=None, private_uri=None, project_id=None, region=None, size=None, storage_size_mib=None, tags=None, ui_database=None, ui_host=None, ui_password=None, ui_port=None, ui_uri=None, ui_user=None, uri=None, urn=None, user=None, version=None):
32
31
  if database and not isinstance(database, str):
33
32
  raise TypeError("Expected argument 'database' to be a str")
34
33
  pulumi.set(__self__, "database", database)
@@ -44,6 +43,9 @@ class GetDatabaseClusterResult:
44
43
  if maintenance_windows and not isinstance(maintenance_windows, list):
45
44
  raise TypeError("Expected argument 'maintenance_windows' to be a list")
46
45
  pulumi.set(__self__, "maintenance_windows", maintenance_windows)
46
+ if metrics_endpoints and not isinstance(metrics_endpoints, list):
47
+ raise TypeError("Expected argument 'metrics_endpoints' to be a list")
48
+ pulumi.set(__self__, "metrics_endpoints", metrics_endpoints)
47
49
  if name and not isinstance(name, str):
48
50
  raise TypeError("Expected argument 'name' to be a str")
49
51
  pulumi.set(__self__, "name", name)
@@ -111,39 +113,39 @@ class GetDatabaseClusterResult:
111
113
  raise TypeError("Expected argument 'version' to be a str")
112
114
  pulumi.set(__self__, "version", version)
113
115
 
114
- @property
116
+ @_builtins.property
115
117
  @pulumi.getter
116
- def database(self) -> builtins.str:
118
+ def database(self) -> _builtins.str:
117
119
  """
118
120
  Name of the cluster's default database.
119
121
  """
120
122
  return pulumi.get(self, "database")
121
123
 
122
- @property
124
+ @_builtins.property
123
125
  @pulumi.getter
124
- def engine(self) -> builtins.str:
126
+ def engine(self) -> _builtins.str:
125
127
  """
126
128
  Database engine used by the cluster (ex. `pg` for PostgreSQL).
127
129
  """
128
130
  return pulumi.get(self, "engine")
129
131
 
130
- @property
132
+ @_builtins.property
131
133
  @pulumi.getter
132
- def host(self) -> builtins.str:
134
+ def host(self) -> _builtins.str:
133
135
  """
134
136
  Database cluster's hostname.
135
137
  """
136
138
  return pulumi.get(self, "host")
137
139
 
138
- @property
140
+ @_builtins.property
139
141
  @pulumi.getter
140
- def id(self) -> builtins.str:
142
+ def id(self) -> _builtins.str:
141
143
  """
142
144
  The provider-assigned unique ID for this managed resource.
143
145
  """
144
146
  return pulumi.get(self, "id")
145
147
 
146
- @property
148
+ @_builtins.property
147
149
  @pulumi.getter(name="maintenanceWindows")
148
150
  def maintenance_windows(self) -> Sequence['outputs.GetDatabaseClusterMaintenanceWindowResult']:
149
151
  """
@@ -151,168 +153,176 @@ class GetDatabaseClusterResult:
151
153
  """
152
154
  return pulumi.get(self, "maintenance_windows")
153
155
 
154
- @property
156
+ @_builtins.property
157
+ @pulumi.getter(name="metricsEndpoints")
158
+ def metrics_endpoints(self) -> Sequence[_builtins.str]:
159
+ """
160
+ A list of metrics endpoints for the database cluster, providing URLs to access Prometheus-compatible metrics.
161
+ """
162
+ return pulumi.get(self, "metrics_endpoints")
163
+
164
+ @_builtins.property
155
165
  @pulumi.getter
156
- def name(self) -> builtins.str:
166
+ def name(self) -> _builtins.str:
157
167
  return pulumi.get(self, "name")
158
168
 
159
- @property
169
+ @_builtins.property
160
170
  @pulumi.getter(name="nodeCount")
161
- def node_count(self) -> builtins.int:
171
+ def node_count(self) -> _builtins.int:
162
172
  """
163
173
  Number of nodes that will be included in the cluster.
164
174
  """
165
175
  return pulumi.get(self, "node_count")
166
176
 
167
- @property
177
+ @_builtins.property
168
178
  @pulumi.getter
169
- def password(self) -> builtins.str:
179
+ def password(self) -> _builtins.str:
170
180
  """
171
181
  Password for the cluster's default user.
172
182
  """
173
183
  return pulumi.get(self, "password")
174
184
 
175
- @property
185
+ @_builtins.property
176
186
  @pulumi.getter
177
- def port(self) -> builtins.int:
187
+ def port(self) -> _builtins.int:
178
188
  """
179
189
  Network port that the database cluster is listening on.
180
190
  """
181
191
  return pulumi.get(self, "port")
182
192
 
183
- @property
193
+ @_builtins.property
184
194
  @pulumi.getter(name="privateHost")
185
- def private_host(self) -> builtins.str:
195
+ def private_host(self) -> _builtins.str:
186
196
  """
187
197
  Same as `host`, but only accessible from resources within the account and in the same region.
188
198
  """
189
199
  return pulumi.get(self, "private_host")
190
200
 
191
- @property
201
+ @_builtins.property
192
202
  @pulumi.getter(name="privateNetworkUuid")
193
- def private_network_uuid(self) -> builtins.str:
203
+ def private_network_uuid(self) -> _builtins.str:
194
204
  """
195
205
  The ID of the VPC where the database cluster is located.
196
206
  """
197
207
  return pulumi.get(self, "private_network_uuid")
198
208
 
199
- @property
209
+ @_builtins.property
200
210
  @pulumi.getter(name="privateUri")
201
- def private_uri(self) -> builtins.str:
211
+ def private_uri(self) -> _builtins.str:
202
212
  """
203
213
  Same as `uri`, but only accessible from resources within the account and in the same region.
204
214
  """
205
215
  return pulumi.get(self, "private_uri")
206
216
 
207
- @property
217
+ @_builtins.property
208
218
  @pulumi.getter(name="projectId")
209
- def project_id(self) -> builtins.str:
219
+ def project_id(self) -> _builtins.str:
210
220
  """
211
221
  The ID of the project that the database cluster is assigned to.
212
222
  """
213
223
  return pulumi.get(self, "project_id")
214
224
 
215
- @property
225
+ @_builtins.property
216
226
  @pulumi.getter
217
- def region(self) -> builtins.str:
227
+ def region(self) -> _builtins.str:
218
228
  """
219
229
  DigitalOcean region where the cluster will reside.
220
230
  """
221
231
  return pulumi.get(self, "region")
222
232
 
223
- @property
233
+ @_builtins.property
224
234
  @pulumi.getter
225
- def size(self) -> builtins.str:
235
+ def size(self) -> _builtins.str:
226
236
  """
227
237
  Database droplet size associated with the cluster (ex. `db-s-1vcpu-1gb`).
228
238
  """
229
239
  return pulumi.get(self, "size")
230
240
 
231
- @property
241
+ @_builtins.property
232
242
  @pulumi.getter(name="storageSizeMib")
233
- def storage_size_mib(self) -> builtins.str:
243
+ def storage_size_mib(self) -> _builtins.str:
234
244
  return pulumi.get(self, "storage_size_mib")
235
245
 
236
- @property
246
+ @_builtins.property
237
247
  @pulumi.getter
238
- def tags(self) -> Optional[Sequence[builtins.str]]:
248
+ def tags(self) -> Optional[Sequence[_builtins.str]]:
239
249
  return pulumi.get(self, "tags")
240
250
 
241
- @property
251
+ @_builtins.property
242
252
  @pulumi.getter(name="uiDatabase")
243
- def ui_database(self) -> builtins.str:
253
+ def ui_database(self) -> _builtins.str:
244
254
  """
245
255
  Name of the OpenSearch dashboard db.
246
256
  """
247
257
  return pulumi.get(self, "ui_database")
248
258
 
249
- @property
259
+ @_builtins.property
250
260
  @pulumi.getter(name="uiHost")
251
- def ui_host(self) -> builtins.str:
261
+ def ui_host(self) -> _builtins.str:
252
262
  """
253
263
  Hostname for the OpenSearch dashboard.
254
264
  """
255
265
  return pulumi.get(self, "ui_host")
256
266
 
257
- @property
267
+ @_builtins.property
258
268
  @pulumi.getter(name="uiPassword")
259
- def ui_password(self) -> builtins.str:
269
+ def ui_password(self) -> _builtins.str:
260
270
  """
261
271
  Password for the OpenSearch dashboard's default user.
262
272
  """
263
273
  return pulumi.get(self, "ui_password")
264
274
 
265
- @property
275
+ @_builtins.property
266
276
  @pulumi.getter(name="uiPort")
267
- def ui_port(self) -> builtins.int:
277
+ def ui_port(self) -> _builtins.int:
268
278
  """
269
279
  Network port that the OpenSearch dashboard is listening on.
270
280
  """
271
281
  return pulumi.get(self, "ui_port")
272
282
 
273
- @property
283
+ @_builtins.property
274
284
  @pulumi.getter(name="uiUri")
275
- def ui_uri(self) -> builtins.str:
285
+ def ui_uri(self) -> _builtins.str:
276
286
  """
277
287
  The full URI for connecting to the OpenSearch dashboard.
278
288
  """
279
289
  return pulumi.get(self, "ui_uri")
280
290
 
281
- @property
291
+ @_builtins.property
282
292
  @pulumi.getter(name="uiUser")
283
- def ui_user(self) -> builtins.str:
293
+ def ui_user(self) -> _builtins.str:
284
294
  """
285
295
  Username for OpenSearch dashboard's default user.
286
296
  """
287
297
  return pulumi.get(self, "ui_user")
288
298
 
289
- @property
299
+ @_builtins.property
290
300
  @pulumi.getter
291
- def uri(self) -> builtins.str:
301
+ def uri(self) -> _builtins.str:
292
302
  """
293
303
  The full URI for connecting to the database cluster.
294
304
  """
295
305
  return pulumi.get(self, "uri")
296
306
 
297
- @property
307
+ @_builtins.property
298
308
  @pulumi.getter
299
- def urn(self) -> builtins.str:
309
+ def urn(self) -> _builtins.str:
300
310
  """
301
311
  The uniform resource name of the database cluster.
302
312
  """
303
313
  return pulumi.get(self, "urn")
304
314
 
305
- @property
315
+ @_builtins.property
306
316
  @pulumi.getter
307
- def user(self) -> builtins.str:
317
+ def user(self) -> _builtins.str:
308
318
  """
309
319
  Username for the cluster's default user.
310
320
  """
311
321
  return pulumi.get(self, "user")
312
322
 
313
- @property
323
+ @_builtins.property
314
324
  @pulumi.getter
315
- def version(self) -> builtins.str:
325
+ def version(self) -> _builtins.str:
316
326
  """
317
327
  Engine version used by the cluster (ex. `11` for PostgreSQL 11).
318
328
  """
@@ -330,6 +340,7 @@ class AwaitableGetDatabaseClusterResult(GetDatabaseClusterResult):
330
340
  host=self.host,
331
341
  id=self.id,
332
342
  maintenance_windows=self.maintenance_windows,
343
+ metrics_endpoints=self.metrics_endpoints,
333
344
  name=self.name,
334
345
  node_count=self.node_count,
335
346
  password=self.password,
@@ -354,8 +365,8 @@ class AwaitableGetDatabaseClusterResult(GetDatabaseClusterResult):
354
365
  version=self.version)
355
366
 
356
367
 
357
- def get_database_cluster(name: Optional[builtins.str] = None,
358
- tags: Optional[Sequence[builtins.str]] = None,
368
+ def get_database_cluster(name: Optional[_builtins.str] = None,
369
+ tags: Optional[Sequence[_builtins.str]] = None,
359
370
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseClusterResult:
360
371
  """
361
372
  Provides information on a DigitalOcean database cluster resource.
@@ -371,7 +382,7 @@ def get_database_cluster(name: Optional[builtins.str] = None,
371
382
  ```
372
383
 
373
384
 
374
- :param builtins.str name: The name of the database cluster.
385
+ :param _builtins.str name: The name of the database cluster.
375
386
  """
376
387
  __args__ = dict()
377
388
  __args__['name'] = name
@@ -385,6 +396,7 @@ def get_database_cluster(name: Optional[builtins.str] = None,
385
396
  host=pulumi.get(__ret__, 'host'),
386
397
  id=pulumi.get(__ret__, 'id'),
387
398
  maintenance_windows=pulumi.get(__ret__, 'maintenance_windows'),
399
+ metrics_endpoints=pulumi.get(__ret__, 'metrics_endpoints'),
388
400
  name=pulumi.get(__ret__, 'name'),
389
401
  node_count=pulumi.get(__ret__, 'node_count'),
390
402
  password=pulumi.get(__ret__, 'password'),
@@ -407,8 +419,8 @@ def get_database_cluster(name: Optional[builtins.str] = None,
407
419
  urn=pulumi.get(__ret__, 'urn'),
408
420
  user=pulumi.get(__ret__, 'user'),
409
421
  version=pulumi.get(__ret__, 'version'))
410
- def get_database_cluster_output(name: Optional[pulumi.Input[builtins.str]] = None,
411
- tags: Optional[pulumi.Input[Optional[Sequence[builtins.str]]]] = None,
422
+ def get_database_cluster_output(name: Optional[pulumi.Input[_builtins.str]] = None,
423
+ tags: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None,
412
424
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseClusterResult]:
413
425
  """
414
426
  Provides information on a DigitalOcean database cluster resource.
@@ -424,7 +436,7 @@ def get_database_cluster_output(name: Optional[pulumi.Input[builtins.str]] = Non
424
436
  ```
425
437
 
426
438
 
427
- :param builtins.str name: The name of the database cluster.
439
+ :param _builtins.str name: The name of the database cluster.
428
440
  """
429
441
  __args__ = dict()
430
442
  __args__['name'] = name
@@ -437,6 +449,7 @@ def get_database_cluster_output(name: Optional[pulumi.Input[builtins.str]] = Non
437
449
  host=pulumi.get(__response__, 'host'),
438
450
  id=pulumi.get(__response__, 'id'),
439
451
  maintenance_windows=pulumi.get(__response__, 'maintenance_windows'),
452
+ metrics_endpoints=pulumi.get(__response__, 'metrics_endpoints'),
440
453
  name=pulumi.get(__response__, 'name'),
441
454
  node_count=pulumi.get(__response__, 'node_count'),
442
455
  password=pulumi.get(__response__, 'password'),
@@ -2,8 +2,7 @@
2
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
@@ -68,99 +67,99 @@ class GetDatabaseConnectionPoolResult:
68
67
  raise TypeError("Expected argument 'user' to be a str")
69
68
  pulumi.set(__self__, "user", user)
70
69
 
71
- @property
70
+ @_builtins.property
72
71
  @pulumi.getter(name="clusterId")
73
- def cluster_id(self) -> builtins.str:
72
+ def cluster_id(self) -> _builtins.str:
74
73
  return pulumi.get(self, "cluster_id")
75
74
 
76
- @property
75
+ @_builtins.property
77
76
  @pulumi.getter(name="dbName")
78
- def db_name(self) -> builtins.str:
77
+ def db_name(self) -> _builtins.str:
79
78
  """
80
79
  Name of the connection pool's default database.
81
80
  """
82
81
  return pulumi.get(self, "db_name")
83
82
 
84
- @property
83
+ @_builtins.property
85
84
  @pulumi.getter
86
- def host(self) -> builtins.str:
85
+ def host(self) -> _builtins.str:
87
86
  """
88
87
  Connection pool hostname.
89
88
  """
90
89
  return pulumi.get(self, "host")
91
90
 
92
- @property
91
+ @_builtins.property
93
92
  @pulumi.getter
94
- def id(self) -> builtins.str:
93
+ def id(self) -> _builtins.str:
95
94
  """
96
95
  The provider-assigned unique ID for this managed resource.
97
96
  """
98
97
  return pulumi.get(self, "id")
99
98
 
100
- @property
99
+ @_builtins.property
101
100
  @pulumi.getter
102
- def mode(self) -> builtins.str:
101
+ def mode(self) -> _builtins.str:
103
102
  """
104
103
  The transaction mode for the connection pool.
105
104
  """
106
105
  return pulumi.get(self, "mode")
107
106
 
108
- @property
107
+ @_builtins.property
109
108
  @pulumi.getter
110
- def name(self) -> builtins.str:
109
+ def name(self) -> _builtins.str:
111
110
  return pulumi.get(self, "name")
112
111
 
113
- @property
112
+ @_builtins.property
114
113
  @pulumi.getter
115
- def password(self) -> builtins.str:
114
+ def password(self) -> _builtins.str:
116
115
  """
117
116
  Password for the connection pool's default user.
118
117
  """
119
118
  return pulumi.get(self, "password")
120
119
 
121
- @property
120
+ @_builtins.property
122
121
  @pulumi.getter
123
- def port(self) -> builtins.int:
122
+ def port(self) -> _builtins.int:
124
123
  """
125
124
  Network port that the connection pool is listening on.
126
125
  """
127
126
  return pulumi.get(self, "port")
128
127
 
129
- @property
128
+ @_builtins.property
130
129
  @pulumi.getter(name="privateHost")
131
- def private_host(self) -> builtins.str:
130
+ def private_host(self) -> _builtins.str:
132
131
  """
133
132
  Same as `host`, but only accessible from resources within the account and in the same region.
134
133
  """
135
134
  return pulumi.get(self, "private_host")
136
135
 
137
- @property
136
+ @_builtins.property
138
137
  @pulumi.getter(name="privateUri")
139
- def private_uri(self) -> builtins.str:
138
+ def private_uri(self) -> _builtins.str:
140
139
  """
141
140
  Same as `uri`, but only accessible from resources within the account and in the same region.
142
141
  """
143
142
  return pulumi.get(self, "private_uri")
144
143
 
145
- @property
144
+ @_builtins.property
146
145
  @pulumi.getter
147
- def size(self) -> builtins.int:
146
+ def size(self) -> _builtins.int:
148
147
  """
149
148
  Size of the connection pool.
150
149
  """
151
150
  return pulumi.get(self, "size")
152
151
 
153
- @property
152
+ @_builtins.property
154
153
  @pulumi.getter
155
- def uri(self) -> builtins.str:
154
+ def uri(self) -> _builtins.str:
156
155
  """
157
156
  The full URI for connecting to the database connection pool.
158
157
  """
159
158
  return pulumi.get(self, "uri")
160
159
 
161
- @property
160
+ @_builtins.property
162
161
  @pulumi.getter
163
- def user(self) -> builtins.str:
162
+ def user(self) -> _builtins.str:
164
163
  """
165
164
  Username for the connection pool's default user.
166
165
  """
@@ -188,8 +187,8 @@ class AwaitableGetDatabaseConnectionPoolResult(GetDatabaseConnectionPoolResult):
188
187
  user=self.user)
189
188
 
190
189
 
191
- def get_database_connection_pool(cluster_id: Optional[builtins.str] = None,
192
- name: Optional[builtins.str] = None,
190
+ def get_database_connection_pool(cluster_id: Optional[_builtins.str] = None,
191
+ name: Optional[_builtins.str] = None,
193
192
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseConnectionPoolResult:
194
193
  """
195
194
  Provides information on a DigitalOcean PostgreSQL database connection pool.
@@ -207,8 +206,8 @@ def get_database_connection_pool(cluster_id: Optional[builtins.str] = None,
207
206
  ```
208
207
 
209
208
 
210
- :param builtins.str cluster_id: The ID of the original source database cluster.
211
- :param builtins.str name: The name for the database connection pool.
209
+ :param _builtins.str cluster_id: The ID of the original source database cluster.
210
+ :param _builtins.str name: The name for the database connection pool.
212
211
  """
213
212
  __args__ = dict()
214
213
  __args__['clusterId'] = cluster_id
@@ -230,8 +229,8 @@ def get_database_connection_pool(cluster_id: Optional[builtins.str] = None,
230
229
  size=pulumi.get(__ret__, 'size'),
231
230
  uri=pulumi.get(__ret__, 'uri'),
232
231
  user=pulumi.get(__ret__, 'user'))
233
- def get_database_connection_pool_output(cluster_id: Optional[pulumi.Input[builtins.str]] = None,
234
- name: Optional[pulumi.Input[builtins.str]] = None,
232
+ def get_database_connection_pool_output(cluster_id: Optional[pulumi.Input[_builtins.str]] = None,
233
+ name: Optional[pulumi.Input[_builtins.str]] = None,
235
234
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseConnectionPoolResult]:
236
235
  """
237
236
  Provides information on a DigitalOcean PostgreSQL database connection pool.
@@ -249,8 +248,8 @@ def get_database_connection_pool_output(cluster_id: Optional[pulumi.Input[builti
249
248
  ```
250
249
 
251
250
 
252
- :param builtins.str cluster_id: The ID of the original source database cluster.
253
- :param builtins.str name: The name for the database connection pool.
251
+ :param _builtins.str cluster_id: The ID of the original source database cluster.
252
+ :param _builtins.str name: The name for the database connection pool.
254
253
  """
255
254
  __args__ = dict()
256
255
  __args__['clusterId'] = cluster_id
@@ -0,0 +1,120 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetDatabaseMetricsCredentialsResult',
19
+ 'AwaitableGetDatabaseMetricsCredentialsResult',
20
+ 'get_database_metrics_credentials',
21
+ 'get_database_metrics_credentials_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetDatabaseMetricsCredentialsResult:
26
+ """
27
+ A collection of values returned by getDatabaseMetricsCredentials.
28
+ """
29
+ def __init__(__self__, id=None, password=None, username=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if password and not isinstance(password, str):
34
+ raise TypeError("Expected argument 'password' to be a str")
35
+ pulumi.set(__self__, "password", password)
36
+ if username and not isinstance(username, str):
37
+ raise TypeError("Expected argument 'username' to be a str")
38
+ pulumi.set(__self__, "username", username)
39
+
40
+ @_builtins.property
41
+ @pulumi.getter
42
+ def id(self) -> _builtins.str:
43
+ """
44
+ The provider-assigned unique ID for this managed resource.
45
+ """
46
+ return pulumi.get(self, "id")
47
+
48
+ @_builtins.property
49
+ @pulumi.getter
50
+ def password(self) -> _builtins.str:
51
+ """
52
+ The password for accessing database metrics. This is marked as sensitive.
53
+ """
54
+ return pulumi.get(self, "password")
55
+
56
+ @_builtins.property
57
+ @pulumi.getter
58
+ def username(self) -> _builtins.str:
59
+ """
60
+ The username for accessing database metrics.
61
+ """
62
+ return pulumi.get(self, "username")
63
+
64
+
65
+ class AwaitableGetDatabaseMetricsCredentialsResult(GetDatabaseMetricsCredentialsResult):
66
+ # pylint: disable=using-constant-test
67
+ def __await__(self):
68
+ if False:
69
+ yield self
70
+ return GetDatabaseMetricsCredentialsResult(
71
+ id=self.id,
72
+ password=self.password,
73
+ username=self.username)
74
+
75
+
76
+ def get_database_metrics_credentials(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseMetricsCredentialsResult:
77
+ """
78
+ Provides access to the metrics credentials for DigitalOcean database clusters. These credentials are account-wide and can be used to access metrics for any database cluster in the account.
79
+
80
+ ## Example Usage
81
+
82
+ ```python
83
+ import pulumi
84
+ import pulumi_digitalocean as digitalocean
85
+
86
+ example = digitalocean.get_database_metrics_credentials()
87
+ pulumi.export("metricsUsername", example.username)
88
+ pulumi.export("metricsPassword", example.password)
89
+ ```
90
+ """
91
+ __args__ = dict()
92
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
93
+ __ret__ = pulumi.runtime.invoke('digitalocean:index/getDatabaseMetricsCredentials:getDatabaseMetricsCredentials', __args__, opts=opts, typ=GetDatabaseMetricsCredentialsResult).value
94
+
95
+ return AwaitableGetDatabaseMetricsCredentialsResult(
96
+ id=pulumi.get(__ret__, 'id'),
97
+ password=pulumi.get(__ret__, 'password'),
98
+ username=pulumi.get(__ret__, 'username'))
99
+ def get_database_metrics_credentials_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseMetricsCredentialsResult]:
100
+ """
101
+ Provides access to the metrics credentials for DigitalOcean database clusters. These credentials are account-wide and can be used to access metrics for any database cluster in the account.
102
+
103
+ ## Example Usage
104
+
105
+ ```python
106
+ import pulumi
107
+ import pulumi_digitalocean as digitalocean
108
+
109
+ example = digitalocean.get_database_metrics_credentials()
110
+ pulumi.export("metricsUsername", example.username)
111
+ pulumi.export("metricsPassword", example.password)
112
+ ```
113
+ """
114
+ __args__ = dict()
115
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
116
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDatabaseMetricsCredentials:getDatabaseMetricsCredentials', __args__, opts=opts, typ=GetDatabaseMetricsCredentialsResult)
117
+ return __ret__.apply(lambda __response__: GetDatabaseMetricsCredentialsResult(
118
+ id=pulumi.get(__response__, 'id'),
119
+ password=pulumi.get(__response__, 'password'),
120
+ username=pulumi.get(__response__, 'username')))