pulumi-digitalocean 4.34.1__tar.gz → 4.35.0__tar.gz

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 (108) hide show
  1. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/PKG-INFO +1 -1
  2. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/_inputs.py +74 -0
  3. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_cluster.py +14 -14
  4. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_redis_config.py +14 -0
  5. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/droplet.py +63 -2
  6. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_database_cluster.py +1 -1
  7. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_droplet.py +24 -3
  8. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_droplets.py +24 -1
  9. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/load_balancer.py +14 -35
  10. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/outputs.py +44 -0
  11. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/pulumi-plugin.json +1 -1
  12. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean.egg-info/PKG-INFO +1 -1
  13. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pyproject.toml +1 -1
  14. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/README.md +0 -0
  15. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/__init__.py +0 -0
  16. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/_enums.py +0 -0
  17. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/_utilities.py +0 -0
  18. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/app.py +0 -0
  19. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/cdn.py +0 -0
  20. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/certificate.py +0 -0
  21. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/config/__init__.py +0 -0
  22. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/config/__init__.pyi +0 -0
  23. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/config/vars.py +0 -0
  24. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/container_registry.py +0 -0
  25. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/container_registry_docker_credentials.py +0 -0
  26. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/custom_image.py +0 -0
  27. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_connection_pool.py +0 -0
  28. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_db.py +0 -0
  29. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_firewall.py +0 -0
  30. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_kafka_config.py +0 -0
  31. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_kafka_topic.py +0 -0
  32. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_mongodb_config.py +0 -0
  33. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_mysql_config.py +0 -0
  34. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_opensearch_config.py +0 -0
  35. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_postgresql_config.py +0 -0
  36. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_replica.py +0 -0
  37. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/database_user.py +0 -0
  38. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/dns_record.py +0 -0
  39. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/domain.py +0 -0
  40. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/droplet_snapshot.py +0 -0
  41. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/firewall.py +0 -0
  42. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/floating_ip.py +0 -0
  43. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/floating_ip_assignment.py +0 -0
  44. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_account.py +0 -0
  45. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_app.py +0 -0
  46. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_certificate.py +0 -0
  47. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_container_registry.py +0 -0
  48. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_database_ca.py +0 -0
  49. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_database_connection_pool.py +0 -0
  50. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_database_replica.py +0 -0
  51. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_database_user.py +0 -0
  52. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_domain.py +0 -0
  53. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_domains.py +0 -0
  54. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_droplet_snapshot.py +0 -0
  55. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_firewall.py +0 -0
  56. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_floating_ip.py +0 -0
  57. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_image.py +0 -0
  58. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_images.py +0 -0
  59. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_kubernetes_cluster.py +0 -0
  60. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_kubernetes_versions.py +0 -0
  61. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_load_balancer.py +0 -0
  62. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_project.py +0 -0
  63. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_projects.py +0 -0
  64. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_record.py +0 -0
  65. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_records.py +0 -0
  66. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_region.py +0 -0
  67. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_regions.py +0 -0
  68. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_reserved_ip.py +0 -0
  69. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_sizes.py +0 -0
  70. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_spaces_bucket.py +0 -0
  71. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_spaces_bucket_object.py +0 -0
  72. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_spaces_bucket_objects.py +0 -0
  73. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_spaces_buckets.py +0 -0
  74. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_ssh_key.py +0 -0
  75. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_ssh_keys.py +0 -0
  76. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_tag.py +0 -0
  77. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_tags.py +0 -0
  78. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_volume.py +0 -0
  79. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_volume_snapshot.py +0 -0
  80. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_vpc.py +0 -0
  81. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/get_vpc_peering.py +0 -0
  82. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/kubernetes_cluster.py +0 -0
  83. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/kubernetes_node_pool.py +0 -0
  84. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/monitor_alert.py +0 -0
  85. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/project.py +0 -0
  86. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/project_resources.py +0 -0
  87. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/provider.py +0 -0
  88. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/py.typed +0 -0
  89. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/reserved_ip.py +0 -0
  90. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/reserved_ip_assignment.py +0 -0
  91. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/spaces_bucket.py +0 -0
  92. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/spaces_bucket_cors_configuration.py +0 -0
  93. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/spaces_bucket_object.py +0 -0
  94. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/spaces_bucket_policy.py +0 -0
  95. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/ssh_key.py +0 -0
  96. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/tag.py +0 -0
  97. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/uptime_alert.py +0 -0
  98. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/uptime_check.py +0 -0
  99. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/volume.py +0 -0
  100. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/volume_attachment.py +0 -0
  101. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/volume_snapshot.py +0 -0
  102. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/vpc.py +0 -0
  103. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean/vpc_peering.py +0 -0
  104. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean.egg-info/SOURCES.txt +0 -0
  105. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean.egg-info/dependency_links.txt +0 -0
  106. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean.egg-info/requires.txt +0 -0
  107. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/pulumi_digitalocean.egg-info/top_level.txt +0 -0
  108. {pulumi_digitalocean-4.34.1 → pulumi_digitalocean-4.35.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_digitalocean
3
- Version: 4.34.1
3
+ Version: 4.35.0
4
4
  Summary: A Pulumi package for creating and managing DigitalOcean cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -208,6 +208,8 @@ __all__ = [
208
208
  'DatabaseUserSettingAclArgsDict',
209
209
  'DatabaseUserSettingOpensearchAclArgs',
210
210
  'DatabaseUserSettingOpensearchAclArgsDict',
211
+ 'DropletBackupPolicyArgs',
212
+ 'DropletBackupPolicyArgsDict',
211
213
  'FirewallInboundRuleArgs',
212
214
  'FirewallInboundRuleArgsDict',
213
215
  'FirewallOutboundRuleArgs',
@@ -9172,6 +9174,78 @@ class DatabaseUserSettingOpensearchAclArgs:
9172
9174
  pulumi.set(self, "permission", value)
9173
9175
 
9174
9176
 
9177
+ if not MYPY:
9178
+ class DropletBackupPolicyArgsDict(TypedDict):
9179
+ hour: NotRequired[pulumi.Input[int]]
9180
+ """
9181
+ The hour of the day that the backup window will start (`0`, `4`, `8`, `12`, `16`, `20`).
9182
+ """
9183
+ plan: NotRequired[pulumi.Input[str]]
9184
+ """
9185
+ The backup plan used for the Droplet. The plan can be either `daily` or `weekly`.
9186
+ """
9187
+ weekday: NotRequired[pulumi.Input[str]]
9188
+ """
9189
+ The day of the week on which the backup will occur (`SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`).
9190
+ """
9191
+ elif False:
9192
+ DropletBackupPolicyArgsDict: TypeAlias = Mapping[str, Any]
9193
+
9194
+ @pulumi.input_type
9195
+ class DropletBackupPolicyArgs:
9196
+ def __init__(__self__, *,
9197
+ hour: Optional[pulumi.Input[int]] = None,
9198
+ plan: Optional[pulumi.Input[str]] = None,
9199
+ weekday: Optional[pulumi.Input[str]] = None):
9200
+ """
9201
+ :param pulumi.Input[int] hour: The hour of the day that the backup window will start (`0`, `4`, `8`, `12`, `16`, `20`).
9202
+ :param pulumi.Input[str] plan: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`.
9203
+ :param pulumi.Input[str] weekday: The day of the week on which the backup will occur (`SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`).
9204
+ """
9205
+ if hour is not None:
9206
+ pulumi.set(__self__, "hour", hour)
9207
+ if plan is not None:
9208
+ pulumi.set(__self__, "plan", plan)
9209
+ if weekday is not None:
9210
+ pulumi.set(__self__, "weekday", weekday)
9211
+
9212
+ @property
9213
+ @pulumi.getter
9214
+ def hour(self) -> Optional[pulumi.Input[int]]:
9215
+ """
9216
+ The hour of the day that the backup window will start (`0`, `4`, `8`, `12`, `16`, `20`).
9217
+ """
9218
+ return pulumi.get(self, "hour")
9219
+
9220
+ @hour.setter
9221
+ def hour(self, value: Optional[pulumi.Input[int]]):
9222
+ pulumi.set(self, "hour", value)
9223
+
9224
+ @property
9225
+ @pulumi.getter
9226
+ def plan(self) -> Optional[pulumi.Input[str]]:
9227
+ """
9228
+ The backup plan used for the Droplet. The plan can be either `daily` or `weekly`.
9229
+ """
9230
+ return pulumi.get(self, "plan")
9231
+
9232
+ @plan.setter
9233
+ def plan(self, value: Optional[pulumi.Input[str]]):
9234
+ pulumi.set(self, "plan", value)
9235
+
9236
+ @property
9237
+ @pulumi.getter
9238
+ def weekday(self) -> Optional[pulumi.Input[str]]:
9239
+ """
9240
+ The day of the week on which the backup will occur (`SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`).
9241
+ """
9242
+ return pulumi.get(self, "weekday")
9243
+
9244
+ @weekday.setter
9245
+ def weekday(self, value: Optional[pulumi.Input[str]]):
9246
+ pulumi.set(self, "weekday", value)
9247
+
9248
+
9175
9249
  if not MYPY:
9176
9250
  class FirewallInboundRuleArgsDict(TypedDict):
9177
9251
  protocol: pulumi.Input[str]
@@ -38,7 +38,7 @@ class DatabaseClusterArgs:
38
38
  version: Optional[pulumi.Input[str]] = None):
39
39
  """
40
40
  The set of arguments for constructing a DatabaseCluster resource.
41
- :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
41
+ :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
42
42
  :param pulumi.Input[int] node_count: Number of nodes that will be included in the cluster. For `kafka` clusters, this must be 3.
43
43
  :param pulumi.Input[Union[str, 'Region']] region: DigitalOcean region where the cluster will reside.
44
44
  :param pulumi.Input[Union[str, 'DatabaseSlug']] size: Database Droplet size associated with the cluster (ex. `db-s-1vcpu-1gb`). See here for a [list of valid size slugs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Databases).
@@ -48,7 +48,7 @@ class DatabaseClusterArgs:
48
48
  :param pulumi.Input[str] private_network_uuid: The ID of the VPC where the database cluster will be located.
49
49
  :param pulumi.Input[str] project_id: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.
50
50
  :param pulumi.Input[str] sql_mode: A comma separated string specifying the SQL modes for a MySQL cluster.
51
- :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
51
+ :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
52
52
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the database cluster.
53
53
  :param pulumi.Input[str] version: Engine version used by the cluster (ex. `14` for PostgreSQL 14).
54
54
  When this value is changed, a call to the [Upgrade major Version for a Database](https://docs.digitalocean.com/reference/api/api-reference/#operation/databases_update_major_version) API operation is made with the new version.
@@ -82,7 +82,7 @@ class DatabaseClusterArgs:
82
82
  @pulumi.getter
83
83
  def engine(self) -> pulumi.Input[str]:
84
84
  """
85
- Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
85
+ Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
86
86
  """
87
87
  return pulumi.get(self, "engine")
88
88
 
@@ -211,7 +211,7 @@ class DatabaseClusterArgs:
211
211
  @pulumi.getter(name="storageSizeMib")
212
212
  def storage_size_mib(self) -> Optional[pulumi.Input[str]]:
213
213
  """
214
- Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
214
+ Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
215
215
  """
216
216
  return pulumi.get(self, "storage_size_mib")
217
217
 
@@ -281,7 +281,7 @@ class _DatabaseClusterState:
281
281
  Input properties used for looking up and filtering DatabaseCluster resources.
282
282
  :param pulumi.Input[str] cluster_urn: The uniform resource name of the database cluster.
283
283
  :param pulumi.Input[str] database: Name of the cluster's default database.
284
- :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
284
+ :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
285
285
  :param pulumi.Input[str] eviction_policy: A string specifying the eviction policy for a Redis cluster. Valid values are: `noeviction`, `allkeys_lru`, `allkeys_random`, `volatile_lru`, `volatile_random`, or `volatile_ttl`.
286
286
  :param pulumi.Input[str] host: Database cluster's hostname.
287
287
  :param pulumi.Input[Sequence[pulumi.Input['DatabaseClusterMaintenanceWindowArgs']]] maintenance_windows: Defines when the automatic maintenance should be performed for the database cluster.
@@ -296,7 +296,7 @@ class _DatabaseClusterState:
296
296
  :param pulumi.Input[Union[str, 'Region']] region: DigitalOcean region where the cluster will reside.
297
297
  :param pulumi.Input[Union[str, 'DatabaseSlug']] size: Database Droplet size associated with the cluster (ex. `db-s-1vcpu-1gb`). See here for a [list of valid size slugs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Databases).
298
298
  :param pulumi.Input[str] sql_mode: A comma separated string specifying the SQL modes for a MySQL cluster.
299
- :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
299
+ :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
300
300
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the database cluster.
301
301
  :param pulumi.Input[str] ui_database: Name of the OpenSearch dashboard db.
302
302
  :param pulumi.Input[str] ui_host: Hostname for the OpenSearch dashboard.
@@ -405,7 +405,7 @@ class _DatabaseClusterState:
405
405
  @pulumi.getter
406
406
  def engine(self) -> Optional[pulumi.Input[str]]:
407
407
  """
408
- Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
408
+ Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
409
409
  """
410
410
  return pulumi.get(self, "engine")
411
411
 
@@ -585,7 +585,7 @@ class _DatabaseClusterState:
585
585
  @pulumi.getter(name="storageSizeMib")
586
586
  def storage_size_mib(self) -> Optional[pulumi.Input[str]]:
587
587
  """
588
- Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
588
+ Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
589
589
  """
590
590
  return pulumi.get(self, "storage_size_mib")
591
591
 
@@ -862,7 +862,7 @@ class DatabaseCluster(pulumi.CustomResource):
862
862
 
863
863
  :param str resource_name: The name of the resource.
864
864
  :param pulumi.ResourceOptions opts: Options for the resource.
865
- :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
865
+ :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
866
866
  :param pulumi.Input[str] eviction_policy: A string specifying the eviction policy for a Redis cluster. Valid values are: `noeviction`, `allkeys_lru`, `allkeys_random`, `volatile_lru`, `volatile_random`, or `volatile_ttl`.
867
867
  :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseClusterMaintenanceWindowArgs', 'DatabaseClusterMaintenanceWindowArgsDict']]]] maintenance_windows: Defines when the automatic maintenance should be performed for the database cluster.
868
868
  :param pulumi.Input[str] name: The name of the database cluster.
@@ -872,7 +872,7 @@ class DatabaseCluster(pulumi.CustomResource):
872
872
  :param pulumi.Input[Union[str, 'Region']] region: DigitalOcean region where the cluster will reside.
873
873
  :param pulumi.Input[Union[str, 'DatabaseSlug']] size: Database Droplet size associated with the cluster (ex. `db-s-1vcpu-1gb`). See here for a [list of valid size slugs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Databases).
874
874
  :param pulumi.Input[str] sql_mode: A comma separated string specifying the SQL modes for a MySQL cluster.
875
- :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
875
+ :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
876
876
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the database cluster.
877
877
  :param pulumi.Input[str] version: Engine version used by the cluster (ex. `14` for PostgreSQL 14).
878
878
  When this value is changed, a call to the [Upgrade major Version for a Database](https://docs.digitalocean.com/reference/api/api-reference/#operation/databases_update_major_version) API operation is made with the new version.
@@ -1133,7 +1133,7 @@ class DatabaseCluster(pulumi.CustomResource):
1133
1133
  :param pulumi.ResourceOptions opts: Options for the resource.
1134
1134
  :param pulumi.Input[str] cluster_urn: The uniform resource name of the database cluster.
1135
1135
  :param pulumi.Input[str] database: Name of the cluster's default database.
1136
- :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
1136
+ :param pulumi.Input[str] engine: Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
1137
1137
  :param pulumi.Input[str] eviction_policy: A string specifying the eviction policy for a Redis cluster. Valid values are: `noeviction`, `allkeys_lru`, `allkeys_random`, `volatile_lru`, `volatile_random`, or `volatile_ttl`.
1138
1138
  :param pulumi.Input[str] host: Database cluster's hostname.
1139
1139
  :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseClusterMaintenanceWindowArgs', 'DatabaseClusterMaintenanceWindowArgsDict']]]] maintenance_windows: Defines when the automatic maintenance should be performed for the database cluster.
@@ -1148,7 +1148,7 @@ class DatabaseCluster(pulumi.CustomResource):
1148
1148
  :param pulumi.Input[Union[str, 'Region']] region: DigitalOcean region where the cluster will reside.
1149
1149
  :param pulumi.Input[Union[str, 'DatabaseSlug']] size: Database Droplet size associated with the cluster (ex. `db-s-1vcpu-1gb`). See here for a [list of valid size slugs](https://docs.digitalocean.com/reference/api/api-reference/#tag/Databases).
1150
1150
  :param pulumi.Input[str] sql_mode: A comma separated string specifying the SQL modes for a MySQL cluster.
1151
- :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
1151
+ :param pulumi.Input[str] storage_size_mib: Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
1152
1152
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the database cluster.
1153
1153
  :param pulumi.Input[str] ui_database: Name of the OpenSearch dashboard db.
1154
1154
  :param pulumi.Input[str] ui_host: Hostname for the OpenSearch dashboard.
@@ -1221,7 +1221,7 @@ class DatabaseCluster(pulumi.CustomResource):
1221
1221
  @pulumi.getter
1222
1222
  def engine(self) -> pulumi.Output[str]:
1223
1223
  """
1224
- Database engine used by the cluster (ex. `pg` for PostreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
1224
+ Database engine used by the cluster (ex. `pg` for PostgreSQL, `mysql` for MySQL, `redis` for Redis, `mongodb` for MongoDB, or `kafka` for Kafka).
1225
1225
  """
1226
1226
  return pulumi.get(self, "engine")
1227
1227
 
@@ -1341,7 +1341,7 @@ class DatabaseCluster(pulumi.CustomResource):
1341
1341
  @pulumi.getter(name="storageSizeMib")
1342
1342
  def storage_size_mib(self) -> pulumi.Output[str]:
1343
1343
  """
1344
- Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostreSQL clusters based on predefined ranges for each slug/droplet size.
1344
+ Defines the disk size, in MiB, allocated to the cluster. This can be adjusted on MySQL and PostgreSQL clusters based on predefined ranges for each slug/droplet size.
1345
1345
  """
1346
1346
  return pulumi.get(self, "storage_size_mib")
1347
1347
 
@@ -44,6 +44,8 @@ class DatabaseRedisConfigArgs:
44
44
  :param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
45
45
  :param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
46
46
  :param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
47
+ - When enabled, Redis accepts only SSL connections on port `25061`.
48
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
47
49
  :param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
48
50
  """
49
51
  pulumi.set(__self__, "cluster_id", cluster_id)
@@ -195,6 +197,8 @@ class DatabaseRedisConfigArgs:
195
197
  def ssl(self) -> Optional[pulumi.Input[bool]]:
196
198
  """
197
199
  A boolean indicating whether to require SSL to access Redis.
200
+ - When enabled, Redis accepts only SSL connections on port `25061`.
201
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
198
202
  """
199
203
  return pulumi.get(self, "ssl")
200
204
 
@@ -243,6 +247,8 @@ class _DatabaseRedisConfigState:
243
247
  :param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
244
248
  :param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
245
249
  :param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
250
+ - When enabled, Redis accepts only SSL connections on port `25061`.
251
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
246
252
  :param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
247
253
  """
248
254
  if acl_channels_default is not None:
@@ -395,6 +401,8 @@ class _DatabaseRedisConfigState:
395
401
  def ssl(self) -> Optional[pulumi.Input[bool]]:
396
402
  """
397
403
  A boolean indicating whether to require SSL to access Redis.
404
+ - When enabled, Redis accepts only SSL connections on port `25061`.
405
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
398
406
  """
399
407
  return pulumi.get(self, "ssl")
400
408
 
@@ -480,6 +488,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
480
488
  :param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
481
489
  :param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
482
490
  :param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
491
+ - When enabled, Redis accepts only SSL connections on port `25061`.
492
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
483
493
  :param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
484
494
  """
485
495
  ...
@@ -612,6 +622,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
612
622
  :param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
613
623
  :param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
614
624
  :param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
625
+ - When enabled, Redis accepts only SSL connections on port `25061`.
626
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
615
627
  :param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
616
628
  """
617
629
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -717,6 +729,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
717
729
  def ssl(self) -> pulumi.Output[bool]:
718
730
  """
719
731
  A boolean indicating whether to require SSL to access Redis.
732
+ - When enabled, Redis accepts only SSL connections on port `25061`.
733
+ - When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
720
734
  """
721
735
  return pulumi.get(self, "ssl")
722
736
 
@@ -13,7 +13,9 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from . import _utilities
16
+ from . import outputs
16
17
  from ._enums import *
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['DropletArgs', 'Droplet']
19
21
 
@@ -22,6 +24,7 @@ class DropletArgs:
22
24
  def __init__(__self__, *,
23
25
  image: pulumi.Input[str],
24
26
  size: pulumi.Input[Union[str, 'DropletSlug']],
27
+ backup_policy: Optional[pulumi.Input['DropletBackupPolicyArgs']] = None,
25
28
  backups: Optional[pulumi.Input[bool]] = None,
26
29
  droplet_agent: Optional[pulumi.Input[bool]] = None,
27
30
  graceful_shutdown: Optional[pulumi.Input[bool]] = None,
@@ -41,6 +44,7 @@ class DropletArgs:
41
44
  The set of arguments for constructing a Droplet resource.
42
45
  :param pulumi.Input[str] image: The Droplet image ID or slug. This could be either image ID or droplet snapshot ID.
43
46
  :param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
47
+ :param pulumi.Input['DropletBackupPolicyArgs'] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
44
48
  :param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
45
49
  false.
46
50
  :param pulumi.Input[bool] droplet_agent: A boolean indicating whether to install the
@@ -82,6 +86,8 @@ class DropletArgs:
82
86
  """
83
87
  pulumi.set(__self__, "image", image)
84
88
  pulumi.set(__self__, "size", size)
89
+ if backup_policy is not None:
90
+ pulumi.set(__self__, "backup_policy", backup_policy)
85
91
  if backups is not None:
86
92
  pulumi.set(__self__, "backups", backups)
87
93
  if droplet_agent is not None:
@@ -140,6 +146,18 @@ class DropletArgs:
140
146
  def size(self, value: pulumi.Input[Union[str, 'DropletSlug']]):
141
147
  pulumi.set(self, "size", value)
142
148
 
149
+ @property
150
+ @pulumi.getter(name="backupPolicy")
151
+ def backup_policy(self) -> Optional[pulumi.Input['DropletBackupPolicyArgs']]:
152
+ """
153
+ An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
154
+ """
155
+ return pulumi.get(self, "backup_policy")
156
+
157
+ @backup_policy.setter
158
+ def backup_policy(self, value: Optional[pulumi.Input['DropletBackupPolicyArgs']]):
159
+ pulumi.set(self, "backup_policy", value)
160
+
143
161
  @property
144
162
  @pulumi.getter
145
163
  def backups(self) -> Optional[pulumi.Input[bool]]:
@@ -348,6 +366,7 @@ class DropletArgs:
348
366
  @pulumi.input_type
349
367
  class _DropletState:
350
368
  def __init__(__self__, *,
369
+ backup_policy: Optional[pulumi.Input['DropletBackupPolicyArgs']] = None,
351
370
  backups: Optional[pulumi.Input[bool]] = None,
352
371
  created_at: Optional[pulumi.Input[str]] = None,
353
372
  disk: Optional[pulumi.Input[int]] = None,
@@ -378,6 +397,7 @@ class _DropletState:
378
397
  vpc_uuid: Optional[pulumi.Input[str]] = None):
379
398
  """
380
399
  Input properties used for looking up and filtering Droplet resources.
400
+ :param pulumi.Input['DropletBackupPolicyArgs'] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
381
401
  :param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
382
402
  false.
383
403
  :param pulumi.Input[int] disk: The size of the instance's disk in GB
@@ -428,6 +448,8 @@ class _DropletState:
428
448
  :param pulumi.Input[Sequence[pulumi.Input[str]]] volume_ids: A list of the IDs of each block storage volume to be attached to the Droplet.
429
449
  :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Droplet will be located.
430
450
  """
451
+ if backup_policy is not None:
452
+ pulumi.set(__self__, "backup_policy", backup_policy)
431
453
  if backups is not None:
432
454
  pulumi.set(__self__, "backups", backups)
433
455
  if created_at is not None:
@@ -488,6 +510,18 @@ class _DropletState:
488
510
  if vpc_uuid is not None:
489
511
  pulumi.set(__self__, "vpc_uuid", vpc_uuid)
490
512
 
513
+ @property
514
+ @pulumi.getter(name="backupPolicy")
515
+ def backup_policy(self) -> Optional[pulumi.Input['DropletBackupPolicyArgs']]:
516
+ """
517
+ An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
518
+ """
519
+ return pulumi.get(self, "backup_policy")
520
+
521
+ @backup_policy.setter
522
+ def backup_policy(self, value: Optional[pulumi.Input['DropletBackupPolicyArgs']]):
523
+ pulumi.set(self, "backup_policy", value)
524
+
491
525
  @property
492
526
  @pulumi.getter
493
527
  def backups(self) -> Optional[pulumi.Input[bool]]:
@@ -848,6 +882,7 @@ class Droplet(pulumi.CustomResource):
848
882
  def __init__(__self__,
849
883
  resource_name: str,
850
884
  opts: Optional[pulumi.ResourceOptions] = None,
885
+ backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
851
886
  backups: Optional[pulumi.Input[bool]] = None,
852
887
  droplet_agent: Optional[pulumi.Input[bool]] = None,
853
888
  graceful_shutdown: Optional[pulumi.Input[bool]] = None,
@@ -881,7 +916,13 @@ class Droplet(pulumi.CustomResource):
881
916
  image="ubuntu-20-04-x64",
882
917
  name="web-1",
883
918
  region=digitalocean.Region.NYC2,
884
- size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB)
919
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
920
+ backups=True,
921
+ backup_policy={
922
+ "plan": "weekly",
923
+ "weekday": "TUE",
924
+ "hour": 8,
925
+ })
885
926
  ```
886
927
 
887
928
  ## Import
@@ -894,6 +935,7 @@ class Droplet(pulumi.CustomResource):
894
935
 
895
936
  :param str resource_name: The name of the resource.
896
937
  :param pulumi.ResourceOptions opts: Options for the resource.
938
+ :param pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
897
939
  :param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
898
940
  false.
899
941
  :param pulumi.Input[bool] droplet_agent: A boolean indicating whether to install the
@@ -956,7 +998,13 @@ class Droplet(pulumi.CustomResource):
956
998
  image="ubuntu-20-04-x64",
957
999
  name="web-1",
958
1000
  region=digitalocean.Region.NYC2,
959
- size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB)
1001
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
1002
+ backups=True,
1003
+ backup_policy={
1004
+ "plan": "weekly",
1005
+ "weekday": "TUE",
1006
+ "hour": 8,
1007
+ })
960
1008
  ```
961
1009
 
962
1010
  ## Import
@@ -982,6 +1030,7 @@ class Droplet(pulumi.CustomResource):
982
1030
  def _internal_init(__self__,
983
1031
  resource_name: str,
984
1032
  opts: Optional[pulumi.ResourceOptions] = None,
1033
+ backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
985
1034
  backups: Optional[pulumi.Input[bool]] = None,
986
1035
  droplet_agent: Optional[pulumi.Input[bool]] = None,
987
1036
  graceful_shutdown: Optional[pulumi.Input[bool]] = None,
@@ -1008,6 +1057,7 @@ class Droplet(pulumi.CustomResource):
1008
1057
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1009
1058
  __props__ = DropletArgs.__new__(DropletArgs)
1010
1059
 
1060
+ __props__.__dict__["backup_policy"] = backup_policy
1011
1061
  __props__.__dict__["backups"] = backups
1012
1062
  __props__.__dict__["droplet_agent"] = droplet_agent
1013
1063
  __props__.__dict__["graceful_shutdown"] = graceful_shutdown
@@ -1050,6 +1100,7 @@ class Droplet(pulumi.CustomResource):
1050
1100
  def get(resource_name: str,
1051
1101
  id: pulumi.Input[str],
1052
1102
  opts: Optional[pulumi.ResourceOptions] = None,
1103
+ backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
1053
1104
  backups: Optional[pulumi.Input[bool]] = None,
1054
1105
  created_at: Optional[pulumi.Input[str]] = None,
1055
1106
  disk: Optional[pulumi.Input[int]] = None,
@@ -1085,6 +1136,7 @@ class Droplet(pulumi.CustomResource):
1085
1136
  :param str resource_name: The unique name of the resulting resource.
1086
1137
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1087
1138
  :param pulumi.ResourceOptions opts: Options for the resource.
1139
+ :param pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
1088
1140
  :param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
1089
1141
  false.
1090
1142
  :param pulumi.Input[int] disk: The size of the instance's disk in GB
@@ -1139,6 +1191,7 @@ class Droplet(pulumi.CustomResource):
1139
1191
 
1140
1192
  __props__ = _DropletState.__new__(_DropletState)
1141
1193
 
1194
+ __props__.__dict__["backup_policy"] = backup_policy
1142
1195
  __props__.__dict__["backups"] = backups
1143
1196
  __props__.__dict__["created_at"] = created_at
1144
1197
  __props__.__dict__["disk"] = disk
@@ -1169,6 +1222,14 @@ class Droplet(pulumi.CustomResource):
1169
1222
  __props__.__dict__["vpc_uuid"] = vpc_uuid
1170
1223
  return Droplet(resource_name, opts=opts, __props__=__props__)
1171
1224
 
1225
+ @property
1226
+ @pulumi.getter(name="backupPolicy")
1227
+ def backup_policy(self) -> pulumi.Output[Optional['outputs.DropletBackupPolicy']]:
1228
+ """
1229
+ An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
1230
+ """
1231
+ return pulumi.get(self, "backup_policy")
1232
+
1172
1233
  @property
1173
1234
  @pulumi.getter
1174
1235
  def backups(self) -> pulumi.Output[Optional[bool]]:
@@ -122,7 +122,7 @@ class GetDatabaseClusterResult:
122
122
  @pulumi.getter
123
123
  def engine(self) -> str:
124
124
  """
125
- Database engine used by the cluster (ex. `pg` for PostreSQL).
125
+ Database engine used by the cluster (ex. `pg` for PostgreSQL).
126
126
  """
127
127
  return pulumi.get(self, "engine")
128
128
 
@@ -26,7 +26,7 @@ class GetDropletResult:
26
26
  """
27
27
  A collection of values returned by getDroplet.
28
28
  """
29
- def __init__(__self__, backups=None, created_at=None, disk=None, id=None, image=None, ipv4_address=None, ipv4_address_private=None, ipv6=None, ipv6_address=None, ipv6_address_private=None, locked=None, memory=None, monitoring=None, name=None, price_hourly=None, price_monthly=None, private_networking=None, region=None, size=None, status=None, tag=None, tags=None, urn=None, vcpus=None, volume_ids=None, vpc_uuid=None):
29
+ def __init__(__self__, backups=None, created_at=None, disk=None, gpu=None, id=None, image=None, ipv4_address=None, ipv4_address_private=None, ipv6=None, ipv6_address=None, ipv6_address_private=None, locked=None, memory=None, monitoring=None, name=None, price_hourly=None, price_monthly=None, private_networking=None, region=None, size=None, status=None, tag=None, tags=None, urn=None, vcpus=None, volume_ids=None, vpc_uuid=None):
30
30
  if backups and not isinstance(backups, bool):
31
31
  raise TypeError("Expected argument 'backups' to be a bool")
32
32
  pulumi.set(__self__, "backups", backups)
@@ -36,6 +36,9 @@ class GetDropletResult:
36
36
  if disk and not isinstance(disk, int):
37
37
  raise TypeError("Expected argument 'disk' to be a int")
38
38
  pulumi.set(__self__, "disk", disk)
39
+ if gpu and not isinstance(gpu, bool):
40
+ raise TypeError("Expected argument 'gpu' to be a bool")
41
+ pulumi.set(__self__, "gpu", gpu)
39
42
  if id and not isinstance(id, int):
40
43
  raise TypeError("Expected argument 'id' to be a int")
41
44
  pulumi.set(__self__, "id", id)
@@ -127,6 +130,11 @@ class GetDropletResult:
127
130
  """
128
131
  return pulumi.get(self, "disk")
129
132
 
133
+ @property
134
+ @pulumi.getter
135
+ def gpu(self) -> Optional[bool]:
136
+ return pulumi.get(self, "gpu")
137
+
130
138
  @property
131
139
  @pulumi.getter
132
140
  def id(self) -> int:
@@ -315,6 +323,7 @@ class AwaitableGetDropletResult(GetDropletResult):
315
323
  backups=self.backups,
316
324
  created_at=self.created_at,
317
325
  disk=self.disk,
326
+ gpu=self.gpu,
318
327
  id=self.id,
319
328
  image=self.image,
320
329
  ipv4_address=self.ipv4_address,
@@ -340,7 +349,8 @@ class AwaitableGetDropletResult(GetDropletResult):
340
349
  vpc_uuid=self.vpc_uuid)
341
350
 
342
351
 
343
- def get_droplet(id: Optional[int] = None,
352
+ def get_droplet(gpu: Optional[bool] = None,
353
+ id: Optional[int] = None,
344
354
  name: Optional[str] = None,
345
355
  tag: Optional[str] = None,
346
356
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDropletResult:
@@ -384,11 +394,15 @@ def get_droplet(id: Optional[int] = None,
384
394
  ```
385
395
 
386
396
 
397
+ :param bool gpu: A boolean value specifying whether or not to search GPU Droplets
387
398
  :param int id: The ID of the Droplet
388
399
  :param str name: The name of the Droplet.
389
400
  :param str tag: A tag applied to the Droplet.
401
+
402
+ To include GPU Droplets when searching by name, use:
390
403
  """
391
404
  __args__ = dict()
405
+ __args__['gpu'] = gpu
392
406
  __args__['id'] = id
393
407
  __args__['name'] = name
394
408
  __args__['tag'] = tag
@@ -399,6 +413,7 @@ def get_droplet(id: Optional[int] = None,
399
413
  backups=pulumi.get(__ret__, 'backups'),
400
414
  created_at=pulumi.get(__ret__, 'created_at'),
401
415
  disk=pulumi.get(__ret__, 'disk'),
416
+ gpu=pulumi.get(__ret__, 'gpu'),
402
417
  id=pulumi.get(__ret__, 'id'),
403
418
  image=pulumi.get(__ret__, 'image'),
404
419
  ipv4_address=pulumi.get(__ret__, 'ipv4_address'),
@@ -422,7 +437,8 @@ def get_droplet(id: Optional[int] = None,
422
437
  vcpus=pulumi.get(__ret__, 'vcpus'),
423
438
  volume_ids=pulumi.get(__ret__, 'volume_ids'),
424
439
  vpc_uuid=pulumi.get(__ret__, 'vpc_uuid'))
425
- def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
440
+ def get_droplet_output(gpu: Optional[pulumi.Input[Optional[bool]]] = None,
441
+ id: Optional[pulumi.Input[Optional[int]]] = None,
426
442
  name: Optional[pulumi.Input[Optional[str]]] = None,
427
443
  tag: Optional[pulumi.Input[Optional[str]]] = None,
428
444
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDropletResult]:
@@ -466,11 +482,15 @@ def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
466
482
  ```
467
483
 
468
484
 
485
+ :param bool gpu: A boolean value specifying whether or not to search GPU Droplets
469
486
  :param int id: The ID of the Droplet
470
487
  :param str name: The name of the Droplet.
471
488
  :param str tag: A tag applied to the Droplet.
489
+
490
+ To include GPU Droplets when searching by name, use:
472
491
  """
473
492
  __args__ = dict()
493
+ __args__['gpu'] = gpu
474
494
  __args__['id'] = id
475
495
  __args__['name'] = name
476
496
  __args__['tag'] = tag
@@ -480,6 +500,7 @@ def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
480
500
  backups=pulumi.get(__response__, 'backups'),
481
501
  created_at=pulumi.get(__response__, 'created_at'),
482
502
  disk=pulumi.get(__response__, 'disk'),
503
+ gpu=pulumi.get(__response__, 'gpu'),
483
504
  id=pulumi.get(__response__, 'id'),
484
505
  image=pulumi.get(__response__, 'image'),
485
506
  ipv4_address=pulumi.get(__response__, 'ipv4_address'),