pulumi-digitalocean 4.40.2__py3-none-any.whl → 4.41.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -68,6 +68,7 @@ from .get_spaces_bucket import *
68
68
  from .get_spaces_bucket_object import *
69
69
  from .get_spaces_bucket_objects import *
70
70
  from .get_spaces_buckets import *
71
+ from .get_spaces_key import *
71
72
  from .get_ssh_key import *
72
73
  from .get_ssh_keys import *
73
74
  from .get_tag import *
@@ -91,6 +92,7 @@ from .spaces_bucket import *
91
92
  from .spaces_bucket_cors_configuration import *
92
93
  from .spaces_bucket_object import *
93
94
  from .spaces_bucket_policy import *
95
+ from .spaces_key import *
94
96
  from .ssh_key import *
95
97
  from .tag import *
96
98
  from .uptime_alert import *
@@ -441,6 +443,14 @@ _utilities.register(
441
443
  "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": "SpacesBucketPolicy"
442
444
  }
443
445
  },
446
+ {
447
+ "pkg": "digitalocean",
448
+ "mod": "index/spacesKey",
449
+ "fqn": "pulumi_digitalocean",
450
+ "classes": {
451
+ "digitalocean:index/spacesKey:SpacesKey": "SpacesKey"
452
+ }
453
+ },
444
454
  {
445
455
  "pkg": "digitalocean",
446
456
  "mod": "index/sshKey",
@@ -258,6 +258,8 @@ __all__ = [
258
258
  'KubernetesClusterNodePoolNodeArgsDict',
259
259
  'KubernetesClusterNodePoolTaintArgs',
260
260
  'KubernetesClusterNodePoolTaintArgsDict',
261
+ 'KubernetesClusterRoutingAgentArgs',
262
+ 'KubernetesClusterRoutingAgentArgsDict',
261
263
  'KubernetesNodePoolNodeArgs',
262
264
  'KubernetesNodePoolNodeArgsDict',
263
265
  'KubernetesNodePoolTaintArgs',
@@ -292,6 +294,8 @@ __all__ = [
292
294
  'SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgsDict',
293
295
  'SpacesBucketVersioningArgs',
294
296
  'SpacesBucketVersioningArgsDict',
297
+ 'SpacesKeyGrantArgs',
298
+ 'SpacesKeyGrantArgsDict',
295
299
  'UptimeAlertNotificationArgs',
296
300
  'UptimeAlertNotificationArgsDict',
297
301
  'UptimeAlertNotificationSlackArgs',
@@ -316,6 +320,8 @@ __all__ = [
316
320
  'GetImagesSortArgsDict',
317
321
  'GetKubernetesClusterClusterAutoscalerConfigurationArgs',
318
322
  'GetKubernetesClusterClusterAutoscalerConfigurationArgsDict',
323
+ 'GetKubernetesClusterRoutingAgentArgs',
324
+ 'GetKubernetesClusterRoutingAgentArgsDict',
319
325
  'GetProjectsFilterArgs',
320
326
  'GetProjectsFilterArgsDict',
321
327
  'GetProjectsSortArgs',
@@ -11022,6 +11028,9 @@ if not MYPY:
11022
11028
  class KubernetesClusterControlPlaneFirewallArgsDict(TypedDict):
11023
11029
  allowed_addresses: pulumi.Input[Sequence[pulumi.Input[str]]]
11024
11030
  enabled: pulumi.Input[bool]
11031
+ """
11032
+ Boolean flag whether the routing-agent is enabled or not.
11033
+ """
11025
11034
  elif False:
11026
11035
  KubernetesClusterControlPlaneFirewallArgsDict: TypeAlias = Mapping[str, Any]
11027
11036
 
@@ -11030,6 +11039,9 @@ class KubernetesClusterControlPlaneFirewallArgs:
11030
11039
  def __init__(__self__, *,
11031
11040
  allowed_addresses: pulumi.Input[Sequence[pulumi.Input[str]]],
11032
11041
  enabled: pulumi.Input[bool]):
11042
+ """
11043
+ :param pulumi.Input[bool] enabled: Boolean flag whether the routing-agent is enabled or not.
11044
+ """
11033
11045
  pulumi.set(__self__, "allowed_addresses", allowed_addresses)
11034
11046
  pulumi.set(__self__, "enabled", enabled)
11035
11047
 
@@ -11045,6 +11057,9 @@ class KubernetesClusterControlPlaneFirewallArgs:
11045
11057
  @property
11046
11058
  @pulumi.getter
11047
11059
  def enabled(self) -> pulumi.Input[bool]:
11060
+ """
11061
+ Boolean flag whether the routing-agent is enabled or not.
11062
+ """
11048
11063
  return pulumi.get(self, "enabled")
11049
11064
 
11050
11065
  @enabled.setter
@@ -11727,6 +11742,46 @@ class KubernetesClusterNodePoolTaintArgs:
11727
11742
  pulumi.set(self, "value", value)
11728
11743
 
11729
11744
 
11745
+ if not MYPY:
11746
+ class KubernetesClusterRoutingAgentArgsDict(TypedDict):
11747
+ enabled: pulumi.Input[bool]
11748
+ """
11749
+ Boolean flag whether the routing-agent should be enabled or not.
11750
+
11751
+
11752
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
11753
+ """
11754
+ elif False:
11755
+ KubernetesClusterRoutingAgentArgsDict: TypeAlias = Mapping[str, Any]
11756
+
11757
+ @pulumi.input_type
11758
+ class KubernetesClusterRoutingAgentArgs:
11759
+ def __init__(__self__, *,
11760
+ enabled: pulumi.Input[bool]):
11761
+ """
11762
+ :param pulumi.Input[bool] enabled: Boolean flag whether the routing-agent should be enabled or not.
11763
+
11764
+
11765
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
11766
+ """
11767
+ pulumi.set(__self__, "enabled", enabled)
11768
+
11769
+ @property
11770
+ @pulumi.getter
11771
+ def enabled(self) -> pulumi.Input[bool]:
11772
+ """
11773
+ Boolean flag whether the routing-agent should be enabled or not.
11774
+
11775
+
11776
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
11777
+ """
11778
+ return pulumi.get(self, "enabled")
11779
+
11780
+ @enabled.setter
11781
+ def enabled(self, value: pulumi.Input[bool]):
11782
+ pulumi.set(self, "enabled", value)
11783
+
11784
+
11730
11785
  if not MYPY:
11731
11786
  class KubernetesNodePoolNodeArgsDict(TypedDict):
11732
11787
  created_at: NotRequired[pulumi.Input[str]]
@@ -13210,6 +13265,56 @@ class SpacesBucketVersioningArgs:
13210
13265
  pulumi.set(self, "enabled", value)
13211
13266
 
13212
13267
 
13268
+ if not MYPY:
13269
+ class SpacesKeyGrantArgsDict(TypedDict):
13270
+ bucket: pulumi.Input[str]
13271
+ """
13272
+ Name of the bucket associated with this grant. In case of a `fullaccess` permission, this value should be an empty string.
13273
+ """
13274
+ permission: pulumi.Input[str]
13275
+ """
13276
+ Permission associated with this grant. Values can be `read`, `readwrite`, `fullaccess`.
13277
+ """
13278
+ elif False:
13279
+ SpacesKeyGrantArgsDict: TypeAlias = Mapping[str, Any]
13280
+
13281
+ @pulumi.input_type
13282
+ class SpacesKeyGrantArgs:
13283
+ def __init__(__self__, *,
13284
+ bucket: pulumi.Input[str],
13285
+ permission: pulumi.Input[str]):
13286
+ """
13287
+ :param pulumi.Input[str] bucket: Name of the bucket associated with this grant. In case of a `fullaccess` permission, this value should be an empty string.
13288
+ :param pulumi.Input[str] permission: Permission associated with this grant. Values can be `read`, `readwrite`, `fullaccess`.
13289
+ """
13290
+ pulumi.set(__self__, "bucket", bucket)
13291
+ pulumi.set(__self__, "permission", permission)
13292
+
13293
+ @property
13294
+ @pulumi.getter
13295
+ def bucket(self) -> pulumi.Input[str]:
13296
+ """
13297
+ Name of the bucket associated with this grant. In case of a `fullaccess` permission, this value should be an empty string.
13298
+ """
13299
+ return pulumi.get(self, "bucket")
13300
+
13301
+ @bucket.setter
13302
+ def bucket(self, value: pulumi.Input[str]):
13303
+ pulumi.set(self, "bucket", value)
13304
+
13305
+ @property
13306
+ @pulumi.getter
13307
+ def permission(self) -> pulumi.Input[str]:
13308
+ """
13309
+ Permission associated with this grant. Values can be `read`, `readwrite`, `fullaccess`.
13310
+ """
13311
+ return pulumi.get(self, "permission")
13312
+
13313
+ @permission.setter
13314
+ def permission(self, value: pulumi.Input[str]):
13315
+ pulumi.set(self, "permission", value)
13316
+
13317
+
13213
13318
  if not MYPY:
13214
13319
  class UptimeAlertNotificationArgsDict(TypedDict):
13215
13320
  emails: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
@@ -14253,6 +14358,28 @@ class GetKubernetesClusterClusterAutoscalerConfigurationArgs:
14253
14358
  pulumi.set(self, "scale_down_utilization_threshold", value)
14254
14359
 
14255
14360
 
14361
+ if not MYPY:
14362
+ class GetKubernetesClusterRoutingAgentArgsDict(TypedDict):
14363
+ enabled: bool
14364
+ elif False:
14365
+ GetKubernetesClusterRoutingAgentArgsDict: TypeAlias = Mapping[str, Any]
14366
+
14367
+ @pulumi.input_type
14368
+ class GetKubernetesClusterRoutingAgentArgs:
14369
+ def __init__(__self__, *,
14370
+ enabled: bool):
14371
+ pulumi.set(__self__, "enabled", enabled)
14372
+
14373
+ @property
14374
+ @pulumi.getter
14375
+ def enabled(self) -> bool:
14376
+ return pulumi.get(self, "enabled")
14377
+
14378
+ @enabled.setter
14379
+ def enabled(self, value: bool):
14380
+ pulumi.set(self, "enabled", value)
14381
+
14382
+
14256
14383
  if not MYPY:
14257
14384
  class GetProjectsFilterArgsDict(TypedDict):
14258
14385
  key: str
@@ -28,7 +28,7 @@ class GetKubernetesClusterResult:
28
28
  """
29
29
  A collection of values returned by getKubernetesCluster.
30
30
  """
31
- def __init__(__self__, auto_upgrade=None, cluster_autoscaler_configurations=None, cluster_subnet=None, control_plane_firewalls=None, created_at=None, endpoint=None, ha=None, id=None, ipv4_address=None, kube_configs=None, kubeconfig_expire_seconds=None, maintenance_policies=None, name=None, node_pools=None, region=None, service_subnet=None, status=None, surge_upgrade=None, tags=None, updated_at=None, urn=None, version=None, vpc_uuid=None):
31
+ def __init__(__self__, auto_upgrade=None, cluster_autoscaler_configurations=None, cluster_subnet=None, control_plane_firewalls=None, created_at=None, endpoint=None, ha=None, id=None, ipv4_address=None, kube_configs=None, kubeconfig_expire_seconds=None, maintenance_policies=None, name=None, node_pools=None, region=None, routing_agent=None, service_subnet=None, status=None, surge_upgrade=None, tags=None, updated_at=None, urn=None, version=None, vpc_uuid=None):
32
32
  if auto_upgrade and not isinstance(auto_upgrade, bool):
33
33
  raise TypeError("Expected argument 'auto_upgrade' to be a bool")
34
34
  pulumi.set(__self__, "auto_upgrade", auto_upgrade)
@@ -74,6 +74,9 @@ class GetKubernetesClusterResult:
74
74
  if region and not isinstance(region, str):
75
75
  raise TypeError("Expected argument 'region' to be a str")
76
76
  pulumi.set(__self__, "region", region)
77
+ if routing_agent and not isinstance(routing_agent, dict):
78
+ raise TypeError("Expected argument 'routing_agent' to be a dict")
79
+ pulumi.set(__self__, "routing_agent", routing_agent)
77
80
  if service_subnet and not isinstance(service_subnet, str):
78
81
  raise TypeError("Expected argument 'service_subnet' to be a str")
79
82
  pulumi.set(__self__, "service_subnet", service_subnet)
@@ -207,6 +210,11 @@ class GetKubernetesClusterResult:
207
210
  """
208
211
  return pulumi.get(self, "region")
209
212
 
213
+ @property
214
+ @pulumi.getter(name="routingAgent")
215
+ def routing_agent(self) -> 'outputs.GetKubernetesClusterRoutingAgentResult':
216
+ return pulumi.get(self, "routing_agent")
217
+
210
218
  @property
211
219
  @pulumi.getter(name="serviceSubnet")
212
220
  def service_subnet(self) -> str:
@@ -290,6 +298,7 @@ class AwaitableGetKubernetesClusterResult(GetKubernetesClusterResult):
290
298
  name=self.name,
291
299
  node_pools=self.node_pools,
292
300
  region=self.region,
301
+ routing_agent=self.routing_agent,
293
302
  service_subnet=self.service_subnet,
294
303
  status=self.status,
295
304
  surge_upgrade=self.surge_upgrade,
@@ -303,6 +312,7 @@ class AwaitableGetKubernetesClusterResult(GetKubernetesClusterResult):
303
312
  def get_kubernetes_cluster(cluster_autoscaler_configurations: Optional[Sequence[Union['GetKubernetesClusterClusterAutoscalerConfigurationArgs', 'GetKubernetesClusterClusterAutoscalerConfigurationArgsDict']]] = None,
304
313
  kubeconfig_expire_seconds: Optional[int] = None,
305
314
  name: Optional[str] = None,
315
+ routing_agent: Optional[Union['GetKubernetesClusterRoutingAgentArgs', 'GetKubernetesClusterRoutingAgentArgsDict']] = None,
306
316
  tags: Optional[Sequence[str]] = None,
307
317
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetKubernetesClusterResult:
308
318
  """
@@ -325,6 +335,7 @@ def get_kubernetes_cluster(cluster_autoscaler_configurations: Optional[Sequence[
325
335
  __args__['clusterAutoscalerConfigurations'] = cluster_autoscaler_configurations
326
336
  __args__['kubeconfigExpireSeconds'] = kubeconfig_expire_seconds
327
337
  __args__['name'] = name
338
+ __args__['routingAgent'] = routing_agent
328
339
  __args__['tags'] = tags
329
340
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
330
341
  __ret__ = pulumi.runtime.invoke('digitalocean:index/getKubernetesCluster:getKubernetesCluster', __args__, opts=opts, typ=GetKubernetesClusterResult).value
@@ -345,6 +356,7 @@ def get_kubernetes_cluster(cluster_autoscaler_configurations: Optional[Sequence[
345
356
  name=pulumi.get(__ret__, 'name'),
346
357
  node_pools=pulumi.get(__ret__, 'node_pools'),
347
358
  region=pulumi.get(__ret__, 'region'),
359
+ routing_agent=pulumi.get(__ret__, 'routing_agent'),
348
360
  service_subnet=pulumi.get(__ret__, 'service_subnet'),
349
361
  status=pulumi.get(__ret__, 'status'),
350
362
  surge_upgrade=pulumi.get(__ret__, 'surge_upgrade'),
@@ -356,6 +368,7 @@ def get_kubernetes_cluster(cluster_autoscaler_configurations: Optional[Sequence[
356
368
  def get_kubernetes_cluster_output(cluster_autoscaler_configurations: Optional[pulumi.Input[Optional[Sequence[Union['GetKubernetesClusterClusterAutoscalerConfigurationArgs', 'GetKubernetesClusterClusterAutoscalerConfigurationArgsDict']]]]] = None,
357
369
  kubeconfig_expire_seconds: Optional[pulumi.Input[Optional[int]]] = None,
358
370
  name: Optional[pulumi.Input[str]] = None,
371
+ routing_agent: Optional[pulumi.Input[Optional[Union['GetKubernetesClusterRoutingAgentArgs', 'GetKubernetesClusterRoutingAgentArgsDict']]]] = None,
359
372
  tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
360
373
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKubernetesClusterResult]:
361
374
  """
@@ -378,6 +391,7 @@ def get_kubernetes_cluster_output(cluster_autoscaler_configurations: Optional[pu
378
391
  __args__['clusterAutoscalerConfigurations'] = cluster_autoscaler_configurations
379
392
  __args__['kubeconfigExpireSeconds'] = kubeconfig_expire_seconds
380
393
  __args__['name'] = name
394
+ __args__['routingAgent'] = routing_agent
381
395
  __args__['tags'] = tags
382
396
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
383
397
  __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getKubernetesCluster:getKubernetesCluster', __args__, opts=opts, typ=GetKubernetesClusterResult)
@@ -397,6 +411,7 @@ def get_kubernetes_cluster_output(cluster_autoscaler_configurations: Optional[pu
397
411
  name=pulumi.get(__response__, 'name'),
398
412
  node_pools=pulumi.get(__response__, 'node_pools'),
399
413
  region=pulumi.get(__response__, 'region'),
414
+ routing_agent=pulumi.get(__response__, 'routing_agent'),
400
415
  service_subnet=pulumi.get(__response__, 'service_subnet'),
401
416
  status=pulumi.get(__response__, 'status'),
402
417
  surge_upgrade=pulumi.get(__response__, 'surge_upgrade'),
@@ -0,0 +1,157 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetSpacesKeyResult',
20
+ 'AwaitableGetSpacesKeyResult',
21
+ 'get_spaces_key',
22
+ 'get_spaces_key_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetSpacesKeyResult:
27
+ """
28
+ A collection of values returned by getSpacesKey.
29
+ """
30
+ def __init__(__self__, access_key=None, created_at=None, grants=None, id=None, name=None):
31
+ if access_key and not isinstance(access_key, str):
32
+ raise TypeError("Expected argument 'access_key' to be a str")
33
+ pulumi.set(__self__, "access_key", access_key)
34
+ if created_at and not isinstance(created_at, str):
35
+ raise TypeError("Expected argument 'created_at' to be a str")
36
+ pulumi.set(__self__, "created_at", created_at)
37
+ if grants and not isinstance(grants, list):
38
+ raise TypeError("Expected argument 'grants' to be a list")
39
+ pulumi.set(__self__, "grants", grants)
40
+ if id and not isinstance(id, str):
41
+ raise TypeError("Expected argument 'id' to be a str")
42
+ pulumi.set(__self__, "id", id)
43
+ if name and not isinstance(name, str):
44
+ raise TypeError("Expected argument 'name' to be a str")
45
+ pulumi.set(__self__, "name", name)
46
+
47
+ @property
48
+ @pulumi.getter(name="accessKey")
49
+ def access_key(self) -> str:
50
+ """
51
+ The access key ID of the Spaces key
52
+ """
53
+ return pulumi.get(self, "access_key")
54
+
55
+ @property
56
+ @pulumi.getter(name="createdAt")
57
+ def created_at(self) -> str:
58
+ """
59
+ The creation time of the Spaces key
60
+ """
61
+ return pulumi.get(self, "created_at")
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def grants(self) -> Sequence['outputs.GetSpacesKeyGrantResult']:
66
+ """
67
+ The list of grants associated with the Spaces key.
68
+ """
69
+ return pulumi.get(self, "grants")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def id(self) -> str:
74
+ """
75
+ The provider-assigned unique ID for this managed resource.
76
+ """
77
+ return pulumi.get(self, "id")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def name(self) -> str:
82
+ """
83
+ The name of the Spaces key
84
+ """
85
+ return pulumi.get(self, "name")
86
+
87
+
88
+ class AwaitableGetSpacesKeyResult(GetSpacesKeyResult):
89
+ # pylint: disable=using-constant-test
90
+ def __await__(self):
91
+ if False:
92
+ yield self
93
+ return GetSpacesKeyResult(
94
+ access_key=self.access_key,
95
+ created_at=self.created_at,
96
+ grants=self.grants,
97
+ id=self.id,
98
+ name=self.name)
99
+
100
+
101
+ def get_spaces_key(access_key: Optional[str] = None,
102
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSpacesKeyResult:
103
+ """
104
+ ## Example Usage
105
+
106
+ Get the key by access key ID:
107
+
108
+ ```python
109
+ import pulumi
110
+ import pulumi_digitalocean as digitalocean
111
+
112
+ example = digitalocean.get_spaces_key(access_key="ACCESS_KEY_ID")
113
+ pulumi.export("keyGrants", example.grants)
114
+ ```
115
+
116
+
117
+ :param str access_key: The Access Key ID of the Spaces key.
118
+ """
119
+ __args__ = dict()
120
+ __args__['accessKey'] = access_key
121
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke('digitalocean:index/getSpacesKey:getSpacesKey', __args__, opts=opts, typ=GetSpacesKeyResult).value
123
+
124
+ return AwaitableGetSpacesKeyResult(
125
+ access_key=pulumi.get(__ret__, 'access_key'),
126
+ created_at=pulumi.get(__ret__, 'created_at'),
127
+ grants=pulumi.get(__ret__, 'grants'),
128
+ id=pulumi.get(__ret__, 'id'),
129
+ name=pulumi.get(__ret__, 'name'))
130
+ def get_spaces_key_output(access_key: Optional[pulumi.Input[str]] = None,
131
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSpacesKeyResult]:
132
+ """
133
+ ## Example Usage
134
+
135
+ Get the key by access key ID:
136
+
137
+ ```python
138
+ import pulumi
139
+ import pulumi_digitalocean as digitalocean
140
+
141
+ example = digitalocean.get_spaces_key(access_key="ACCESS_KEY_ID")
142
+ pulumi.export("keyGrants", example.grants)
143
+ ```
144
+
145
+
146
+ :param str access_key: The Access Key ID of the Spaces key.
147
+ """
148
+ __args__ = dict()
149
+ __args__['accessKey'] = access_key
150
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
151
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getSpacesKey:getSpacesKey', __args__, opts=opts, typ=GetSpacesKeyResult)
152
+ return __ret__.apply(lambda __response__: GetSpacesKeyResult(
153
+ access_key=pulumi.get(__response__, 'access_key'),
154
+ created_at=pulumi.get(__response__, 'created_at'),
155
+ grants=pulumi.get(__response__, 'grants'),
156
+ id=pulumi.get(__response__, 'id'),
157
+ name=pulumi.get(__response__, 'name')))
@@ -35,6 +35,7 @@ class KubernetesClusterArgs:
35
35
  maintenance_policy: Optional[pulumi.Input['KubernetesClusterMaintenancePolicyArgs']] = None,
36
36
  name: Optional[pulumi.Input[str]] = None,
37
37
  registry_integration: Optional[pulumi.Input[bool]] = None,
38
+ routing_agent: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']] = None,
38
39
  service_subnet: Optional[pulumi.Input[str]] = None,
39
40
  surge_upgrade: Optional[pulumi.Input[bool]] = None,
40
41
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -49,11 +50,10 @@ class KubernetesClusterArgs:
49
50
  :param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
50
51
  :param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
51
52
  :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
52
-
53
- This resource supports customized create timeouts. The default timeout is 30 minutes.
54
53
  :param pulumi.Input['KubernetesClusterMaintenancePolicyArgs'] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
55
54
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
56
55
  :param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
56
+ :param pulumi.Input['KubernetesClusterRoutingAgentArgs'] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
57
57
  :param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
58
58
  :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
59
59
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
@@ -82,6 +82,8 @@ class KubernetesClusterArgs:
82
82
  pulumi.set(__self__, "name", name)
83
83
  if registry_integration is not None:
84
84
  pulumi.set(__self__, "registry_integration", registry_integration)
85
+ if routing_agent is not None:
86
+ pulumi.set(__self__, "routing_agent", routing_agent)
85
87
  if service_subnet is not None:
86
88
  pulumi.set(__self__, "service_subnet", service_subnet)
87
89
  if surge_upgrade is not None:
@@ -198,8 +200,6 @@ class KubernetesClusterArgs:
198
200
  def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
199
201
  """
200
202
  The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
201
-
202
- This resource supports customized create timeouts. The default timeout is 30 minutes.
203
203
  """
204
204
  return pulumi.get(self, "kubeconfig_expire_seconds")
205
205
 
@@ -243,6 +243,18 @@ class KubernetesClusterArgs:
243
243
  def registry_integration(self, value: Optional[pulumi.Input[bool]]):
244
244
  pulumi.set(self, "registry_integration", value)
245
245
 
246
+ @property
247
+ @pulumi.getter(name="routingAgent")
248
+ def routing_agent(self) -> Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]:
249
+ """
250
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
251
+ """
252
+ return pulumi.get(self, "routing_agent")
253
+
254
+ @routing_agent.setter
255
+ def routing_agent(self, value: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]):
256
+ pulumi.set(self, "routing_agent", value)
257
+
246
258
  @property
247
259
  @pulumi.getter(name="serviceSubnet")
248
260
  def service_subnet(self) -> Optional[pulumi.Input[str]]:
@@ -312,6 +324,7 @@ class _KubernetesClusterState:
312
324
  node_pool: Optional[pulumi.Input['KubernetesClusterNodePoolArgs']] = None,
313
325
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
314
326
  registry_integration: Optional[pulumi.Input[bool]] = None,
327
+ routing_agent: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']] = None,
315
328
  service_subnet: Optional[pulumi.Input[str]] = None,
316
329
  status: Optional[pulumi.Input[str]] = None,
317
330
  surge_upgrade: Optional[pulumi.Input[bool]] = None,
@@ -331,13 +344,12 @@ class _KubernetesClusterState:
331
344
  :param pulumi.Input[str] ipv4_address: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
332
345
  :param pulumi.Input[Sequence[pulumi.Input['KubernetesClusterKubeConfigArgs']]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
333
346
  :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
334
-
335
- This resource supports customized create timeouts. The default timeout is 30 minutes.
336
347
  :param pulumi.Input['KubernetesClusterMaintenancePolicyArgs'] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
337
348
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
338
349
  :param pulumi.Input['KubernetesClusterNodePoolArgs'] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
339
350
  :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
340
351
  :param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
352
+ :param pulumi.Input['KubernetesClusterRoutingAgentArgs'] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
341
353
  :param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
342
354
  :param pulumi.Input[str] status: A string indicating the current status of the individual node.
343
355
  :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
@@ -380,6 +392,8 @@ class _KubernetesClusterState:
380
392
  pulumi.set(__self__, "region", region)
381
393
  if registry_integration is not None:
382
394
  pulumi.set(__self__, "registry_integration", registry_integration)
395
+ if routing_agent is not None:
396
+ pulumi.set(__self__, "routing_agent", routing_agent)
383
397
  if service_subnet is not None:
384
398
  pulumi.set(__self__, "service_subnet", service_subnet)
385
399
  if status is not None:
@@ -526,8 +540,6 @@ class _KubernetesClusterState:
526
540
  def kubeconfig_expire_seconds(self) -> Optional[pulumi.Input[int]]:
527
541
  """
528
542
  The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
529
-
530
- This resource supports customized create timeouts. The default timeout is 30 minutes.
531
543
  """
532
544
  return pulumi.get(self, "kubeconfig_expire_seconds")
533
545
 
@@ -595,6 +607,18 @@ class _KubernetesClusterState:
595
607
  def registry_integration(self, value: Optional[pulumi.Input[bool]]):
596
608
  pulumi.set(self, "registry_integration", value)
597
609
 
610
+ @property
611
+ @pulumi.getter(name="routingAgent")
612
+ def routing_agent(self) -> Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]:
613
+ """
614
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
615
+ """
616
+ return pulumi.get(self, "routing_agent")
617
+
618
+ @routing_agent.setter
619
+ def routing_agent(self, value: Optional[pulumi.Input['KubernetesClusterRoutingAgentArgs']]):
620
+ pulumi.set(self, "routing_agent", value)
621
+
598
622
  @property
599
623
  @pulumi.getter(name="serviceSubnet")
600
624
  def service_subnet(self) -> Optional[pulumi.Input[str]]:
@@ -697,6 +721,7 @@ class KubernetesCluster(pulumi.CustomResource):
697
721
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
698
722
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
699
723
  registry_integration: Optional[pulumi.Input[bool]] = None,
724
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
700
725
  service_subnet: Optional[pulumi.Input[str]] = None,
701
726
  surge_upgrade: Optional[pulumi.Input[bool]] = None,
702
727
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -737,13 +762,12 @@ class KubernetesCluster(pulumi.CustomResource):
737
762
  :param pulumi.Input[bool] destroy_all_associated_resources: **Use with caution.** When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
738
763
  :param pulumi.Input[bool] ha: Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
739
764
  :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
740
-
741
- This resource supports customized create timeouts. The default timeout is 30 minutes.
742
765
  :param pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
743
766
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
744
767
  :param pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
745
768
  :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
746
769
  :param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
770
+ :param pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
747
771
  :param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
748
772
  :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
749
773
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tag names to be applied to the Kubernetes cluster.
@@ -810,6 +834,7 @@ class KubernetesCluster(pulumi.CustomResource):
810
834
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
811
835
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
812
836
  registry_integration: Optional[pulumi.Input[bool]] = None,
837
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
813
838
  service_subnet: Optional[pulumi.Input[str]] = None,
814
839
  surge_upgrade: Optional[pulumi.Input[bool]] = None,
815
840
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -840,6 +865,7 @@ class KubernetesCluster(pulumi.CustomResource):
840
865
  raise TypeError("Missing required property 'region'")
841
866
  __props__.__dict__["region"] = region
842
867
  __props__.__dict__["registry_integration"] = registry_integration
868
+ __props__.__dict__["routing_agent"] = routing_agent
843
869
  __props__.__dict__["service_subnet"] = service_subnet
844
870
  __props__.__dict__["surge_upgrade"] = surge_upgrade
845
871
  __props__.__dict__["tags"] = tags
@@ -883,6 +909,7 @@ class KubernetesCluster(pulumi.CustomResource):
883
909
  node_pool: Optional[pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']]] = None,
884
910
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
885
911
  registry_integration: Optional[pulumi.Input[bool]] = None,
912
+ routing_agent: Optional[pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']]] = None,
886
913
  service_subnet: Optional[pulumi.Input[str]] = None,
887
914
  status: Optional[pulumi.Input[str]] = None,
888
915
  surge_upgrade: Optional[pulumi.Input[bool]] = None,
@@ -907,13 +934,12 @@ class KubernetesCluster(pulumi.CustomResource):
907
934
  :param pulumi.Input[str] ipv4_address: The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
908
935
  :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesClusterKubeConfigArgs', 'KubernetesClusterKubeConfigArgsDict']]]] kube_configs: A representation of the Kubernetes cluster's kubeconfig with the following attributes:
909
936
  :param pulumi.Input[int] kubeconfig_expire_seconds: The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
910
-
911
- This resource supports customized create timeouts. The default timeout is 30 minutes.
912
937
  :param pulumi.Input[Union['KubernetesClusterMaintenancePolicyArgs', 'KubernetesClusterMaintenancePolicyArgsDict']] maintenance_policy: A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. `auto_upgrade` must be set to `true` for this to have an effect.
913
938
  :param pulumi.Input[str] name: A name for the Kubernetes cluster.
914
939
  :param pulumi.Input[Union['KubernetesClusterNodePoolArgs', 'KubernetesClusterNodePoolArgsDict']] node_pool: A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the `KubernetesNodePool` resource. The following arguments may be specified:
915
940
  :param pulumi.Input[Union[str, 'Region']] region: The slug identifier for the region where the Kubernetes cluster will be created.
916
941
  :param pulumi.Input[bool] registry_integration: Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
942
+ :param pulumi.Input[Union['KubernetesClusterRoutingAgentArgs', 'KubernetesClusterRoutingAgentArgsDict']] routing_agent: Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
917
943
  :param pulumi.Input[str] service_subnet: The range of assignable IP addresses for services running in the Kubernetes cluster. For more information, see [here](https://docs.digitalocean.com/products/kubernetes/how-to/create-clusters/#create-with-vpc-native).
918
944
  :param pulumi.Input[str] status: A string indicating the current status of the individual node.
919
945
  :param pulumi.Input[bool] surge_upgrade: Enable/disable surge upgrades for a cluster. Default: true
@@ -943,6 +969,7 @@ class KubernetesCluster(pulumi.CustomResource):
943
969
  __props__.__dict__["node_pool"] = node_pool
944
970
  __props__.__dict__["region"] = region
945
971
  __props__.__dict__["registry_integration"] = registry_integration
972
+ __props__.__dict__["routing_agent"] = routing_agent
946
973
  __props__.__dict__["service_subnet"] = service_subnet
947
974
  __props__.__dict__["status"] = status
948
975
  __props__.__dict__["surge_upgrade"] = surge_upgrade
@@ -1039,8 +1066,6 @@ class KubernetesCluster(pulumi.CustomResource):
1039
1066
  def kubeconfig_expire_seconds(self) -> pulumi.Output[Optional[int]]:
1040
1067
  """
1041
1068
  The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry.
1042
-
1043
- This resource supports customized create timeouts. The default timeout is 30 minutes.
1044
1069
  """
1045
1070
  return pulumi.get(self, "kubeconfig_expire_seconds")
1046
1071
 
@@ -1084,6 +1109,14 @@ class KubernetesCluster(pulumi.CustomResource):
1084
1109
  """
1085
1110
  return pulumi.get(self, "registry_integration")
1086
1111
 
1112
+ @property
1113
+ @pulumi.getter(name="routingAgent")
1114
+ def routing_agent(self) -> pulumi.Output['outputs.KubernetesClusterRoutingAgent']:
1115
+ """
1116
+ Block containing options for the routing-agent component. If not specified, the routing-agent component will not be installed in the cluster.
1117
+ """
1118
+ return pulumi.get(self, "routing_agent")
1119
+
1087
1120
  @property
1088
1121
  @pulumi.getter(name="serviceSubnet")
1089
1122
  def service_subnet(self) -> pulumi.Output[str]:
@@ -138,6 +138,7 @@ __all__ = [
138
138
  'KubernetesClusterNodePool',
139
139
  'KubernetesClusterNodePoolNode',
140
140
  'KubernetesClusterNodePoolTaint',
141
+ 'KubernetesClusterRoutingAgent',
141
142
  'KubernetesNodePoolNode',
142
143
  'KubernetesNodePoolTaint',
143
144
  'LoadBalancerDomain',
@@ -155,6 +156,7 @@ __all__ = [
155
156
  'SpacesBucketLifecycleRuleExpiration',
156
157
  'SpacesBucketLifecycleRuleNoncurrentVersionExpiration',
157
158
  'SpacesBucketVersioning',
159
+ 'SpacesKeyGrant',
158
160
  'UptimeAlertNotification',
159
161
  'UptimeAlertNotificationSlack',
160
162
  'GetAppDedicatedIpResult',
@@ -281,6 +283,7 @@ __all__ = [
281
283
  'GetKubernetesClusterNodePoolResult',
282
284
  'GetKubernetesClusterNodePoolNodeResult',
283
285
  'GetKubernetesClusterNodePoolTaintResult',
286
+ 'GetKubernetesClusterRoutingAgentResult',
284
287
  'GetLoadBalancerDomainResult',
285
288
  'GetLoadBalancerFirewallResult',
286
289
  'GetLoadBalancerForwardingRuleResult',
@@ -303,6 +306,7 @@ __all__ = [
303
306
  'GetSpacesBucketsBucketResult',
304
307
  'GetSpacesBucketsFilterResult',
305
308
  'GetSpacesBucketsSortResult',
309
+ 'GetSpacesKeyGrantResult',
306
310
  'GetSshKeysFilterResult',
307
311
  'GetSshKeysSortResult',
308
312
  'GetSshKeysSshKeyResult',
@@ -8107,6 +8111,9 @@ class KubernetesClusterControlPlaneFirewall(dict):
8107
8111
  def __init__(__self__, *,
8108
8112
  allowed_addresses: Sequence[str],
8109
8113
  enabled: bool):
8114
+ """
8115
+ :param bool enabled: Boolean flag whether the routing-agent is enabled or not.
8116
+ """
8110
8117
  pulumi.set(__self__, "allowed_addresses", allowed_addresses)
8111
8118
  pulumi.set(__self__, "enabled", enabled)
8112
8119
 
@@ -8118,6 +8125,9 @@ class KubernetesClusterControlPlaneFirewall(dict):
8118
8125
  @property
8119
8126
  @pulumi.getter
8120
8127
  def enabled(self) -> bool:
8128
+ """
8129
+ Boolean flag whether the routing-agent is enabled or not.
8130
+ """
8121
8131
  return pulumi.get(self, "enabled")
8122
8132
 
8123
8133
 
@@ -8611,6 +8621,30 @@ class KubernetesClusterNodePoolTaint(dict):
8611
8621
  return pulumi.get(self, "value")
8612
8622
 
8613
8623
 
8624
+ @pulumi.output_type
8625
+ class KubernetesClusterRoutingAgent(dict):
8626
+ def __init__(__self__, *,
8627
+ enabled: bool):
8628
+ """
8629
+ :param bool enabled: Boolean flag whether the routing-agent should be enabled or not.
8630
+
8631
+
8632
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
8633
+ """
8634
+ pulumi.set(__self__, "enabled", enabled)
8635
+
8636
+ @property
8637
+ @pulumi.getter
8638
+ def enabled(self) -> bool:
8639
+ """
8640
+ Boolean flag whether the routing-agent should be enabled or not.
8641
+
8642
+
8643
+ This resource supports customized create timeouts. The default timeout is 30 minutes.
8644
+ """
8645
+ return pulumi.get(self, "enabled")
8646
+
8647
+
8614
8648
  @pulumi.output_type
8615
8649
  class KubernetesNodePoolNode(dict):
8616
8650
  @staticmethod
@@ -9729,6 +9763,35 @@ class SpacesBucketVersioning(dict):
9729
9763
  return pulumi.get(self, "enabled")
9730
9764
 
9731
9765
 
9766
+ @pulumi.output_type
9767
+ class SpacesKeyGrant(dict):
9768
+ def __init__(__self__, *,
9769
+ bucket: str,
9770
+ permission: str):
9771
+ """
9772
+ :param str bucket: Name of the bucket associated with this grant. In case of a `fullaccess` permission, this value should be an empty string.
9773
+ :param str permission: Permission associated with this grant. Values can be `read`, `readwrite`, `fullaccess`.
9774
+ """
9775
+ pulumi.set(__self__, "bucket", bucket)
9776
+ pulumi.set(__self__, "permission", permission)
9777
+
9778
+ @property
9779
+ @pulumi.getter
9780
+ def bucket(self) -> str:
9781
+ """
9782
+ Name of the bucket associated with this grant. In case of a `fullaccess` permission, this value should be an empty string.
9783
+ """
9784
+ return pulumi.get(self, "bucket")
9785
+
9786
+ @property
9787
+ @pulumi.getter
9788
+ def permission(self) -> str:
9789
+ """
9790
+ Permission associated with this grant. Values can be `read`, `readwrite`, `fullaccess`.
9791
+ """
9792
+ return pulumi.get(self, "permission")
9793
+
9794
+
9732
9795
  @pulumi.output_type
9733
9796
  class UptimeAlertNotification(dict):
9734
9797
  def __init__(__self__, *,
@@ -16628,6 +16691,18 @@ class GetKubernetesClusterNodePoolTaintResult(dict):
16628
16691
  return pulumi.get(self, "value")
16629
16692
 
16630
16693
 
16694
+ @pulumi.output_type
16695
+ class GetKubernetesClusterRoutingAgentResult(dict):
16696
+ def __init__(__self__, *,
16697
+ enabled: bool):
16698
+ pulumi.set(__self__, "enabled", enabled)
16699
+
16700
+ @property
16701
+ @pulumi.getter
16702
+ def enabled(self) -> bool:
16703
+ return pulumi.get(self, "enabled")
16704
+
16705
+
16631
16706
  @pulumi.output_type
16632
16707
  class GetLoadBalancerDomainResult(dict):
16633
16708
  def __init__(__self__, *,
@@ -17983,6 +18058,35 @@ class GetSpacesBucketsSortResult(dict):
17983
18058
  return pulumi.get(self, "direction")
17984
18059
 
17985
18060
 
18061
+ @pulumi.output_type
18062
+ class GetSpacesKeyGrantResult(dict):
18063
+ def __init__(__self__, *,
18064
+ bucket: str,
18065
+ permission: str):
18066
+ """
18067
+ :param str bucket: The name of the bucket to grant the key access to.
18068
+ :param str permission: The permission to grant the key. Valid values are `read`, `readwrite`, or `fullaccess`.
18069
+ """
18070
+ pulumi.set(__self__, "bucket", bucket)
18071
+ pulumi.set(__self__, "permission", permission)
18072
+
18073
+ @property
18074
+ @pulumi.getter
18075
+ def bucket(self) -> str:
18076
+ """
18077
+ The name of the bucket to grant the key access to.
18078
+ """
18079
+ return pulumi.get(self, "bucket")
18080
+
18081
+ @property
18082
+ @pulumi.getter
18083
+ def permission(self) -> str:
18084
+ """
18085
+ The permission to grant the key. Valid values are `read`, `readwrite`, or `fullaccess`.
18086
+ """
18087
+ return pulumi.get(self, "permission")
18088
+
18089
+
17986
18090
  @pulumi.output_type
17987
18091
  class GetSshKeysFilterResult(dict):
17988
18092
  def __init__(__self__, *,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "digitalocean",
4
- "version": "4.40.2"
4
+ "version": "4.41.0"
5
5
  }
@@ -0,0 +1,387 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SpacesKeyArgs', 'SpacesKey']
20
+
21
+ @pulumi.input_type
22
+ class SpacesKeyArgs:
23
+ def __init__(__self__, *,
24
+ grants: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]] = None,
25
+ name: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a SpacesKey resource.
28
+ :param pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]] grants: A grant for the key (documented below).
29
+ :param pulumi.Input[str] name: The name of the key
30
+ """
31
+ if grants is not None:
32
+ pulumi.set(__self__, "grants", grants)
33
+ if name is not None:
34
+ pulumi.set(__self__, "name", name)
35
+
36
+ @property
37
+ @pulumi.getter
38
+ def grants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]]:
39
+ """
40
+ A grant for the key (documented below).
41
+ """
42
+ return pulumi.get(self, "grants")
43
+
44
+ @grants.setter
45
+ def grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]]):
46
+ pulumi.set(self, "grants", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def name(self) -> Optional[pulumi.Input[str]]:
51
+ """
52
+ The name of the key
53
+ """
54
+ return pulumi.get(self, "name")
55
+
56
+ @name.setter
57
+ def name(self, value: Optional[pulumi.Input[str]]):
58
+ pulumi.set(self, "name", value)
59
+
60
+
61
+ @pulumi.input_type
62
+ class _SpacesKeyState:
63
+ def __init__(__self__, *,
64
+ access_key: Optional[pulumi.Input[str]] = None,
65
+ created_at: Optional[pulumi.Input[str]] = None,
66
+ grants: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]] = None,
67
+ name: Optional[pulumi.Input[str]] = None,
68
+ secret_key: Optional[pulumi.Input[str]] = None):
69
+ """
70
+ Input properties used for looking up and filtering SpacesKey resources.
71
+ :param pulumi.Input[str] access_key: The access key ID of the key
72
+ :param pulumi.Input[str] created_at: The creation time of the key
73
+ :param pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]] grants: A grant for the key (documented below).
74
+ :param pulumi.Input[str] name: The name of the key
75
+ :param pulumi.Input[str] secret_key: The access key secret of the key
76
+ """
77
+ if access_key is not None:
78
+ pulumi.set(__self__, "access_key", access_key)
79
+ if created_at is not None:
80
+ pulumi.set(__self__, "created_at", created_at)
81
+ if grants is not None:
82
+ pulumi.set(__self__, "grants", grants)
83
+ if name is not None:
84
+ pulumi.set(__self__, "name", name)
85
+ if secret_key is not None:
86
+ pulumi.set(__self__, "secret_key", secret_key)
87
+
88
+ @property
89
+ @pulumi.getter(name="accessKey")
90
+ def access_key(self) -> Optional[pulumi.Input[str]]:
91
+ """
92
+ The access key ID of the key
93
+ """
94
+ return pulumi.get(self, "access_key")
95
+
96
+ @access_key.setter
97
+ def access_key(self, value: Optional[pulumi.Input[str]]):
98
+ pulumi.set(self, "access_key", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="createdAt")
102
+ def created_at(self) -> Optional[pulumi.Input[str]]:
103
+ """
104
+ The creation time of the key
105
+ """
106
+ return pulumi.get(self, "created_at")
107
+
108
+ @created_at.setter
109
+ def created_at(self, value: Optional[pulumi.Input[str]]):
110
+ pulumi.set(self, "created_at", value)
111
+
112
+ @property
113
+ @pulumi.getter
114
+ def grants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]]:
115
+ """
116
+ A grant for the key (documented below).
117
+ """
118
+ return pulumi.get(self, "grants")
119
+
120
+ @grants.setter
121
+ def grants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesKeyGrantArgs']]]]):
122
+ pulumi.set(self, "grants", value)
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def name(self) -> Optional[pulumi.Input[str]]:
127
+ """
128
+ The name of the key
129
+ """
130
+ return pulumi.get(self, "name")
131
+
132
+ @name.setter
133
+ def name(self, value: Optional[pulumi.Input[str]]):
134
+ pulumi.set(self, "name", value)
135
+
136
+ @property
137
+ @pulumi.getter(name="secretKey")
138
+ def secret_key(self) -> Optional[pulumi.Input[str]]:
139
+ """
140
+ The access key secret of the key
141
+ """
142
+ return pulumi.get(self, "secret_key")
143
+
144
+ @secret_key.setter
145
+ def secret_key(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "secret_key", value)
147
+
148
+
149
+ class SpacesKey(pulumi.CustomResource):
150
+ @overload
151
+ def __init__(__self__,
152
+ resource_name: str,
153
+ opts: Optional[pulumi.ResourceOptions] = None,
154
+ grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesKeyGrantArgs', 'SpacesKeyGrantArgsDict']]]]] = None,
155
+ name: Optional[pulumi.Input[str]] = None,
156
+ __props__=None):
157
+ """
158
+ Provides a key resource for Spaces, DigitalOcean's object storage product.
159
+
160
+ The [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was
161
+ designed to be interoperable with Amazon's AWS S3 API. This allows users to
162
+ interact with the service while using the tools they already know. Spaces
163
+ mirrors S3's authentication framework and requests to Spaces require a key pair
164
+ similar to Amazon's Access ID and Secret Key.
165
+
166
+ As a Spaces owner, you limit others’ access to your buckets using Spaces access
167
+ keys. Access keys can provide several levels of permissions to create, destroy,
168
+ read, and write to specific associated buckets. However, access keys only limit
169
+ access to certain commands using the S3 API or CLI, not the control panel or
170
+ other DigitalOcean resources.
171
+
172
+ ## Example Usage
173
+
174
+ ### Create a New Key
175
+
176
+ ```python
177
+ import pulumi
178
+ import pulumi_digitalocean as digitalocean
179
+
180
+ foobar = digitalocean.SpacesKey("foobar", name="foobar")
181
+ ```
182
+
183
+ ### Create a New Key with Grants
184
+
185
+ ```python
186
+ import pulumi
187
+ import pulumi_digitalocean as digitalocean
188
+
189
+ foobar = digitalocean.SpacesKey("foobar",
190
+ name="foobar",
191
+ grants=[{
192
+ "bucket": "my-bucket",
193
+ "permission": "read",
194
+ }])
195
+ ```
196
+
197
+ ### Create a New Key with full access
198
+
199
+ ```python
200
+ import pulumi
201
+ import pulumi_digitalocean as digitalocean
202
+
203
+ foobar = digitalocean.SpacesKey("foobar",
204
+ name="foobar",
205
+ grants=[{
206
+ "bucket": "",
207
+ "permission": "fullaccess",
208
+ }])
209
+ ```
210
+
211
+ :param str resource_name: The name of the resource.
212
+ :param pulumi.ResourceOptions opts: Options for the resource.
213
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesKeyGrantArgs', 'SpacesKeyGrantArgsDict']]]] grants: A grant for the key (documented below).
214
+ :param pulumi.Input[str] name: The name of the key
215
+ """
216
+ ...
217
+ @overload
218
+ def __init__(__self__,
219
+ resource_name: str,
220
+ args: Optional[SpacesKeyArgs] = None,
221
+ opts: Optional[pulumi.ResourceOptions] = None):
222
+ """
223
+ Provides a key resource for Spaces, DigitalOcean's object storage product.
224
+
225
+ The [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was
226
+ designed to be interoperable with Amazon's AWS S3 API. This allows users to
227
+ interact with the service while using the tools they already know. Spaces
228
+ mirrors S3's authentication framework and requests to Spaces require a key pair
229
+ similar to Amazon's Access ID and Secret Key.
230
+
231
+ As a Spaces owner, you limit others’ access to your buckets using Spaces access
232
+ keys. Access keys can provide several levels of permissions to create, destroy,
233
+ read, and write to specific associated buckets. However, access keys only limit
234
+ access to certain commands using the S3 API or CLI, not the control panel or
235
+ other DigitalOcean resources.
236
+
237
+ ## Example Usage
238
+
239
+ ### Create a New Key
240
+
241
+ ```python
242
+ import pulumi
243
+ import pulumi_digitalocean as digitalocean
244
+
245
+ foobar = digitalocean.SpacesKey("foobar", name="foobar")
246
+ ```
247
+
248
+ ### Create a New Key with Grants
249
+
250
+ ```python
251
+ import pulumi
252
+ import pulumi_digitalocean as digitalocean
253
+
254
+ foobar = digitalocean.SpacesKey("foobar",
255
+ name="foobar",
256
+ grants=[{
257
+ "bucket": "my-bucket",
258
+ "permission": "read",
259
+ }])
260
+ ```
261
+
262
+ ### Create a New Key with full access
263
+
264
+ ```python
265
+ import pulumi
266
+ import pulumi_digitalocean as digitalocean
267
+
268
+ foobar = digitalocean.SpacesKey("foobar",
269
+ name="foobar",
270
+ grants=[{
271
+ "bucket": "",
272
+ "permission": "fullaccess",
273
+ }])
274
+ ```
275
+
276
+ :param str resource_name: The name of the resource.
277
+ :param SpacesKeyArgs args: The arguments to use to populate this resource's properties.
278
+ :param pulumi.ResourceOptions opts: Options for the resource.
279
+ """
280
+ ...
281
+ def __init__(__self__, resource_name: str, *args, **kwargs):
282
+ resource_args, opts = _utilities.get_resource_args_opts(SpacesKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
283
+ if resource_args is not None:
284
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
285
+ else:
286
+ __self__._internal_init(resource_name, *args, **kwargs)
287
+
288
+ def _internal_init(__self__,
289
+ resource_name: str,
290
+ opts: Optional[pulumi.ResourceOptions] = None,
291
+ grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesKeyGrantArgs', 'SpacesKeyGrantArgsDict']]]]] = None,
292
+ name: Optional[pulumi.Input[str]] = None,
293
+ __props__=None):
294
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
295
+ if not isinstance(opts, pulumi.ResourceOptions):
296
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
297
+ if opts.id is None:
298
+ if __props__ is not None:
299
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
300
+ __props__ = SpacesKeyArgs.__new__(SpacesKeyArgs)
301
+
302
+ __props__.__dict__["grants"] = grants
303
+ __props__.__dict__["name"] = name
304
+ __props__.__dict__["access_key"] = None
305
+ __props__.__dict__["created_at"] = None
306
+ __props__.__dict__["secret_key"] = None
307
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretKey"])
308
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
309
+ super(SpacesKey, __self__).__init__(
310
+ 'digitalocean:index/spacesKey:SpacesKey',
311
+ resource_name,
312
+ __props__,
313
+ opts)
314
+
315
+ @staticmethod
316
+ def get(resource_name: str,
317
+ id: pulumi.Input[str],
318
+ opts: Optional[pulumi.ResourceOptions] = None,
319
+ access_key: Optional[pulumi.Input[str]] = None,
320
+ created_at: Optional[pulumi.Input[str]] = None,
321
+ grants: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesKeyGrantArgs', 'SpacesKeyGrantArgsDict']]]]] = None,
322
+ name: Optional[pulumi.Input[str]] = None,
323
+ secret_key: Optional[pulumi.Input[str]] = None) -> 'SpacesKey':
324
+ """
325
+ Get an existing SpacesKey resource's state with the given name, id, and optional extra
326
+ properties used to qualify the lookup.
327
+
328
+ :param str resource_name: The unique name of the resulting resource.
329
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ :param pulumi.Input[str] access_key: The access key ID of the key
332
+ :param pulumi.Input[str] created_at: The creation time of the key
333
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesKeyGrantArgs', 'SpacesKeyGrantArgsDict']]]] grants: A grant for the key (documented below).
334
+ :param pulumi.Input[str] name: The name of the key
335
+ :param pulumi.Input[str] secret_key: The access key secret of the key
336
+ """
337
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
338
+
339
+ __props__ = _SpacesKeyState.__new__(_SpacesKeyState)
340
+
341
+ __props__.__dict__["access_key"] = access_key
342
+ __props__.__dict__["created_at"] = created_at
343
+ __props__.__dict__["grants"] = grants
344
+ __props__.__dict__["name"] = name
345
+ __props__.__dict__["secret_key"] = secret_key
346
+ return SpacesKey(resource_name, opts=opts, __props__=__props__)
347
+
348
+ @property
349
+ @pulumi.getter(name="accessKey")
350
+ def access_key(self) -> pulumi.Output[str]:
351
+ """
352
+ The access key ID of the key
353
+ """
354
+ return pulumi.get(self, "access_key")
355
+
356
+ @property
357
+ @pulumi.getter(name="createdAt")
358
+ def created_at(self) -> pulumi.Output[str]:
359
+ """
360
+ The creation time of the key
361
+ """
362
+ return pulumi.get(self, "created_at")
363
+
364
+ @property
365
+ @pulumi.getter
366
+ def grants(self) -> pulumi.Output[Optional[Sequence['outputs.SpacesKeyGrant']]]:
367
+ """
368
+ A grant for the key (documented below).
369
+ """
370
+ return pulumi.get(self, "grants")
371
+
372
+ @property
373
+ @pulumi.getter
374
+ def name(self) -> pulumi.Output[str]:
375
+ """
376
+ The name of the key
377
+ """
378
+ return pulumi.get(self, "name")
379
+
380
+ @property
381
+ @pulumi.getter(name="secretKey")
382
+ def secret_key(self) -> pulumi.Output[str]:
383
+ """
384
+ The access key secret of the key
385
+ """
386
+ return pulumi.get(self, "secret_key")
387
+
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pulumi_digitalocean
3
- Version: 4.40.2
3
+ Version: 4.41.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
@@ -1,6 +1,6 @@
1
- pulumi_digitalocean/__init__.py,sha256=PNHXKozQTBUoTumasz2v5XRJlsCP_Axmng7xyvFHk_M,13087
1
+ pulumi_digitalocean/__init__.py,sha256=Ky4ludsYa2k_r7vLLYyjaDjKT1IwT6pv_MzErV76Sbw,13311
2
2
  pulumi_digitalocean/_enums.py,sha256=m99PgcFIp9L5hxL_7GpvgZ_GLNhObSDnzVeKTlH3Vrs,9694
3
- pulumi_digitalocean/_inputs.py,sha256=q6uSEt1m1w_tbWWUAAO8efgT564ZEzKLv9InLCv2H2Y,629964
3
+ pulumi_digitalocean/_inputs.py,sha256=afCqnxVJ4KkyQR81PAsqhemS4_MVOUkO9dI-hYsxou8,634167
4
4
  pulumi_digitalocean/_utilities.py,sha256=yyuODPikZ9pto3JWJRfMJo98dWmQ5_y45-TVcZG_K8Y,10807
5
5
  pulumi_digitalocean/app.py,sha256=GWQcDYeTcUQf7ZzUiVTQnkqLyXhBFUxlqN9bYWUDUGc,24444
6
6
  pulumi_digitalocean/cdn.py,sha256=kAb0ouZ8_DJAYQv5xC-_BMet2gT8CjKaVh7xcVWYKyI,21789
@@ -48,7 +48,7 @@ pulumi_digitalocean/get_firewall.py,sha256=KBDTa3hSZaKSINGj9-ej6oNKD_0Vgeq270_K3
48
48
  pulumi_digitalocean/get_floating_ip.py,sha256=lBYZJo5kePL3rJNzraudX2AbtJvra4-lu23E8FZz8H0,6627
49
49
  pulumi_digitalocean/get_image.py,sha256=3oUdVmSfcurjAM0S67UqBOnKGVVeIbruzbL_Zof9-fs,13705
50
50
  pulumi_digitalocean/get_images.py,sha256=EFSSpZmb6egFroqlwAE-VY_KdR4_KoztTVhIAM05yYE,7811
51
- pulumi_digitalocean/get_kubernetes_cluster.py,sha256=1_OhSv7nF0yTksXgcIg8a6Yohd4I8fHY9544COR0KVk,18347
51
+ pulumi_digitalocean/get_kubernetes_cluster.py,sha256=Q2kXJmMSiqTwB9hZp66vsTDzWgrlq5bi2hZBjF4zhDc,19349
52
52
  pulumi_digitalocean/get_kubernetes_versions.py,sha256=K_wql5XJkOBfriplIbtGLArjyzuXlfqi6t8aS2Pirgw,7735
53
53
  pulumi_digitalocean/get_load_balancer.py,sha256=IuH3m3ZPsZ_ujaLlbkYKTUADGKnlYVK-9O8f9hfPfCM,18938
54
54
  pulumi_digitalocean/get_project.py,sha256=2zPk5T3bHxBfpJBRtgcQNwapDq4CK6sHnmCiMwPQJuU,9167
@@ -64,6 +64,7 @@ pulumi_digitalocean/get_spaces_bucket.py,sha256=w97UTfZja4GD-X3ojQxW9pk_5wlu7SUq
64
64
  pulumi_digitalocean/get_spaces_bucket_object.py,sha256=9iC_T2LBqAkvV-xcKvwflbjKaX5nhBHig7tzWnXAaaQ,17167
65
65
  pulumi_digitalocean/get_spaces_bucket_objects.py,sha256=w8Oq0ojQc1csEZwwt3PkWD0RLRONm9tDEBP88rSwGHA,9814
66
66
  pulumi_digitalocean/get_spaces_buckets.py,sha256=R4g1jP3t96MsdU-n4nRRDO3ECB1AKa1oPvR1xp13cOM,7398
67
+ pulumi_digitalocean/get_spaces_key.py,sha256=x4sh37of3poyagDJybjRoWSd2zAlYC8t2cmbxneDSm0,5290
67
68
  pulumi_digitalocean/get_ssh_key.py,sha256=3vVPvdfCBcHklFYvfjeqWkjgre6xihu11jdkA-yMjEc,5529
68
69
  pulumi_digitalocean/get_ssh_keys.py,sha256=AASB1AnyEqAcr26cuD2wJ7bF7Yqyqc5AtAOh10-3Lsc,6877
69
70
  pulumi_digitalocean/get_tag.py,sha256=2p28faexVr9QZDtyfqXyGxVuxlw2gg0GVH1Hp0ns2b8,8285
@@ -72,15 +73,15 @@ pulumi_digitalocean/get_volume.py,sha256=paXMeQzLzfZ675E4d1toOBtvfrZTJ3kzVzXxTZL
72
73
  pulumi_digitalocean/get_volume_snapshot.py,sha256=YLBGvzY2JZMaygPG-7sqIW9EbFXia1zD-BgZfJvVF9U,11861
73
74
  pulumi_digitalocean/get_vpc.py,sha256=MBJisuZArVWvaZ6rwi2YQAhJAA2LouJjAZg8VfIuRrg,8738
74
75
  pulumi_digitalocean/get_vpc_peering.py,sha256=jec2rz2NwlMlgZRsYT1janpPgs5xi9kTvCygBItaQxk,7958
75
- pulumi_digitalocean/kubernetes_cluster.py,sha256=AlDsBcRPUtshVbywYvdJJywdjRYfwfKMEEqlNC40_cQ,64394
76
+ pulumi_digitalocean/kubernetes_cluster.py,sha256=2xTPFUOCGKnD7CtV_fpd1oriIAJu3a3qh1K6ub3aMK0,67045
76
77
  pulumi_digitalocean/kubernetes_node_pool.py,sha256=xDplKBhopgyUOsYWVy5ngTv3l1NB2SJPMz6ssLMdjmQ,37761
77
78
  pulumi_digitalocean/load_balancer.py,sha256=CxJedOOwZ-Oe4p9sa7ClGZoRkc77KNb5Gry-n42FaoQ,80065
78
79
  pulumi_digitalocean/monitor_alert.py,sha256=CygO9NU1J2VfEI2SexFGTtaMw3l_4h4BsXDkE1IXM-o,37086
79
- pulumi_digitalocean/outputs.py,sha256=4wwJga6FGWD__KnhcsCFb07QfA1hkxyM849L_NMXXi4,709304
80
+ pulumi_digitalocean/outputs.py,sha256=viV7d-Q7NSQbiNkHn08Y9-XeLAHuvIOhvKmGYqbrwzI,712595
80
81
  pulumi_digitalocean/project.py,sha256=jZWmhLSY2UMUHVuq9CYBaERJos26o_6j0TO56sPNYkg,24622
81
82
  pulumi_digitalocean/project_resources.py,sha256=AYkWlrmdHpwHU2ejGeKIUVxu371J77JcFzdyJ4zeuy8,10445
82
83
  pulumi_digitalocean/provider.py,sha256=_s9QkDZle1wCa634xdXzAXN2mJZr4kvb1b-pp1CqHOc,14633
83
- pulumi_digitalocean/pulumi-plugin.json,sha256=zxB6my4uR08pGrO7cuQJ0_HNOiTe3w-t5ds6diXztbk,72
84
+ pulumi_digitalocean/pulumi-plugin.json,sha256=TekrzGKWc4FNHdtnmG2YvJqQJFRV5H9bg5p86TnIu4A,72
84
85
  pulumi_digitalocean/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
86
  pulumi_digitalocean/reserved_ip.py,sha256=oPOxhrFp7nqKLv-vG6rpi5az-3P-4vlGAoh9XDQywOc,12833
86
87
  pulumi_digitalocean/reserved_ip_assignment.py,sha256=wetSmcYFaI122KO-wDixcJgDP_WG-OF3CW4QYGzK8V8,10357
@@ -90,6 +91,7 @@ pulumi_digitalocean/spaces_bucket.py,sha256=gkFES_GlPmyMG3s3coYqEMyZ77F257628D_h
90
91
  pulumi_digitalocean/spaces_bucket_cors_configuration.py,sha256=wN3BA4-AwhuJiFpdbkV9u0lHyyVIenhlWlYcL1GD1Z8,13653
91
92
  pulumi_digitalocean/spaces_bucket_object.py,sha256=hvkHqJTEo4sVX0jhqxrGvQXRnYs9fLE0w62CgO2cTqE,53012
92
93
  pulumi_digitalocean/spaces_bucket_policy.py,sha256=pmZi3F7ODDO77d8m-6m8ytjXZ1jR8B6PARLLbWehoQw,12501
94
+ pulumi_digitalocean/spaces_key.py,sha256=TvM9lV7a462HtxYMfFIpyVBPo9M1EQTxXNV9VpQOYvg,14567
93
95
  pulumi_digitalocean/ssh_key.py,sha256=zx3syx0rfO2E-iSiQcOkUTGk_0thnggfu1iuIa5KmP0,10877
94
96
  pulumi_digitalocean/tag.py,sha256=_3p4Hz3rL9EKlKkO-E_Fw7zZ7EHp4HOZ47gMY2QCr2o,14628
95
97
  pulumi_digitalocean/uptime_alert.py,sha256=5uxzJFseuINaQHyDByxLsZkvABMKABwqwK-H6ynEkhI,20865
@@ -102,7 +104,7 @@ pulumi_digitalocean/vpc_peering.py,sha256=PaVzwhbdORafLdMiYyb66ZuuMUgCq5popHO10Q
102
104
  pulumi_digitalocean/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
103
105
  pulumi_digitalocean/config/__init__.pyi,sha256=Ldryf5hmAV_RpYiaKYb8T8MwEqFG-77lHmOOLbJlXR8,1318
104
106
  pulumi_digitalocean/config/vars.py,sha256=rTFGUSJ8ymj00a7GZTGgWBk4OoyMW05038qmLb3tMho,2506
105
- pulumi_digitalocean-4.40.2.dist-info/METADATA,sha256=N44yZAg0Mb1j1WFgdMVGFnITJk9NGj4_CS58xv3lF6Y,3838
106
- pulumi_digitalocean-4.40.2.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
107
- pulumi_digitalocean-4.40.2.dist-info/top_level.txt,sha256=XKSLMAXl7fDVTPZg8SJT7Hf8IqOk5hUr_uZtGCtKg8w,20
108
- pulumi_digitalocean-4.40.2.dist-info/RECORD,,
107
+ pulumi_digitalocean-4.41.0.dist-info/METADATA,sha256=pS6WQ3ayV9sxrJ46cEgnwoUz578IyTrGfXi3961vFoI,3838
108
+ pulumi_digitalocean-4.41.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
109
+ pulumi_digitalocean-4.41.0.dist-info/top_level.txt,sha256=XKSLMAXl7fDVTPZg8SJT7Hf8IqOk5hUr_uZtGCtKg8w,20
110
+ pulumi_digitalocean-4.41.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.1.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5