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.
- pulumi_digitalocean/__init__.py +10 -0
- pulumi_digitalocean/_inputs.py +127 -0
- pulumi_digitalocean/get_kubernetes_cluster.py +16 -1
- pulumi_digitalocean/get_spaces_key.py +157 -0
- pulumi_digitalocean/kubernetes_cluster.py +47 -14
- pulumi_digitalocean/outputs.py +104 -0
- pulumi_digitalocean/pulumi-plugin.json +1 -1
- pulumi_digitalocean/spaces_key.py +387 -0
- {pulumi_digitalocean-4.40.2.dist-info → pulumi_digitalocean-4.41.0.dist-info}/METADATA +2 -2
- {pulumi_digitalocean-4.40.2.dist-info → pulumi_digitalocean-4.41.0.dist-info}/RECORD +12 -10
- {pulumi_digitalocean-4.40.2.dist-info → pulumi_digitalocean-4.41.0.dist-info}/WHEEL +1 -1
- {pulumi_digitalocean-4.40.2.dist-info → pulumi_digitalocean-4.41.0.dist-info}/top_level.txt +0 -0
pulumi_digitalocean/__init__.py
CHANGED
|
@@ -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",
|
pulumi_digitalocean/_inputs.py
CHANGED
|
@@ -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]:
|
pulumi_digitalocean/outputs.py
CHANGED
|
@@ -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__, *,
|
|
@@ -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
|
-
pulumi_digitalocean/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
106
|
-
pulumi_digitalocean-4.
|
|
107
|
-
pulumi_digitalocean-4.
|
|
108
|
-
pulumi_digitalocean-4.
|
|
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,,
|
|
File without changes
|