pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__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.
Files changed (154) hide show
  1. pulumi_digitalocean/__init__.py +224 -1
  2. pulumi_digitalocean/_enums.py +19 -9
  3. pulumi_digitalocean/_inputs.py +17037 -4771
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +238 -88
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +106 -105
  8. pulumi_digitalocean/certificate.py +139 -138
  9. pulumi_digitalocean/config/__init__.py +2 -1
  10. pulumi_digitalocean/config/__init__.pyi +2 -2
  11. pulumi_digitalocean/config/vars.py +11 -11
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +90 -89
  14. pulumi_digitalocean/container_registry_docker_credentials.py +84 -83
  15. pulumi_digitalocean/custom_image.py +180 -179
  16. pulumi_digitalocean/database_cluster.py +402 -373
  17. pulumi_digitalocean/database_connection_pool.py +159 -158
  18. pulumi_digitalocean/database_db.py +37 -36
  19. pulumi_digitalocean/database_firewall.py +23 -22
  20. pulumi_digitalocean/database_kafka_config.py +309 -308
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +83 -82
  23. pulumi_digitalocean/database_logsink_opensearch.py +680 -0
  24. pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
  25. pulumi_digitalocean/database_mongodb_config.py +105 -104
  26. pulumi_digitalocean/database_mysql_config.py +479 -478
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +666 -665
  29. pulumi_digitalocean/database_postgresql_config.py +859 -858
  30. pulumi_digitalocean/database_redis_config.py +211 -206
  31. pulumi_digitalocean/database_replica.py +199 -198
  32. pulumi_digitalocean/database_user.py +93 -92
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +184 -183
  35. pulumi_digitalocean/domain.py +55 -54
  36. pulumi_digitalocean/droplet.py +403 -402
  37. pulumi_digitalocean/droplet_autoscale.py +55 -54
  38. pulumi_digitalocean/droplet_snapshot.py +73 -72
  39. pulumi_digitalocean/firewall.py +80 -79
  40. pulumi_digitalocean/floating_ip.py +63 -62
  41. pulumi_digitalocean/floating_ip_assignment.py +37 -36
  42. pulumi_digitalocean/genai_agent.py +1903 -0
  43. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  44. pulumi_digitalocean/genai_agent_route.py +354 -0
  45. pulumi_digitalocean/genai_function.py +464 -0
  46. pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
  47. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  48. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  49. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  50. pulumi_digitalocean/get_account.py +18 -18
  51. pulumi_digitalocean/get_app.py +28 -28
  52. pulumi_digitalocean/get_byoip_prefix.py +214 -0
  53. pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
  54. pulumi_digitalocean/get_certificate.py +22 -22
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -22
  57. pulumi_digitalocean/get_database_ca.py +12 -12
  58. pulumi_digitalocean/get_database_cluster.py +76 -62
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -36
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -46
  62. pulumi_digitalocean/get_database_user.py +27 -27
  63. pulumi_digitalocean/get_domain.py +16 -16
  64. pulumi_digitalocean/get_domains.py +7 -7
  65. pulumi_digitalocean/get_droplet.py +72 -72
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -23
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -38
  68. pulumi_digitalocean/get_droplets.py +13 -13
  69. pulumi_digitalocean/get_firewall.py +31 -31
  70. pulumi_digitalocean/get_floating_ip.py +16 -16
  71. pulumi_digitalocean/get_genai_agent.py +572 -0
  72. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  73. pulumi_digitalocean/get_genai_agents.py +128 -0
  74. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  75. pulumi_digitalocean/get_genai_indexing_job.py +239 -0
  76. pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
  77. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  78. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  79. pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
  80. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  81. pulumi_digitalocean/get_genai_models.py +113 -0
  82. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  83. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  84. pulumi_digitalocean/get_genai_regions.py +113 -0
  85. pulumi_digitalocean/get_image.py +50 -50
  86. pulumi_digitalocean/get_images.py +7 -7
  87. pulumi_digitalocean/get_kubernetes_cluster.py +144 -53
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -14
  89. pulumi_digitalocean/get_load_balancer.py +70 -59
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +206 -0
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -32
  95. pulumi_digitalocean/get_projects.py +7 -7
  96. pulumi_digitalocean/get_record.py +32 -32
  97. pulumi_digitalocean/get_records.py +13 -13
  98. pulumi_digitalocean/get_region.py +18 -18
  99. pulumi_digitalocean/get_regions.py +7 -7
  100. pulumi_digitalocean/get_reserved_ip.py +16 -16
  101. pulumi_digitalocean/get_reserved_ipv6.py +51 -16
  102. pulumi_digitalocean/get_sizes.py +141 -7
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -22
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -58
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -46
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -7
  107. pulumi_digitalocean/get_spaces_key.py +157 -0
  108. pulumi_digitalocean/get_ssh_key.py +14 -14
  109. pulumi_digitalocean/get_ssh_keys.py +7 -7
  110. pulumi_digitalocean/get_tag.py +22 -22
  111. pulumi_digitalocean/get_tags.py +7 -7
  112. pulumi_digitalocean/get_volume.py +34 -34
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -40
  114. pulumi_digitalocean/get_vpc.py +30 -30
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -24
  117. pulumi_digitalocean/kubernetes_cluster.py +572 -303
  118. pulumi_digitalocean/kubernetes_node_pool.py +170 -169
  119. pulumi_digitalocean/load_balancer.py +406 -372
  120. pulumi_digitalocean/monitor_alert.py +153 -156
  121. pulumi_digitalocean/nfs.py +481 -0
  122. pulumi_digitalocean/nfs_attachment.py +289 -0
  123. pulumi_digitalocean/nfs_snapshot.py +379 -0
  124. pulumi_digitalocean/outputs.py +26759 -7592
  125. pulumi_digitalocean/partner_attachment.py +555 -0
  126. pulumi_digitalocean/project.py +141 -140
  127. pulumi_digitalocean/project_resources.py +37 -36
  128. pulumi_digitalocean/provider.py +105 -84
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +63 -62
  131. pulumi_digitalocean/reserved_ip_assignment.py +37 -36
  132. pulumi_digitalocean/reserved_ipv6.py +122 -62
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +81 -30
  134. pulumi_digitalocean/spaces_bucket.py +107 -106
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +40 -39
  136. pulumi_digitalocean/spaces_bucket_logging.py +346 -0
  137. pulumi_digitalocean/spaces_bucket_object.py +284 -283
  138. pulumi_digitalocean/spaces_bucket_policy.py +54 -53
  139. pulumi_digitalocean/spaces_key.py +388 -0
  140. pulumi_digitalocean/ssh_key.py +46 -45
  141. pulumi_digitalocean/tag.py +74 -73
  142. pulumi_digitalocean/uptime_alert.py +112 -111
  143. pulumi_digitalocean/uptime_check.py +90 -89
  144. pulumi_digitalocean/volume.py +183 -182
  145. pulumi_digitalocean/volume_attachment.py +37 -36
  146. pulumi_digitalocean/volume_snapshot.py +90 -89
  147. pulumi_digitalocean/vpc.py +100 -99
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +55 -58
  150. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +4 -4
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.40.0a1739511652.dist-info/RECORD +0 -108
  154. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -52,65 +52,65 @@ class GetAccountResult:
