pulumi-digitalocean 4.35.0a1731649402__py3-none-any.whl → 4.35.0a1732013080__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.

@@ -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]
@@ -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]]:
@@ -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'),
@@ -28,13 +28,16 @@ class GetDropletsResult:
28
28
  """
29
29
  A collection of values returned by getDroplets.
30
30
  """
31
- def __init__(__self__, droplets=None, filters=None, id=None, sorts=None):
31
+ def __init__(__self__, droplets=None, filters=None, gpus=None, id=None, sorts=None):
32
32
  if droplets and not isinstance(droplets, list):
33
33
  raise TypeError("Expected argument 'droplets' to be a list")
34
34
  pulumi.set(__self__, "droplets", droplets)
35
35
  if filters and not isinstance(filters, list):
36
36
  raise TypeError("Expected argument 'filters' to be a list")
37
37
  pulumi.set(__self__, "filters", filters)
38
+ if gpus and not isinstance(gpus, bool):
39
+ raise TypeError("Expected argument 'gpus' to be a bool")
40
+ pulumi.set(__self__, "gpus", gpus)
38
41
  if id and not isinstance(id, str):
39
42
  raise TypeError("Expected argument 'id' to be a str")
40
43
  pulumi.set(__self__, "id", id)
@@ -55,6 +58,11 @@ class GetDropletsResult:
55
58
  def filters(self) -> Optional[Sequence['outputs.GetDropletsFilterResult']]:
56
59
  return pulumi.get(self, "filters")
57
60
 
61
+ @property
62
+ @pulumi.getter
63
+ def gpus(self) -> Optional[bool]:
64
+ return pulumi.get(self, "gpus")
65
+
58
66
  @property
59
67
  @pulumi.getter
60
68
  def id(self) -> str:
@@ -77,11 +85,13 @@ class AwaitableGetDropletsResult(GetDropletsResult):
77
85
  return GetDropletsResult(
78
86
  droplets=self.droplets,
79
87
  filters=self.filters,
88
+ gpus=self.gpus,
80
89
  id=self.id,
81
90
  sorts=self.sorts)
82
91
 
83
92
 
