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
@@ -0,0 +1,481 @@
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__ = ['NfsArgs', 'Nfs']
18
+
19
+ @pulumi.input_type
20
+ class NfsArgs:
21
+ def __init__(__self__, *,
22
+ region: pulumi.Input[_builtins.str],
23
+ size: pulumi.Input[_builtins.int],
24
+ vpc_id: pulumi.Input[_builtins.str],
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
27
+ """
28
+ The set of arguments for constructing a Nfs resource.
29
+ :param pulumi.Input[_builtins.str] region: The region where the NFS share will be created.
30
+ :param pulumi.Input[_builtins.int] size: The size of the NFS share in GiB. Minimum size is 50 GiB.
31
+ :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC where the NFS share will be created.
32
+ :param pulumi.Input[_builtins.str] name: A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
33
+ """
34
+ pulumi.set(__self__, "region", region)
35
+ pulumi.set(__self__, "size", size)
36
+ pulumi.set(__self__, "vpc_id", vpc_id)
37
+ if name is not None:
38
+ pulumi.set(__self__, "name", name)
39
+ if tags is not None:
40
+ pulumi.set(__self__, "tags", tags)
41
+
42
+ @_builtins.property
43
+ @pulumi.getter
44
+ def region(self) -> pulumi.Input[_builtins.str]:
45
+ """
46
+ The region where the NFS share will be created.
47
+ """
48
+ return pulumi.get(self, "region")
49
+
50
+ @region.setter
51
+ def region(self, value: pulumi.Input[_builtins.str]):
52
+ pulumi.set(self, "region", value)
53
+
54
+ @_builtins.property
55
+ @pulumi.getter
56
+ def size(self) -> pulumi.Input[_builtins.int]:
57
+ """
58
+ The size of the NFS share in GiB. Minimum size is 50 GiB.
59
+ """
60
+ return pulumi.get(self, "size")
61
+
62
+ @size.setter
63
+ def size(self, value: pulumi.Input[_builtins.int]):
64
+ pulumi.set(self, "size", value)
65
+
66
+ @_builtins.property
67
+ @pulumi.getter(name="vpcId")
68
+ def vpc_id(self) -> pulumi.Input[_builtins.str]:
69
+ """
70
+ The ID of the VPC where the NFS share will be created.
71
+ """
72
+ return pulumi.get(self, "vpc_id")
73
+
74
+ @vpc_id.setter
75
+ def vpc_id(self, value: pulumi.Input[_builtins.str]):
76
+ pulumi.set(self, "vpc_id", value)
77
+
78
+ @_builtins.property
79
+ @pulumi.getter
80
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
81
+ """
82
+ A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
83
+ """
84
+ return pulumi.get(self, "name")
85
+
86
+ @name.setter
87
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
88
+ pulumi.set(self, "name", value)
89
+
90
+ @_builtins.property
91
+ @pulumi.getter
92
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
93
+ return pulumi.get(self, "tags")
94
+
95
+ @tags.setter
96
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
97
+ pulumi.set(self, "tags", value)
98
+
99
+
100
+ @pulumi.input_type
101
+ class _NfsState:
102
+ def __init__(__self__, *,
103
+ host: Optional[pulumi.Input[_builtins.str]] = None,
104
+ mount_path: Optional[pulumi.Input[_builtins.str]] = None,
105
+ name: Optional[pulumi.Input[_builtins.str]] = None,
106
+ region: Optional[pulumi.Input[_builtins.str]] = None,
107
+ size: Optional[pulumi.Input[_builtins.int]] = None,
108
+ status: Optional[pulumi.Input[_builtins.str]] = None,
109
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
110
+ vpc_id: Optional[pulumi.Input[_builtins.str]] = None,
111
+ vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
112
+ """
113
+ Input properties used for looking up and filtering Nfs resources.
114
+ :param pulumi.Input[_builtins.str] host: The host IP of the NFS server accessible from the associated VPC.
115
+ :param pulumi.Input[_builtins.str] mount_path: The mount path for accessing the NFS share.
116
+ :param pulumi.Input[_builtins.str] name: A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
117
+ :param pulumi.Input[_builtins.str] region: The region where the NFS share will be created.
118
+ :param pulumi.Input[_builtins.int] size: The size of the NFS share in GiB. Minimum size is 50 GiB.
119
+ :param pulumi.Input[_builtins.str] status: The current status of the NFS share.
120
+ :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC where the NFS share will be created.
121
+ """
122
+ if host is not None:
123
+ pulumi.set(__self__, "host", host)
124
+ if mount_path is not None:
125
+ pulumi.set(__self__, "mount_path", mount_path)
126
+ if name is not None:
127
+ pulumi.set(__self__, "name", name)
128
+ if region is not None:
129
+ pulumi.set(__self__, "region", region)
130
+ if size is not None:
131
+ pulumi.set(__self__, "size", size)
132
+ if status is not None:
133
+ pulumi.set(__self__, "status", status)
134
+ if tags is not None:
135
+ pulumi.set(__self__, "tags", tags)
136
+ if vpc_id is not None:
137
+ pulumi.set(__self__, "vpc_id", vpc_id)
138
+ if vpc_ids is not None:
139
+ pulumi.set(__self__, "vpc_ids", vpc_ids)
140
+
141
+ @_builtins.property
142
+ @pulumi.getter
143
+ def host(self) -> Optional[pulumi.Input[_builtins.str]]:
144
+ """
145
+ The host IP of the NFS server accessible from the associated VPC.
146
+ """
147
+ return pulumi.get(self, "host")
148
+
149
+ @host.setter
150
+ def host(self, value: Optional[pulumi.Input[_builtins.str]]):
151
+ pulumi.set(self, "host", value)
152
+
153
+ @_builtins.property
154
+ @pulumi.getter(name="mountPath")
155
+ def mount_path(self) -> Optional[pulumi.Input[_builtins.str]]:
156
+ """
157
+ The mount path for accessing the NFS share.
158
+ """
159
+ return pulumi.get(self, "mount_path")
160
+
161
+ @mount_path.setter
162
+ def mount_path(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "mount_path", value)
164
+
165
+ @_builtins.property
166
+ @pulumi.getter
167
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
168
+ """
169
+ A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
170
+ """
171
+ return pulumi.get(self, "name")
172
+
173
+ @name.setter
174
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
175
+ pulumi.set(self, "name", value)
176
+
177
+ @_builtins.property
178
+ @pulumi.getter
179
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
180
+ """
181
+ The region where the NFS share will be created.
182
+ """
183
+ return pulumi.get(self, "region")
184
+
185
+ @region.setter
186
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
187
+ pulumi.set(self, "region", value)
188
+
189
+ @_builtins.property
190
+ @pulumi.getter
191
+ def size(self) -> Optional[pulumi.Input[_builtins.int]]:
192
+ """
193
+ The size of the NFS share in GiB. Minimum size is 50 GiB.
194
+ """
195
+ return pulumi.get(self, "size")
196
+
197
+ @size.setter
198
+ def size(self, value: Optional[pulumi.Input[_builtins.int]]):
199
+ pulumi.set(self, "size", value)
200
+
201
+ @_builtins.property
202
+ @pulumi.getter
203
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
204
+ """
205
+ The current status of the NFS share.
206
+ """
207
+ return pulumi.get(self, "status")
208
+
209
+ @status.setter
210
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
211
+ pulumi.set(self, "status", value)
212
+
213
+ @_builtins.property
214
+ @pulumi.getter
215
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
216
+ return pulumi.get(self, "tags")
217
+
218
+ @tags.setter
219
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
220
+ pulumi.set(self, "tags", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter(name="vpcId")
224
+ def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]:
225
+ """
226
+ The ID of the VPC where the NFS share will be created.
227
+ """
228
+ return pulumi.get(self, "vpc_id")
229
+
230
+ @vpc_id.setter
231
+ def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]):
232
+ pulumi.set(self, "vpc_id", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="vpcIds")
236
+ def vpc_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
237
+ return pulumi.get(self, "vpc_ids")
238
+
239
+ @vpc_ids.setter
240
+ def vpc_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
241
+ pulumi.set(self, "vpc_ids", value)
242
+
243
+
244
+ @pulumi.type_token("digitalocean:index/nfs:Nfs")
245
+ class Nfs(pulumi.CustomResource):
246
+ @overload
247
+ def __init__(__self__,
248
+ resource_name: str,
249
+ opts: Optional[pulumi.ResourceOptions] = None,
250
+ name: Optional[pulumi.Input[_builtins.str]] = None,
251
+ region: Optional[pulumi.Input[_builtins.str]] = None,
252
+ size: Optional[pulumi.Input[_builtins.int]] = None,
253
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
254
+ vpc_id: Optional[pulumi.Input[_builtins.str]] = None,
255
+ __props__=None):
256
+ """
257
+ Provides a DigitalOcean NFS share which can be mounted to Droplets to provide shared storage.
258
+
259
+ ## Example Usage
260
+
261
+ ```python
262
+ import pulumi
263
+ import pulumi_digitalocean as digitalocean
264
+
265
+ example = digitalocean.Vpc("example",
266
+ name="example-vpc",
267
+ region="nyc1")
268
+ example_nfs = digitalocean.Nfs("example",
269
+ region="nyc1",
270
+ name="example-nfs",
271
+ size=50,
272
+ vpc_id=example.id)
273
+ ```
274
+
275
+ ## Import
276
+
277
+ NFS shares can be imported using the `share id` and the `region` , e.g.
278
+
279
+ ```sh
280
+ $ pulumi import digitalocean:index/nfs:Nfs foobar 506f78a4-e098-11e5-ad9f-000f53306ae1,atl1
281
+ ```
282
+
283
+ :param str resource_name: The name of the resource.
284
+ :param pulumi.ResourceOptions opts: Options for the resource.
285
+ :param pulumi.Input[_builtins.str] name: A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
286
+ :param pulumi.Input[_builtins.str] region: The region where the NFS share will be created.
287
+ :param pulumi.Input[_builtins.int] size: The size of the NFS share in GiB. Minimum size is 50 GiB.
288
+ :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC where the NFS share will be created.
289
+ """
290
+ ...
291
+ @overload
292
+ def __init__(__self__,
293
+ resource_name: str,
294
+ args: NfsArgs,
295
+ opts: Optional[pulumi.ResourceOptions] = None):
296
+ """
297
+ Provides a DigitalOcean NFS share which can be mounted to Droplets to provide shared storage.
298
+
299
+ ## Example Usage
300
+
301
+ ```python
302
+ import pulumi
303
+ import pulumi_digitalocean as digitalocean
304
+
305
+ example = digitalocean.Vpc("example",
306
+ name="example-vpc",
307
+ region="nyc1")
308
+ example_nfs = digitalocean.Nfs("example",
309
+ region="nyc1",
310
+ name="example-nfs",
311
+ size=50,
312
+ vpc_id=example.id)
313
+ ```
314
+
315
+ ## Import
316
+
317
+ NFS shares can be imported using the `share id` and the `region` , e.g.
318
+
319
+ ```sh
320
+ $ pulumi import digitalocean:index/nfs:Nfs foobar 506f78a4-e098-11e5-ad9f-000f53306ae1,atl1
321
+ ```
322
+
323
+ :param str resource_name: The name of the resource.
324
+ :param NfsArgs args: The arguments to use to populate this resource's properties.
325
+ :param pulumi.ResourceOptions opts: Options for the resource.
326
+ """
327
+ ...
328
+ def __init__(__self__, resource_name: str, *args, **kwargs):
329
+ resource_args, opts = _utilities.get_resource_args_opts(NfsArgs, pulumi.ResourceOptions, *args, **kwargs)
330
+ if resource_args is not None:
331
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
332
+ else:
333
+ __self__._internal_init(resource_name, *args, **kwargs)
334
+
335
+ def _internal_init(__self__,
336
+ resource_name: str,
337
+ opts: Optional[pulumi.ResourceOptions] = None,
338
+ name: Optional[pulumi.Input[_builtins.str]] = None,
339
+ region: Optional[pulumi.Input[_builtins.str]] = None,
340
+ size: Optional[pulumi.Input[_builtins.int]] = None,
341
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
342
+ vpc_id: Optional[pulumi.Input[_builtins.str]] = None,
343
+ __props__=None):
344
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
345
+ if not isinstance(opts, pulumi.ResourceOptions):
346
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
347
+ if opts.id is None:
348
+ if __props__ is not None:
349
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
350
+ __props__ = NfsArgs.__new__(NfsArgs)
351
+
352
+ __props__.__dict__["name"] = name
353
+ if region is None and not opts.urn:
354
+ raise TypeError("Missing required property 'region'")
355
+ __props__.__dict__["region"] = region
356
+ if size is None and not opts.urn:
357
+ raise TypeError("Missing required property 'size'")
358
+ __props__.__dict__["size"] = size
359
+ __props__.__dict__["tags"] = tags
360
+ if vpc_id is None and not opts.urn:
361
+ raise TypeError("Missing required property 'vpc_id'")
362
+ __props__.__dict__["vpc_id"] = vpc_id
363
+ __props__.__dict__["host"] = None
364
+ __props__.__dict__["mount_path"] = None
365
+ __props__.__dict__["status"] = None
366
+ __props__.__dict__["vpc_ids"] = None
367
+ super(Nfs, __self__).__init__(
368
+ 'digitalocean:index/nfs:Nfs',
369
+ resource_name,
370
+ __props__,
371
+ opts)
372
+
373
+ @staticmethod
374
+ def get(resource_name: str,
375
+ id: pulumi.Input[str],
376
+ opts: Optional[pulumi.ResourceOptions] = None,
377
+ host: Optional[pulumi.Input[_builtins.str]] = None,
378
+ mount_path: Optional[pulumi.Input[_builtins.str]] = None,
379
+ name: Optional[pulumi.Input[_builtins.str]] = None,
380
+ region: Optional[pulumi.Input[_builtins.str]] = None,
381
+ size: Optional[pulumi.Input[_builtins.int]] = None,
382
+ status: Optional[pulumi.Input[_builtins.str]] = None,
383
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
384
+ vpc_id: Optional[pulumi.Input[_builtins.str]] = None,
385
+ vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Nfs':
386
+ """
387
+ Get an existing Nfs resource's state with the given name, id, and optional extra
388
+ properties used to qualify the lookup.
389
+
390
+ :param str resource_name: The unique name of the resulting resource.
391
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
392
+ :param pulumi.ResourceOptions opts: Options for the resource.
393
+ :param pulumi.Input[_builtins.str] host: The host IP of the NFS server accessible from the associated VPC.
394
+ :param pulumi.Input[_builtins.str] mount_path: The mount path for accessing the NFS share.
395
+ :param pulumi.Input[_builtins.str] name: A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
396
+ :param pulumi.Input[_builtins.str] region: The region where the NFS share will be created.
397
+ :param pulumi.Input[_builtins.int] size: The size of the NFS share in GiB. Minimum size is 50 GiB.
398
+ :param pulumi.Input[_builtins.str] status: The current status of the NFS share.
399
+ :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC where the NFS share will be created.
400
+ """
401
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
402
+
403
+ __props__ = _NfsState.__new__(_NfsState)
404
+
405
+ __props__.__dict__["host"] = host
406
+ __props__.__dict__["mount_path"] = mount_path
407
+ __props__.__dict__["name"] = name
408
+ __props__.__dict__["region"] = region
409
+ __props__.__dict__["size"] = size
410
+ __props__.__dict__["status"] = status
411
+ __props__.__dict__["tags"] = tags
412
+ __props__.__dict__["vpc_id"] = vpc_id
413
+ __props__.__dict__["vpc_ids"] = vpc_ids
414
+ return Nfs(resource_name, opts=opts, __props__=__props__)
415
+
416
+ @_builtins.property
417
+ @pulumi.getter
418
+ def host(self) -> pulumi.Output[_builtins.str]:
419
+ """
420
+ The host IP of the NFS server accessible from the associated VPC.
421
+ """
422
+ return pulumi.get(self, "host")
423
+
424
+ @_builtins.property
425
+ @pulumi.getter(name="mountPath")
426
+ def mount_path(self) -> pulumi.Output[_builtins.str]:
427
+ """
428
+ The mount path for accessing the NFS share.
429
+ """
430
+ return pulumi.get(self, "mount_path")
431
+
432
+ @_builtins.property
433
+ @pulumi.getter
434
+ def name(self) -> pulumi.Output[_builtins.str]:
435
+ """
436
+ A name for the NFS share. Must be lowercase and composed only of numbers, letters, and "-", up to a limit of 64 characters. The name must begin with a letter.
437
+ """
438
+ return pulumi.get(self, "name")
439
+
440
+ @_builtins.property
441
+ @pulumi.getter
442
+ def region(self) -> pulumi.Output[_builtins.str]:
443
+ """
444
+ The region where the NFS share will be created.
445
+ """
446
+ return pulumi.get(self, "region")
447
+
448
+ @_builtins.property
449
+ @pulumi.getter
450
+ def size(self) -> pulumi.Output[_builtins.int]:
451
+ """
452
+ The size of the NFS share in GiB. Minimum size is 50 GiB.
453
+ """
454
+ return pulumi.get(self, "size")
455
+
456
+ @_builtins.property
457
+ @pulumi.getter
458
+ def status(self) -> pulumi.Output[_builtins.str]:
459
+ """
460
+ The current status of the NFS share.
461
+ """
462
+ return pulumi.get(self, "status")
463
+
464
+ @_builtins.property
465
+ @pulumi.getter
466
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
467
+ return pulumi.get(self, "tags")
468
+
469
+ @_builtins.property
470
+ @pulumi.getter(name="vpcId")
471
+ def vpc_id(self) -> pulumi.Output[_builtins.str]:
472
+ """
473
+ The ID of the VPC where the NFS share will be created.
474
+ """
475
+ return pulumi.get(self, "vpc_id")
476
+
477
+ @_builtins.property
478
+ @pulumi.getter(name="vpcIds")
479
+ def vpc_ids(self) -> pulumi.Output[Sequence[_builtins.str]]:
480
+ return pulumi.get(self, "vpc_ids")
481
+