52
52
  raise TypeError("Expected argument 'uuid' to be a str")
53
53
  pulumi.set(__self__, "uuid", uuid)
54
54
 
55
- @property
55
+ @_builtins.property
56
56
  @pulumi.getter(name="dropletLimit")
57
- def droplet_limit(self) -> int:
57
+ def droplet_limit(self) -> _builtins.int:
58
58
  """
59
59
  The total number of droplets current user or team may have active at one time.
60
60
  """
61
61
  return pulumi.get(self, "droplet_limit")
62
62
 
63
- @property
63
+ @_builtins.property
64
64
  @pulumi.getter
65
- def email(self) -> str:
65
+ def email(self) -> _builtins.str:
66
66
  """
67
67
  The email address used by the current user to register for DigitalOcean.
68
68
  """
69
69
  return pulumi.get(self, "email")
70
70
 
71
- @property
71
+ @_builtins.property
72
72
  @pulumi.getter(name="emailVerified")
73
- def email_verified(self) -> bool:
73
+ def email_verified(self) -> _builtins.bool:
74
74
  """
75
75
  If true, the user has verified their account via email. False otherwise.
76
76
  """
77
77
  return pulumi.get(self, "email_verified")
78
78
 
79
- @property
79
+ @_builtins.property
80
80
  @pulumi.getter(name="floatingIpLimit")
81
- def floating_ip_limit(self) -> int:
81
+ def floating_ip_limit(self) -> _builtins.int:
82
82
  """
83
83
  The total number of floating IPs the current user or team may have.
84
84
  """