84
93
  def get_droplets(filters: Optional[Sequence[Union['GetDropletsFilterArgs', 'GetDropletsFilterArgsDict']]] = None,
94
+ gpus: Optional[bool] = None,
85
95
  sorts: Optional[Sequence[Union['GetDropletsSortArgs', 'GetDropletsSortArgsDict']]] = None,
86
96
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDropletsResult:
87
97
  """
@@ -91,6 +101,9 @@ def get_droplets(filters: Optional[Sequence[Union['GetDropletsFilterArgs', 'GetD
91
101
  This data source is useful if the Droplets in question are not managed by the provider or you need to
92
102
  utilize any of the Droplets' data.
93
103
 
104
+ By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
105
+ the `gpus` attribute to `true`.
106
+
94
107
  Note: You can use the `Droplet` data source to obtain metadata
95
108
  about a single Droplet if you already know the `id`, unique `name`, or unique `tag` to retrieve.
96
109
 
@@ -135,11 +148,13 @@ def get_droplets(filters: Optional[Sequence[Union['GetDropletsFilterArgs', 'GetD
135
148
 
136
149
  :param Sequence[Union['GetDropletsFilterArgs', 'GetDropletsFilterArgsDict']] filters: Filter the results.
137
150
  The `filter` block is documented below.
151
+ :param bool gpus: A boolean value specifying whether or not to list GPU Droplets
138
152
  :param Sequence[Union['GetDropletsSortArgs', 'GetDropletsSortArgsDict']] sorts: Sort the results.
139
153
  The `sort` block is documented below.
140
154
  """
141
155
  __args__ = dict()
142
156
  __args__['filters'] = filters
157
+ __args__['gpus'] = gpus
143
158
  __args__['sorts'] = sorts
144
159
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
145
160
  __ret__ = pulumi.runtime.invoke('digitalocean:index/getDroplets:getDroplets', __args__, opts=opts, typ=GetDropletsResult).value
@@ -147,9 +162,11 @@ def get_droplets(filters: Optional[Sequence[Union['GetDropletsFilterArgs', 'GetD
147
162
  return AwaitableGetDropletsResult(
148
163
  droplets=pulumi.get(__ret__, 'droplets'),
149
164
  filters=pulumi.get(__ret__, 'filters'),
165
+ gpus=pulumi.get(__ret__, 'gpus'),
150
166
  id=pulumi.get(__ret__, 'id'),
151
167
  sorts=pulumi.get(__ret__, 'sorts'))
152
168
  def get_droplets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetDropletsFilterArgs', 'GetDropletsFilterArgsDict']]]]] = None,
169
+ gpus: Optional[pulumi.Input[Optional[bool]]] = None,
153
170
  sorts: Optional[pulumi.Input[Optional[Sequence[Union['GetDropletsSortArgs', 'GetDropletsSortArgsDict']]]]] = None,
154
171
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDropletsResult]:
155
172
  """
@@ -159,6 +176,9 @@ def get_droplets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['
159
176
  This data source is useful if the Droplets in question are not managed by the provider or you need to
160
177
  utilize any of the Droplets' data.
161
178
 
179
+ By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
180
+ the `gpus` attribute to `true`.
181
+
162
182
  Note: You can use the `Droplet` data source to obtain metadata
163
183
  about a single Droplet if you already know the `id`, unique `name`, or unique `tag` to retrieve.
164
184
 
@@ -203,16 +223,19 @@ def get_droplets_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['
203
223
 
204
224
  :param Sequence[Union['GetDropletsFilterArgs', 'GetDropletsFilterArgsDict']] filters: Filter the results.
205
225
  The `filter` block is documented below.
226
+ :param bool gpus: A boolean value specifying whether or not to list GPU Droplets
206
227
  :param Sequence[Union['GetDropletsSortArgs', 'GetDropletsSortArgsDict']] sorts: Sort the results.
207
228
  The `sort` block is documented below.
208
229
  """
209
230
  __args__ = dict()
210
231
  __args__['filters'] = filters
232
+ __args__['gpus'] = gpus
211
233
  __args__['sorts'] = sorts
212
234
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
213
235
  __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDroplets:getDroplets', __args__, opts=opts, typ=GetDropletsResult)
214
236
  return __ret__.apply(lambda __response__: GetDropletsResult(
215
237
  droplets=pulumi.get(__response__, 'droplets'),
216
238
  filters=pulumi.get(__response__, 'filters'),
239
+ gpus=pulumi.get(__response__, 'gpus'),
217
240
  id=pulumi.get(__response__, 'id'),
218
241
  sorts=pulumi.get(__response__, 'sorts')))
@@ -50,8 +50,7 @@ class LoadBalancerArgs:
50
50
  :param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
51
51
  or `least_connections`. The default value is `round_robin`.
52
52
  :param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
53
- :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
54
- **NOTE**: this is a closed beta feature and not available for public use.
53
+ :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
55
54
  :param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
56
55
  :param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
57
56
  :param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
@@ -62,7 +61,6 @@ class LoadBalancerArgs:
62
61
  :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
63
62
  Load Balancer. The `forwarding_rule` block is documented below.
64
63
  :param pulumi.Input['LoadBalancerGlbSettingsArgs'] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
65
- **NOTE**: this is a closed beta feature and not available for public use.
66
64
  :param pulumi.Input['LoadBalancerHealthcheckArgs'] healthcheck: A `healthcheck` block to be assigned to the
67
65
  Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
68
66
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
@@ -79,9 +77,8 @@ class LoadBalancerArgs:
79
77
  :param pulumi.Input['LoadBalancerStickySessionsArgs'] sticky_sessions: A `sticky_sessions` block to be assigned to the
80
78
  Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
81
79
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
82
- **NOTE**: this is a closed beta feature and not available for public use.
83
80
  :param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
84
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
81
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
85
82
  :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
86
83
  """
87
84
  if algorithm is not None:
@@ -164,8 +161,7 @@ class LoadBalancerArgs:
164
161
  @pulumi.getter
165
162
  def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]:
166
163
  """
167
- A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
168
- **NOTE**: this is a closed beta feature and not available for public use.
164
+ A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
169
165
  """
170
166
  return pulumi.get(self, "domains")
171
167
 
@@ -253,7 +249,6 @@ class LoadBalancerArgs:
253
249
  def glb_settings(self) -> Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]:
254
250
  """
255
251
  A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
256
- **NOTE**: this is a closed beta feature and not available for public use.
257
252
  """
258
253
  return pulumi.get(self, "glb_settings")
259
254
 
@@ -391,7 +386,6 @@ class LoadBalancerArgs:
391
386
  def target_load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
392
387
  """
393
388
  A list of Load Balancer IDs to be attached behind a Global Load Balancer.
394
- **NOTE**: this is a closed beta feature and not available for public use.
395
389
  """
396
390
  return pulumi.get(self, "target_load_balancer_ids")
397
391
 
@@ -404,7 +398,7 @@ class LoadBalancerArgs:
404
398
  def type(self) -> Optional[pulumi.Input[str]]:
405
399
  """
406
400
  The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
407
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
401
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
408
402
  """
409
403
  return pulumi.get(self, "type")
410
404
 
@@ -459,8 +453,7 @@ class _LoadBalancerState:
459
453
  :param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
460
454
  or `least_connections`. The default value is `round_robin`.
461
455
  :param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
462
- :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
463
- **NOTE**: this is a closed beta feature and not available for public use.
456
+ :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
464
457
  :param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
465
458
  :param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
466
459
  :param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
@@ -471,7 +464,6 @@ class _LoadBalancerState:
471
464
  :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerForwardingRuleArgs']]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
472
465
  Load Balancer. The `forwarding_rule` block is documented below.
473
466
  :param pulumi.Input['LoadBalancerGlbSettingsArgs'] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
474
- **NOTE**: this is a closed beta feature and not available for public use.
475
467
  :param pulumi.Input['LoadBalancerHealthcheckArgs'] healthcheck: A `healthcheck` block to be assigned to the
476
468
  Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
477
469
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
@@ -490,9 +482,8 @@ class _LoadBalancerState:
490
482
  :param pulumi.Input['LoadBalancerStickySessionsArgs'] sticky_sessions: A `sticky_sessions` block to be assigned to the
491
483
  Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
492
484
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
493
- **NOTE**: this is a closed beta feature and not available for public use.
494
485
  :param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
495
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
486
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
496
487
  :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
497
488
  """
498
489
  if algorithm is not None:
@@ -581,8 +572,7 @@ class _LoadBalancerState:
581
572
  @pulumi.getter
582
573
  def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerDomainArgs']]]]:
583
574
  """
584
- A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
585
- **NOTE**: this is a closed beta feature and not available for public use.
575
+ A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
586
576
  """
587
577
  return pulumi.get(self, "domains")
588
578
 
@@ -670,7 +660,6 @@ class _LoadBalancerState:
670
660
  def glb_settings(self) -> Optional[pulumi.Input['LoadBalancerGlbSettingsArgs']]:
671
661
  """
672
662
  A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
673
- **NOTE**: this is a closed beta feature and not available for public use.
674
663
  """
675
664
  return pulumi.get(self, "glb_settings")
676
665
 
@@ -841,7 +830,6 @@ class _LoadBalancerState:
841
830
  def target_load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
842
831
  """
843
832
  A list of Load Balancer IDs to be attached behind a Global Load Balancer.
844
- **NOTE**: this is a closed beta feature and not available for public use.
845
833
  """
846
834
  return pulumi.get(self, "target_load_balancer_ids")
847
835
 
@@ -854,7 +842,7 @@ class _LoadBalancerState:
854
842
  def type(self) -> Optional[pulumi.Input[str]]:
855
843
  """
856
844
  The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
857
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
845
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
858
846
  """
859
847
  return pulumi.get(self, "type")
860
848
 
@@ -954,8 +942,7 @@ class LoadBalancer(pulumi.CustomResource):
954
942
  :param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
955
943
  or `least_connections`. The default value is `round_robin`.
956
944
  :param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
957
- :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
958
- **NOTE**: this is a closed beta feature and not available for public use.
945
+ :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
959
946
  :param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
960
947
  :param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
961
948
  :param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
@@ -966,7 +953,6 @@ class LoadBalancer(pulumi.CustomResource):
966
953
  :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
967
954
  Load Balancer. The `forwarding_rule` block is documented below.
968
955
  :param pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
969
- **NOTE**: this is a closed beta feature and not available for public use.
970
956
  :param pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']] healthcheck: A `healthcheck` block to be assigned to the
971
957
  Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
972
958
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
@@ -983,9 +969,8 @@ class LoadBalancer(pulumi.CustomResource):
983
969
  :param pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']] sticky_sessions: A `sticky_sessions` block to be assigned to the
984
970
  Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
985
971
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
986
- **NOTE**: this is a closed beta feature and not available for public use.
987
972
  :param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
988
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
973
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
989
974
  :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
990
975
  """
991
976
  ...
@@ -1158,8 +1143,7 @@ class LoadBalancer(pulumi.CustomResource):
1158
1143
  :param pulumi.Input[Union[str, 'Algorithm']] algorithm: **Deprecated** This field has been deprecated. You can no longer specify an algorithm for load balancers.
1159
1144
  or `least_connections`. The default value is `round_robin`.
1160
1145
  :param pulumi.Input[bool] disable_lets_encrypt_dns_records: A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. Default value is `false`.
1161
- :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
1162
- **NOTE**: this is a closed beta feature and not available for public use.
1146
+ :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerDomainArgs', 'LoadBalancerDomainArgsDict']]]] domains: A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
1163
1147
  :param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: A list of the IDs of each droplet to be attached to the Load Balancer.
1164
1148
  :param pulumi.Input[str] droplet_tag: The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.
1165
1149
  :param pulumi.Input[bool] enable_backend_keepalive: A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is `false`.
@@ -1170,7 +1154,6 @@ class LoadBalancer(pulumi.CustomResource):
1170
1154
  :param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerForwardingRuleArgs', 'LoadBalancerForwardingRuleArgsDict']]]] forwarding_rules: A list of `forwarding_rule` to be assigned to the
1171
1155
  Load Balancer. The `forwarding_rule` block is documented below.
1172
1156
  :param pulumi.Input[Union['LoadBalancerGlbSettingsArgs', 'LoadBalancerGlbSettingsArgsDict']] glb_settings: A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
1173
- **NOTE**: this is a closed beta feature and not available for public use.
1174
1157
  :param pulumi.Input[Union['LoadBalancerHealthcheckArgs', 'LoadBalancerHealthcheckArgsDict']] healthcheck: A `healthcheck` block to be assigned to the
1175
1158
  Load Balancer. The `healthcheck` block is documented below. Only 1 healthcheck is allowed.
1176
1159
  :param pulumi.Input[int] http_idle_timeout_seconds: Specifies the idle timeout for HTTPS connections on the load balancer in seconds.
@@ -1189,9 +1172,8 @@ class LoadBalancer(pulumi.CustomResource):
1189
1172
  :param pulumi.Input[Union['LoadBalancerStickySessionsArgs', 'LoadBalancerStickySessionsArgsDict']] sticky_sessions: A `sticky_sessions` block to be assigned to the
1190
1173
  Load Balancer. The `sticky_sessions` block is documented below. Only 1 sticky_sessions block is allowed.
1191
1174
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_load_balancer_ids: A list of Load Balancer IDs to be attached behind a Global Load Balancer.
1192
- **NOTE**: this is a closed beta feature and not available for public use.
1193
1175
  :param pulumi.Input[str] type: The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
1194
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
1176
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
1195
1177
  :param pulumi.Input[str] vpc_uuid: The ID of the VPC where the load balancer will be located.
1196
1178
  """
1197
1179
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1248,8 +1230,7 @@ class LoadBalancer(pulumi.CustomResource):
1248
1230
  @pulumi.getter
1249
1231
  def domains(self) -> pulumi.Output[Sequence['outputs.LoadBalancerDomain']]:
1250
1232
  """
1251
- A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
1252
- **NOTE**: this is a closed beta feature and not available for public use.
1233
+ A list of `domains` required to ingress traffic to a Global Load Balancer. The `domains` block is documented below.
1253
1234
  """
1254
1235
  return pulumi.get(self, "domains")
1255
1236
 
@@ -1309,7 +1290,6 @@ class LoadBalancer(pulumi.CustomResource):
1309
1290
  def glb_settings(self) -> pulumi.Output['outputs.LoadBalancerGlbSettings']:
1310
1291
  """
1311
1292
  A block containing `glb_settings` required to define target rules for a Global Load Balancer. The `glb_settings` block is documented below.
1312
- **NOTE**: this is a closed beta feature and not available for public use.
1313
1293
  """
1314
1294
  return pulumi.get(self, "glb_settings")
1315
1295
 
@@ -1424,7 +1404,6 @@ class LoadBalancer(pulumi.CustomResource):
1424
1404
  def target_load_balancer_ids(self) -> pulumi.Output[Sequence[str]]:
1425
1405
  """
1426
1406
  A list of Load Balancer IDs to be attached behind a Global Load Balancer.
1427
- **NOTE**: this is a closed beta feature and not available for public use.
1428
1407
  """
1429
1408
  return pulumi.get(self, "target_load_balancer_ids")
1430
1409
 
@@ -1433,7 +1412,7 @@ class LoadBalancer(pulumi.CustomResource):
1433
1412
  def type(self) -> pulumi.Output[Optional[str]]:
1434
1413
  """
1435
1414
  The type of the Load Balancer. It must be either of `REGIONAL` or `GLOBAL`. Defaults to `REGIONAL`.
1436
- **NOTE**: non-`REGIONAL` type may be part of closed beta feature and not available for public use.
1415
+ **NOTE**: non-`REGIONAL/GLOBAL` type may be part of closed beta feature and not available for public use.
1437
1416
  """
1438
1417
  return pulumi.get(self, "type")
1439
1418
 
@@ -113,6 +113,7 @@ __all__ = [
113
113
  'DatabaseUserSetting',
114
114
  'DatabaseUserSettingAcl',
115
115
  'DatabaseUserSettingOpensearchAcl',
116
+ 'DropletBackupPolicy',
116
117
  'FirewallInboundRule',
117
118
  'FirewallOutboundRule',
118
119
  'FirewallPendingChange',
@@ -6667,6 +6668,49 @@ class DatabaseUserSettingOpensearchAcl(dict):
6667
6668
  return pulumi.get(self, "permission")
6668
6669
 
6669
6670
 
6671
+ @pulumi.output_type
6672
+ class DropletBackupPolicy(dict):
6673
+ def __init__(__self__, *,
6674
+ hour: Optional[int] = None,
6675
+ plan: Optional[str] = None,
6676
+ weekday: Optional[str] = None):
6677
+ """
6678
+ :param int hour: The hour of the day that the backup window will start (`0`, `4`, `8`, `12`, `16`, `20`).
6679
+ :param str plan: The backup plan used for the Droplet. The plan can be either `daily` or `weekly`.
6680
+ :param str weekday: The day of the week on which the backup will occur (`SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`).
6681
+ """
6682
+ if hour is not None:
6683
+ pulumi.set(__self__, "hour", hour)
6684
+ if plan is not None:
6685
+ pulumi.set(__self__, "plan", plan)
6686
+ if weekday is not None:
6687
+ pulumi.set(__self__, "weekday", weekday)
6688
+
6689
+ @property
6690
+ @pulumi.getter
6691
+ def hour(self) -> Optional[int]:
6692
+ """
6693
+ The hour of the day that the backup window will start (`0`, `4`, `8`, `12`, `16`, `20`).
6694
+ """
6695
+ return pulumi.get(self, "hour")
6696
+
6697
+ @property
6698
+ @pulumi.getter
6699
+ def plan(self) -> Optional[str]:
6700
+ """
6701
+ The backup plan used for the Droplet. The plan can be either `daily` or `weekly`.
6702
+ """
6703
+ return pulumi.get(self, "plan")
6704
+
6705
+ @property
6706
+ @pulumi.getter
6707
+ def weekday(self) -> Optional[str]:
6708
+ """
6709
+ The day of the week on which the backup will occur (`SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`).
6710
+ """
6711
+ return pulumi.get(self, "weekday")
6712
+
6713
+
6670
6714
  @pulumi.output_type
6671
6715
  class FirewallInboundRule(dict):
6672
6716
  @staticmethod
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "digitalocean",
4
- "version": "4.35.0-alpha.1731649402"
4
+ "version": "4.35.0-alpha.1732013080"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_digitalocean
3
- Version: 4.35.0a1731649402
3
+ Version: 4.35.0a1732013080
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
@@ -1,6 +1,6 @@
1
1
  pulumi_digitalocean/__init__.py,sha256=dMwju1jYgjT92TaeHAwbpHPZ6UI_zoja0aw2dKiQw-4,12319
2
2
  pulumi_digitalocean/_enums.py,sha256=m99PgcFIp9L5hxL_7GpvgZ_GLNhObSDnzVeKTlH3Vrs,9694
3
- pulumi_digitalocean/_inputs.py,sha256=e6yXmwlpfD-IC1U5LGZqkBqIeArM6FZj8u1G1uLhDOg,567788
3
+ pulumi_digitalocean/_inputs.py,sha256=hp9D-kUfCpNdLg8G6Eds2NPVD2DLXNEgqW1HGQaVNA4,570518
4
4
  pulumi_digitalocean/_utilities.py,sha256=-gxwnD6__OYdSf8jJgJijNuu-UHUwi5pJ1H7-eIHDhg,10504
5
5
  pulumi_digitalocean/app.py,sha256=GWQcDYeTcUQf7ZzUiVTQnkqLyXhBFUxlqN9bYWUDUGc,24444
6
6
  pulumi_digitalocean/cdn.py,sha256=kAb0ouZ8_DJAYQv5xC-_BMet2gT8CjKaVh7xcVWYKyI,21789
@@ -18,12 +18,12 @@ pulumi_digitalocean/database_mongodb_config.py,sha256=lxIePHjNm9g52VlL38zV2_lbIP
18
18
  pulumi_digitalocean/database_mysql_config.py,sha256=5UwT8tcU1UYUaHXyAIujA4Q58_iL50Lw5O5VW4TcZt0,82232
19
19
  pulumi_digitalocean/database_opensearch_config.py,sha256=wmuvYfezCHmnSJd70BRrPvGwiHCewKhQgAQoM_XeMMU,132943
20
20
  pulumi_digitalocean/database_postgresql_config.py,sha256=3AG4dCODF1f9A8XZz4u4l-fwKbL1xxI3kyg_-tHscvw,161329
21
- pulumi_digitalocean/database_redis_config.py,sha256=6qAsTQeSp95srwWh0iKNC8NaOQc6db9jRBYgJ9HBpJ8,38253
21
+ pulumi_digitalocean/database_redis_config.py,sha256=wsxFahW9likbHte5ohffVE72NtWuolOvLc5tanN1lF0,39758
22
22
  pulumi_digitalocean/database_replica.py,sha256=z3adKd6d1Uyq-ayScqL9dP_QqoR4YDhBAseY3zMZ9ic,31700
23
23
  pulumi_digitalocean/database_user.py,sha256=EpJ1XqZKtSYQM9BJnRzIdzaEu9JVL_M0rP8hDIGmn7Y,24979
24
24
  pulumi_digitalocean/dns_record.py,sha256=vpikg5aun79eMQrdIO8B9Ow54fibuCtnzrdQ9r5SQD8,27226
25
25
  pulumi_digitalocean/domain.py,sha256=GHz3WqliW4HLYz7ejFuENUET3GD9LRHW8rXvByCjs4M,10708
26
- pulumi_digitalocean/droplet.py,sha256=hm94naEbwz654x3LNmC6MTrGKeyxf79Ynckhw2Bk7NE,68004
26
+ pulumi_digitalocean/droplet.py,sha256=m55qPU0GGd2FU6xpY5P_vlbXp7hUUWGhE9acRbbO2uE,71524
27
27
  pulumi_digitalocean/droplet_snapshot.py,sha256=A5N3GNcwbL6H0m1lefFTt3DQ0SvbbDxWlpMXH0IgsBo,14419
28
28
  pulumi_digitalocean/firewall.py,sha256=-3htNyREPxifXu0YjSCdgg2EG4tKJWIPTSJ_IzJUalw,26841
29
29
  pulumi_digitalocean/floating_ip.py,sha256=ZGXvgY_84tgqmqABgtj9dfxbP5LtFT0i_FLaURjhxaw,13151
@@ -39,9 +39,9 @@ pulumi_digitalocean/get_database_replica.py,sha256=tgHtlgEHAmKmEa0yW7NQaAWO4KG1p
39
39
  pulumi_digitalocean/get_database_user.py,sha256=JhnVRK1y4GXBtxcLcaPQMTL0M1qO12_P8n9DYxX1lyU,8090
40
40
  pulumi_digitalocean/get_domain.py,sha256=cCdtDD7ztrPPikq-QMCOfd_4JL0DKTZtrjE8bLUV4rQ,5633
41
41
  pulumi_digitalocean/get_domains.py,sha256=n5I5nHtD9i8LKjZLQoAUbugtheTJZ7JhtKGNKRBGuZM,6824
42
- pulumi_digitalocean/get_droplet.py,sha256=T7WGbfbLfqc8P805f_nOmKMw8F-iuOTgSy1bjGg6Bhc,18190
42
+ pulumi_digitalocean/get_droplet.py,sha256=b6EdrRKZ8ByS0BtUS-xdYPa4mhZVCnRo1AReB39stcc,19071
43
43
  pulumi_digitalocean/get_droplet_snapshot.py,sha256=ENQC43BX3209TsTLGBLBRM4rhQltpF02w6XRMT1xGfk,11412
44
- pulumi_digitalocean/get_droplets.py,sha256=UfbGoEdJfM76JmfFctLGacrWCCOuEGD6e7SKR9s0jmI,7881
44
+ pulumi_digitalocean/get_droplets.py,sha256=CrXODV9JDV3HTASZKKEEla8K-lrXuMCgrr_WqQOEvYE,8870
45
45
  pulumi_digitalocean/get_firewall.py,sha256=tCIV0fFpRtTr3JUj_zbWyDh_WptcDm7hdzGGLqj_zjY,10251
46
46
  pulumi_digitalocean/get_floating_ip.py,sha256=6FhfINpvwLtzTtdNGqlsGyx4x5krseXa6Lt67yhecmM,6586
47
47
  pulumi_digitalocean/get_image.py,sha256=PhyEFYi7Z-8BXPl0SsvgWsIdPraKGt1XqJMcSbxqMwA,13664
@@ -71,13 +71,13 @@ pulumi_digitalocean/get_vpc.py,sha256=l_8XZ9o10dUAjV9fhXYmZ0tM3EYhvzAlp3VJsbW7Qj
71
71
  pulumi_digitalocean/get_vpc_peering.py,sha256=4ZX-MIHfOkEo4Z7wT6Q57AFE4I_jIpJJ5rZJ12DWaXQ,7917
72
72
  pulumi_digitalocean/kubernetes_cluster.py,sha256=_tYvRc9dO1a76arkTLTSQcIa2BfGXR3tH3lQ-h7v9eU,56054
73
73
  pulumi_digitalocean/kubernetes_node_pool.py,sha256=xDplKBhopgyUOsYWVy5ngTv3l1NB2SJPMz6ssLMdjmQ,37761
74
- pulumi_digitalocean/load_balancer.py,sha256=zVx4KYEwkkM2n_RudLH7C51qAJqFaPnlSI57hvJvyrg,78352
74
+ pulumi_digitalocean/load_balancer.py,sha256=-p_yAbQg0BYHyTaSjFb1X_JTwdjT7HpjvnZ9QRtPn-A,76588
75
75
  pulumi_digitalocean/monitor_alert.py,sha256=Q6x8QbJsgBZi2Us1qgxbITTkwnxM9r_WtqZkudQ6wRs,37464
76
- pulumi_digitalocean/outputs.py,sha256=6utveiwdT6eBTV9V1Q1jpcQpw4e_hDpj4bm8QYFz-VU,635198
76
+ pulumi_digitalocean/outputs.py,sha256=Kx1a8H1miWlRSn8Z_Y7vK5TOJ3BlRrnN97egetIk4EY,636769
77
77
  pulumi_digitalocean/project.py,sha256=jZWmhLSY2UMUHVuq9CYBaERJos26o_6j0TO56sPNYkg,24622
78
78
  pulumi_digitalocean/project_resources.py,sha256=AYkWlrmdHpwHU2ejGeKIUVxu371J77JcFzdyJ4zeuy8,10445
79
79
  pulumi_digitalocean/provider.py,sha256=_s9QkDZle1wCa634xdXzAXN2mJZr4kvb1b-pp1CqHOc,14633
80
- pulumi_digitalocean/pulumi-plugin.json,sha256=xJ_ccgDmEbweG1BT40exzvX248qQjFnJPFCPVF9i7ws,89
80
+ pulumi_digitalocean/pulumi-plugin.json,sha256=MNXROKxkJHn9QG1VR9S27kRNkN1exKoCR0j8PPBOT0U,89
81
81
  pulumi_digitalocean/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  pulumi_digitalocean/reserved_ip.py,sha256=oPOxhrFp7nqKLv-vG6rpi5az-3P-4vlGAoh9XDQywOc,12833
83
83
  pulumi_digitalocean/reserved_ip_assignment.py,sha256=wetSmcYFaI122KO-wDixcJgDP_WG-OF3CW4QYGzK8V8,10357
@@ -97,7 +97,7 @@ pulumi_digitalocean/vpc_peering.py,sha256=PaVzwhbdORafLdMiYyb66ZuuMUgCq5popHO10Q
97
97
  pulumi_digitalocean/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
98
98
  pulumi_digitalocean/config/__init__.pyi,sha256=Ldryf5hmAV_RpYiaKYb8T8MwEqFG-77lHmOOLbJlXR8,1318
99
99
  pulumi_digitalocean/config/vars.py,sha256=rTFGUSJ8ymj00a7GZTGgWBk4OoyMW05038qmLb3tMho,2506
100
- pulumi_digitalocean-4.35.0a1731649402.dist-info/METADATA,sha256=Pgzl_FYxV78g5ysy_fRcmyOqEtWqSBygbzm2YmANio4,3854
101
- pulumi_digitalocean-4.35.0a1731649402.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
102
- pulumi_digitalocean-4.35.0a1731649402.dist-info/top_level.txt,sha256=XKSLMAXl7fDVTPZg8SJT7Hf8IqOk5hUr_uZtGCtKg8w,20
103
- pulumi_digitalocean-4.35.0a1731649402.dist-info/RECORD,,
100
+ pulumi_digitalocean-4.35.0a1732013080.dist-info/METADATA,sha256=XV1fN81Ojhti1PZtGE_dCyHw6Yyh7IZcKQ1jzOvGRFY,3854
101
+ pulumi_digitalocean-4.35.0a1732013080.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
102
+ pulumi_digitalocean-4.35.0a1732013080.dist-info/top_level.txt,sha256=XKSLMAXl7fDVTPZg8SJT7Hf8IqOk5hUr_uZtGCtKg8w,20
103
+ pulumi_digitalocean-4.35.0a1732013080.dist-info/RECORD,,