85
85
  return pulumi.get(self, "floating_ip_limit")
86
86
 
87
- @property
87
+ @_builtins.property
88
88
  @pulumi.getter
89
- def id(self) -> str:
89
+ def id(self) -> _builtins.str:
90
90
  """
91
91
  The provider-assigned unique ID for this managed resource.
92
92
  """
93
93
  return pulumi.get(self, "id")
94
94
 
95
- @property
95
+ @_builtins.property
96
96
  @pulumi.getter
97
- def status(self) -> str:
97
+ def status(self) -> _builtins.str:
98
98
  """
99
99
  This value is one of "active", "warning" or "locked".
100
100
  """
101
101
  return pulumi.get(self, "status")
102
102
 
103
- @property
103
+ @_builtins.property
104
104
  @pulumi.getter(name="statusMessage")
105
- def status_message(self) -> str:
105
+ def status_message(self) -> _builtins.str:
106
106
  """
107
107
  A human-readable message giving more details about the status of the account.
108
108
  """
109
109
  return pulumi.get(self, "status_message")
110
110
 
111
- @property
111
+ @_builtins.property
112
112
  @pulumi.getter
113
- def uuid(self) -> str:
113
+ def uuid(self) -> _builtins.str:
114
114
  """
115
115
  The unique universal identifier for the current user.
116
116
  """
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -66,28 +66,28 @@ class GetAppResult:
66
66
  raise TypeError("Expected argument 'urn' to be a str")
67
67
  pulumi.set(__self__, "urn", urn)
68
68
 
69
- @property
69
+ @_builtins.property
70
70
  @pulumi.getter(name="activeDeploymentId")
71
- def active_deployment_id(self) -> str:
71
+ def active_deployment_id(self) -> _builtins.str:
72
72
  """
73
73
  The ID the app's currently active deployment.
74
74
  """
75
75
  return pulumi.get(self, "active_deployment_id")
76
76
 
77
- @property
77
+ @_builtins.property
78
78
  @pulumi.getter(name="appId")
79
- def app_id(self) -> str:
79
+ def app_id(self) -> _builtins.str:
80
80
  return pulumi.get(self, "app_id")
81
81
 
82
- @property
82
+ @_builtins.property
83
83
  @pulumi.getter(name="createdAt")
84
- def created_at(self) -> str:
84
+ def created_at(self) -> _builtins.str:
85
85
  """
86
86
  The date and time of when the app was created.
87
87
  """
88
88
  return pulumi.get(self, "created_at")
89
89
 
90
- @property
90
+ @_builtins.property
91
91
  @pulumi.getter(name="dedicatedIps")
92
92
  def dedicated_ips(self) -> Sequence['outputs.GetAppDedicatedIpResult']:
93
93
  """
@@ -95,47 +95,47 @@ class GetAppResult:
95
95
  """
96
96
  return pulumi.get(self, "dedicated_ips")
97
97
 
98
- @property
98
+ @_builtins.property
99
99
  @pulumi.getter(name="defaultIngress")
100
- def default_ingress(self) -> str:
100
+ def default_ingress(self) -> _builtins.str:
101
101
  """
102
102
  The default URL to access the app.
103
103
  """
104
104
  return pulumi.get(self, "default_ingress")
105
105
 
106
- @property
106
+ @_builtins.property
107
107
  @pulumi.getter
108
- def id(self) -> str:
108
+ def id(self) -> _builtins.str:
109
109
  """
110
110
  The provider-assigned unique ID for this managed resource.
111
111
  """
112
112
  return pulumi.get(self, "id")
113
113
 
114
- @property
114
+ @_builtins.property
115
115
  @pulumi.getter(name="liveDomain")
116
- def live_domain(self) -> str:
116
+ def live_domain(self) -> _builtins.str:
117
117
  """
118
118
  The live domain of the app.
119
119
  """
120
120
  return pulumi.get(self, "live_domain")
121
121
 
122
- @property
122
+ @_builtins.property
123
123
  @pulumi.getter(name="liveUrl")
124
- def live_url(self) -> str:
124
+ def live_url(self) -> _builtins.str:
125
125
  """
126
126
  The live URL of the app.
127
127
  """
128
128
  return pulumi.get(self, "live_url")
129
129
 
130
- @property
130
+ @_builtins.property
131
131
  @pulumi.getter(name="projectId")
132
- def project_id(self) -> str:
132
+ def project_id(self) -> _builtins.str:
133
133
  """
134
134
  The ID of the project that the app is assigned to.
135
135
  """
136
136
  return pulumi.get(self, "project_id")
137
137
 
138
- @property
138
+ @_builtins.property
139
139
  @pulumi.getter
140
140
  def specs(self) -> Sequence['outputs.GetAppSpecResult']:
141
141
  """
@@ -143,17 +143,17 @@ class GetAppResult:
143
143
  """
144
144
  return pulumi.get(self, "specs")
145
145
 
146
- @property
146
+ @_builtins.property
147
147
  @pulumi.getter(name="updatedAt")
148
- def updated_at(self) -> str:
148
+ def updated_at(self) -> _builtins.str:
149
149
  """
150
150
  The date and time of when the app was last updated.
151
151
  """
152
152
  return pulumi.get(self, "updated_at")
153
153
 
154
- @property
154
+ @_builtins.property
155
155
  @pulumi.getter
156
- def urn(self) -> str:
156
+ def urn(self) -> _builtins.str:
157
157
  """
158
158
  The uniform resource identifier for the app.
159
159
  """
@@ -180,7 +180,7 @@ class AwaitableGetAppResult(GetAppResult):
180
180
  urn=self.urn)
181
181
 
182
182
 
183
- def get_app(app_id: Optional[str] = None,
183
+ def get_app(app_id: Optional[_builtins.str] = None,
184
184
  dedicated_ips: Optional[Sequence[Union['GetAppDedicatedIpArgs', 'GetAppDedicatedIpArgsDict']]] = None,
185
185
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAppResult:
186
186
  """
@@ -199,7 +199,7 @@ def get_app(app_id: Optional[str] = None,
199
199
  ```
200
200
 
201
201
 
202
- :param str app_id: The ID of the app to retrieve information about.
202
+ :param _builtins.str app_id: The ID of the app to retrieve information about.
203
203
  :param Sequence[Union['GetAppDedicatedIpArgs', 'GetAppDedicatedIpArgsDict']] dedicated_ips: A list of dedicated egress IP addresses associated with the app.
204
204
  """
205
205
  __args__ = dict()
@@ -221,7 +221,7 @@ def get_app(app_id: Optional[str] = None,
221
221
  specs=pulumi.get(__ret__, 'specs'),
222
222
  updated_at=pulumi.get(__ret__, 'updated_at'),
223
223
  urn=pulumi.get(__ret__, 'urn'))
224
- def get_app_output(app_id: Optional[pulumi.Input[str]] = None,
224
+ def get_app_output(app_id: Optional[pulumi.Input[_builtins.str]] = None,
225
225
  dedicated_ips: Optional[pulumi.Input[Optional[Sequence[Union['GetAppDedicatedIpArgs', 'GetAppDedicatedIpArgsDict']]]]] = None,
226
226
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAppResult]:
227
227
  """
@@ -240,7 +240,7 @@ def get_app_output(app_id: Optional[pulumi.Input[str]] = None,
240
240
  ```
241
241
 
242
242
 
243
- :param str app_id: The ID of the app to retrieve information about.
243
+ :param _builtins.str app_id: The ID of the app to retrieve information about.
244
244
  :param Sequence[Union['GetAppDedicatedIpArgs', 'GetAppDedicatedIpArgsDict']] dedicated_ips: A list of dedicated egress IP addresses associated with the app.
245
245
  """
246
246
  __args__ = dict()
@@ -0,0 +1,214 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetByoipPrefixResult',
19
+ 'AwaitableGetByoipPrefixResult',
20
+ 'get_byoip_prefix',
21
+ 'get_byoip_prefix_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetByoipPrefixResult:
26
+ """
27
+ A collection of values returned by getByoipPrefix.
28
+ """
29
+ def __init__(__self__, advertised=None, failure_reason=None, id=None, prefix=None, region=None, status=None, uuid=None):
30
+ if advertised and not isinstance(advertised, bool):
31
+ raise TypeError("Expected argument 'advertised' to be a bool")
32
+ pulumi.set(__self__, "advertised", advertised)
33
+ if failure_reason and not isinstance(failure_reason, str):
34
+ raise TypeError("Expected argument 'failure_reason' to be a str")
35
+ pulumi.set(__self__, "failure_reason", failure_reason)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
39
+ if prefix and not isinstance(prefix, str):
40
+ raise TypeError("Expected argument 'prefix' to be a str")
41
+ pulumi.set(__self__, "prefix", prefix)
42
+ if region and not isinstance(region, str):
43
+ raise TypeError("Expected argument 'region' to be a str")
44
+ pulumi.set(__self__, "region", region)
45
+ if status and not isinstance(status, str):
46
+ raise TypeError("Expected argument 'status' to be a str")
47
+ pulumi.set(__self__, "status", status)
48
+ if uuid and not isinstance(uuid, str):
49
+ raise TypeError("Expected argument 'uuid' to be a str")
50
+ pulumi.set(__self__, "uuid", uuid)
51
+
52
+ @_builtins.property
53
+ @pulumi.getter
54
+ def advertised(self) -> _builtins.bool:
55
+ """
56
+ A boolean indicating whether the prefix is currently being advertised.
57
+ """
58
+ return pulumi.get(self, "advertised")
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="failureReason")
62
+ def failure_reason(self) -> _builtins.str:
63
+ """
64
+ The reason for failure if the status is "failed".
65
+ """
66
+ return pulumi.get(self, "failure_reason")
67
+
68
+ @_builtins.property
69
+ @pulumi.getter
70
+ def id(self) -> _builtins.str:
71
+ """
72
+ The provider-assigned unique ID for this managed resource.
73
+ """
74
+ return pulumi.get(self, "id")
75
+
76
+ @_builtins.property
77
+ @pulumi.getter
78
+ def prefix(self) -> _builtins.str:
79
+ """
80
+ The CIDR notation of the prefix (e.g., "192.0.2.0/24").
81
+ """
82
+ return pulumi.get(self, "prefix")
83
+
84
+ @_builtins.property
85
+ @pulumi.getter
86
+ def region(self) -> _builtins.str:
87
+ """
88
+ The DigitalOcean region where the prefix is deployed.
89
+ """
90
+ return pulumi.get(self, "region")
91
+
92
+ @_builtins.property
93
+ @pulumi.getter
94
+ def status(self) -> _builtins.str:
95
+ """
96
+ The current status of the BYOIP prefix (e.g., "verified", "pending", "failed").
97
+ """
98
+ return pulumi.get(self, "status")
99
+
100
+ @_builtins.property
101
+ @pulumi.getter
102
+ def uuid(self) -> _builtins.str:
103
+ """
104
+ The UUID of the BYOIP prefix.
105
+ """
106
+ return pulumi.get(self, "uuid")
107
+
108
+
109
+ class AwaitableGetByoipPrefixResult(GetByoipPrefixResult):
110
+ # pylint: disable=using-constant-test
111
+ def __await__(self):
112
+ if False:
113
+ yield self
114
+ return GetByoipPrefixResult(
115
+ advertised=self.advertised,
116
+ failure_reason=self.failure_reason,
117
+ id=self.id,
118
+ prefix=self.prefix,
119
+ region=self.region,
120
+ status=self.status,
121
+ uuid=self.uuid)
122
+
123
+
124
+ def get_byoip_prefix(uuid: Optional[_builtins.str] = None,
125
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetByoipPrefixResult:
126
+ """
127
+ ## Example Usage
128
+
129
+ Get the BYOIP prefix:
130
+
131
+ ```python
132
+ import pulumi
133
+ import pulumi_digitalocean as digitalocean
134
+
135
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
136
+ ```
137
+
138
+ List assigned IP addresses from a BYOIP prefix:
139
+
140
+ ```python
141
+ import pulumi
142
+ import pulumi_digitalocean as digitalocean
143
+
144
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
145
+ example_get_byoip_prefix_resources = digitalocean.get_byoip_prefix_resources(byoip_prefix_uuid=example.uuid)
146
+ pulumi.export("byoipInfo", {
147
+ "prefix": example.prefix,
148
+ "region": example.region,
149
+ "status": example.status,
150
+ "assignedCount": len(example_get_byoip_prefix_resources.addresses),
151
+ })
152
+ ```
153
+
154
+
155
+ :param _builtins.str uuid: The UUID of the BYOIP prefix.
156
+ """
157
+ __args__ = dict()
158
+ __args__['uuid'] = uuid
159
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
160
+ __ret__ = pulumi.runtime.invoke('digitalocean:index/getByoipPrefix:getByoipPrefix', __args__, opts=opts, typ=GetByoipPrefixResult).value
161
+
162
+ return AwaitableGetByoipPrefixResult(
163
+ advertised=pulumi.get(__ret__, 'advertised'),
164
+ failure_reason=pulumi.get(__ret__, 'failure_reason'),
165
+ id=pulumi.get(__ret__, 'id'),
166
+ prefix=pulumi.get(__ret__, 'prefix'),
167
+ region=pulumi.get(__ret__, 'region'),
168
+ status=pulumi.get(__ret__, 'status'),
169
+ uuid=pulumi.get(__ret__, 'uuid'))
170
+ def get_byoip_prefix_output(uuid: Optional[pulumi.Input[_builtins.str]] = None,
171
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetByoipPrefixResult]:
172
+ """
173
+ ## Example Usage
174
+
175
+ Get the BYOIP prefix:
176
+
177
+ ```python
178
+ import pulumi
179
+ import pulumi_digitalocean as digitalocean
180
+
181
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
182
+ ```
183
+
184
+ List assigned IP addresses from a BYOIP prefix:
185
+
186
+ ```python
187
+ import pulumi
188
+ import pulumi_digitalocean as digitalocean
189
+
190
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
191
+ example_get_byoip_prefix_resources = digitalocean.get_byoip_prefix_resources(byoip_prefix_uuid=example.uuid)
192
+ pulumi.export("byoipInfo", {
193
+ "prefix": example.prefix,
194
+ "region": example.region,
195
+ "status": example.status,
196
+ "assignedCount": len(example_get_byoip_prefix_resources.addresses),
197
+ })
198
+ ```
199
+
200
+
201
+ :param _builtins.str uuid: The UUID of the BYOIP prefix.
202
+ """
203
+ __args__ = dict()
204
+ __args__['uuid'] = uuid
205
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
206
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getByoipPrefix:getByoipPrefix', __args__, opts=opts, typ=GetByoipPrefixResult)
207
+ return __ret__.apply(lambda __response__: GetByoipPrefixResult(
208
+ advertised=pulumi.get(__response__, 'advertised'),
209
+ failure_reason=pulumi.get(__response__, 'failure_reason'),
210
+ id=pulumi.get(__response__, 'id'),
211
+ prefix=pulumi.get(__response__, 'prefix'),
212
+ region=pulumi.get(__response__, 'region'),
213
+ status=pulumi.get(__response__, 'status'),
214
+ uuid=pulumi.get(__response__, 'uuid')))
@@ -0,0 +1,150 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetByoipPrefixResourcesResult',
20
+ 'AwaitableGetByoipPrefixResourcesResult',
21
+ 'get_byoip_prefix_resources',
22
+ 'get_byoip_prefix_resources_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetByoipPrefixResourcesResult:
27
+ """
28
+ A collection of values returned by getByoipPrefixResources.
29
+ """
30
+ def __init__(__self__, addresses=None, byoip_prefix_uuid=None, id=None):
31
+ if addresses and not isinstance(addresses, list):
32
+ raise TypeError("Expected argument 'addresses' to be a list")
33
+ pulumi.set(__self__, "addresses", addresses)
34
+ if byoip_prefix_uuid and not isinstance(byoip_prefix_uuid, str):
35
+ raise TypeError("Expected argument 'byoip_prefix_uuid' to be a str")
36
+ pulumi.set(__self__, "byoip_prefix_uuid", byoip_prefix_uuid)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+
41
+ @_builtins.property
42
+ @pulumi.getter
43
+ def addresses(self) -> Sequence['outputs.GetByoipPrefixResourcesAddressResult']:
44
+ """
45
+ A list of IP addresses allocated from the BYOIP prefix. Each address has the following attributes:
46
+ """
47
+ return pulumi.get(self, "addresses")
48
+
49
+ @_builtins.property
50
+ @pulumi.getter(name="byoipPrefixUuid")
51
+ def byoip_prefix_uuid(self) -> _builtins.str:
52
+ return pulumi.get(self, "byoip_prefix_uuid")
53
+
54
+ @_builtins.property
55
+ @pulumi.getter
56
+ def id(self) -> _builtins.str:
57
+ """
58
+ The provider-assigned unique ID for this managed resource.
59
+ """
60
+ return pulumi.get(self, "id")
61
+
62
+
63
+ class AwaitableGetByoipPrefixResourcesResult(GetByoipPrefixResourcesResult):
64
+ # pylint: disable=using-constant-test
65
+ def __await__(self):
66
+ if False:
67
+ yield self
68
+ return GetByoipPrefixResourcesResult(
69
+ addresses=self.addresses,
70
+ byoip_prefix_uuid=self.byoip_prefix_uuid,
71
+ id=self.id)
72
+
73
+
74
+ def get_byoip_prefix_resources(byoip_prefix_uuid: Optional[_builtins.str] = None,
75
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetByoipPrefixResourcesResult:
76
+ """
77
+ Get information about IP addresses that have been **already assigned** from a
78
+ BYOIP (Bring Your Own IP) prefix. This data source provides a list of all IP addresses
79
+ that are currently assigned to resources from a specific BYOIP prefix.
80
+
81
+ **Note:** This data source only lists IPs that are already assigned to resources (like Droplets).
82
+ To allocate new IPs from the BYOIP prefix, you need to use `ReservedIpAssignment` resource.
83
+
84
+ ## Example Usage
85
+
86
+ List all assigned IP addresses from a BYOIP prefix:
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_digitalocean as digitalocean
91
+
92
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
93
+ example_get_byoip_prefix_resources = digitalocean.get_byoip_prefix_resources(byoip_prefix_uuid=example.uuid)
94
+ pulumi.export("assignedByoipIps", [{
95
+ "ip": addr.ip_address,
96
+ "region": addr.region,
97
+ "assigned": addr.assigned_at,
98
+ } for addr in example_get_byoip_prefix_resources.addresses])
99
+ ```
100
+
101
+
102
+ :param _builtins.str byoip_prefix_uuid: The UUID of the BYOIP prefix to list addresses from.
103
+ """
104
+ __args__ = dict()
105
+ __args__['byoipPrefixUuid'] = byoip_prefix_uuid
106
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
107
+ __ret__ = pulumi.runtime.invoke('digitalocean:index/getByoipPrefixResources:getByoipPrefixResources', __args__, opts=opts, typ=GetByoipPrefixResourcesResult).value
108
+
109
+ return AwaitableGetByoipPrefixResourcesResult(
110
+ addresses=pulumi.get(__ret__, 'addresses'),
111
+ byoip_prefix_uuid=pulumi.get(__ret__, 'byoip_prefix_uuid'),
112
+ id=pulumi.get(__ret__, 'id'))
113
+ def get_byoip_prefix_resources_output(byoip_prefix_uuid: Optional[pulumi.Input[_builtins.str]] = None,
114
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetByoipPrefixResourcesResult]:
115
+ """
116
+ Get information about IP addresses that have been **already assigned** from a
117
+ BYOIP (Bring Your Own IP) prefix. This data source provides a list of all IP addresses
118
+ that are currently assigned to resources from a specific BYOIP prefix.
119
+
120
+ **Note:** This data source only lists IPs that are already assigned to resources (like Droplets).
121
+ To allocate new IPs from the BYOIP prefix, you need to use `ReservedIpAssignment` resource.
122
+
123
+ ## Example Usage
124
+
125
+ List all assigned IP addresses from a BYOIP prefix:
126
+
127
+ ```python
128
+ import pulumi
129
+ import pulumi_digitalocean as digitalocean
130
+
131
+ example = digitalocean.get_byoip_prefix(uuid="506f78a4-e098-11e5-ad9f-000f53306ae1")
132
+ example_get_byoip_prefix_resources = digitalocean.get_byoip_prefix_resources(byoip_prefix_uuid=example.uuid)
133
+ pulumi.export("assignedByoipIps", [{
134
+ "ip": addr.ip_address,
135
+ "region": addr.region,
136
+ "assigned": addr.assigned_at,
137
+ } for addr in example_get_byoip_prefix_resources.addresses])
138
+ ```
139
+
140
+
141
+ :param _builtins.str byoip_prefix_uuid: The UUID of the BYOIP prefix to list addresses from.
142
+ """
143
+ __args__ = dict()
144
+ __args__['byoipPrefixUuid'] = byoip_prefix_uuid
145
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
146
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getByoipPrefixResources:getByoipPrefixResources', __args__, opts=opts, typ=GetByoipPrefixResourcesResult)
147
+ return __ret__.apply(lambda __response__: GetByoipPrefixResourcesResult(
148
+ addresses=pulumi.get(__response__, 'addresses'),
149
+ byoip_prefix_uuid=pulumi.get(__response__, 'byoip_prefix_uuid'),
150
+ id=pulumi.get(__response__, 'id')))