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,722 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['VpcNatGatewayArgs', 'VpcNatGateway']
20
+
21
+ @pulumi.input_type
22
+ class VpcNatGatewayArgs:
23
+ def __init__(__self__, *,
24
+ region: pulumi.Input[_builtins.str],
25
+ size: pulumi.Input[_builtins.int],
26
+ type: pulumi.Input[_builtins.str],
27
+ vpcs: pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]],
28
+ icmp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
29
+ name: Optional[pulumi.Input[_builtins.str]] = None,
30
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
31
+ tcp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
32
+ udp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
33
+ """
34
+ The set of arguments for constructing a VpcNatGateway resource.
35
+ :param pulumi.Input[_builtins.str] region: The region for the VPC NAT Gateway.
36
+ :param pulumi.Input[_builtins.int] size: The size of the VPC NAT Gateway.
37
+ :param pulumi.Input[_builtins.str] type: The type of the VPC NAT Gateway.
38
+ :param pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]] vpcs: The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
39
+ documented below.
40
+ :param pulumi.Input[_builtins.int] icmp_timeout_seconds: The egress timeout value for ICMP connections of the VPC NAT Gateway.
41
+ :param pulumi.Input[_builtins.str] name: The name of the VPC NAT Gateway.
42
+ :param pulumi.Input[_builtins.str] project_id: ID of the project to which the VPC NAT Gateway will be assigned.
43
+ :param pulumi.Input[_builtins.int] tcp_timeout_seconds: The egress timeout value for TCP connections of the VPC NAT Gateway.
44
+ :param pulumi.Input[_builtins.int] udp_timeout_seconds: The egress timeout value for UDP connections of the VPC NAT Gateway.
45
+ """
46
+ pulumi.set(__self__, "region", region)
47
+ pulumi.set(__self__, "size", size)
48
+ pulumi.set(__self__, "type", type)
49
+ pulumi.set(__self__, "vpcs", vpcs)
50
+ if icmp_timeout_seconds is not None:
51
+ pulumi.set(__self__, "icmp_timeout_seconds", icmp_timeout_seconds)
52
+ if name is not None:
53
+ pulumi.set(__self__, "name", name)
54
+ if project_id is not None:
55
+ pulumi.set(__self__, "project_id", project_id)
56
+ if tcp_timeout_seconds is not None:
57
+ pulumi.set(__self__, "tcp_timeout_seconds", tcp_timeout_seconds)
58
+ if udp_timeout_seconds is not None:
59
+ pulumi.set(__self__, "udp_timeout_seconds", udp_timeout_seconds)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter
63
+ def region(self) -> pulumi.Input[_builtins.str]:
64
+ """
65
+ The region for the VPC NAT Gateway.
66
+ """
67
+ return pulumi.get(self, "region")
68
+
69
+ @region.setter
70
+ def region(self, value: pulumi.Input[_builtins.str]):
71
+ pulumi.set(self, "region", value)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter
75
+ def size(self) -> pulumi.Input[_builtins.int]:
76
+ """
77
+ The size of the VPC NAT Gateway.
78
+ """
79
+ return pulumi.get(self, "size")
80
+
81
+ @size.setter
82
+ def size(self, value: pulumi.Input[_builtins.int]):
83
+ pulumi.set(self, "size", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def type(self) -> pulumi.Input[_builtins.str]:
88
+ """
89
+ The type of the VPC NAT Gateway.
90
+ """
91
+ return pulumi.get(self, "type")
92
+
93
+ @type.setter
94
+ def type(self, value: pulumi.Input[_builtins.str]):
95
+ pulumi.set(self, "type", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter
99
+ def vpcs(self) -> pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]]:
100
+ """
101
+ The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
102
+ documented below.
103
+ """
104
+ return pulumi.get(self, "vpcs")
105
+
106
+ @vpcs.setter
107
+ def vpcs(self, value: pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]]):
108
+ pulumi.set(self, "vpcs", value)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter(name="icmpTimeoutSeconds")
112
+ def icmp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
113
+ """
114
+ The egress timeout value for ICMP connections of the VPC NAT Gateway.
115
+ """
116
+ return pulumi.get(self, "icmp_timeout_seconds")
117
+
118
+ @icmp_timeout_seconds.setter
119
+ def icmp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
120
+ pulumi.set(self, "icmp_timeout_seconds", value)
121
+
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
125
+ """
126
+ The name of the VPC NAT Gateway.
127
+ """
128
+ return pulumi.get(self, "name")
129
+
130
+ @name.setter
131
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
132
+ pulumi.set(self, "name", value)
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="projectId")
136
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
137
+ """
138
+ ID of the project to which the VPC NAT Gateway will be assigned.
139
+ """
140
+ return pulumi.get(self, "project_id")
141
+
142
+ @project_id.setter
143
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
144
+ pulumi.set(self, "project_id", value)
145
+
146
+ @_builtins.property
147
+ @pulumi.getter(name="tcpTimeoutSeconds")
148
+ def tcp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
149
+ """
150
+ The egress timeout value for TCP connections of the VPC NAT Gateway.
151
+ """
152
+ return pulumi.get(self, "tcp_timeout_seconds")
153
+
154
+ @tcp_timeout_seconds.setter
155
+ def tcp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
156
+ pulumi.set(self, "tcp_timeout_seconds", value)
157
+
158
+ @_builtins.property
159
+ @pulumi.getter(name="udpTimeoutSeconds")
160
+ def udp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
161
+ """
162
+ The egress timeout value for UDP connections of the VPC NAT Gateway.
163
+ """
164
+ return pulumi.get(self, "udp_timeout_seconds")
165
+
166
+ @udp_timeout_seconds.setter
167
+ def udp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
168
+ pulumi.set(self, "udp_timeout_seconds", value)
169
+
170
+
171
+ @pulumi.input_type
172
+ class _VpcNatGatewayState:
173
+ def __init__(__self__, *,
174
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
175
+ egresses: Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayEgressArgs']]]] = None,
176
+ icmp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
177
+ name: Optional[pulumi.Input[_builtins.str]] = None,
178
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
179
+ region: Optional[pulumi.Input[_builtins.str]] = None,
180
+ size: Optional[pulumi.Input[_builtins.int]] = None,
181
+ state: Optional[pulumi.Input[_builtins.str]] = None,
182
+ tcp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
183
+ type: Optional[pulumi.Input[_builtins.str]] = None,
184
+ udp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
185
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
186
+ vpcs: Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]]] = None):
187
+ """
188
+ Input properties used for looking up and filtering VpcNatGateway resources.
189
+ :param pulumi.Input[_builtins.str] created_at: Created at timestamp for the VPC NAT Gateway.
190
+ :param pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayEgressArgs']]] egresses: Embeds the list of public egresses assigned to the VPC NAT Gateway: resolves as list of
191
+ `public_gateways` embedding the reserved `ipv4` addresses.
192
+ :param pulumi.Input[_builtins.int] icmp_timeout_seconds: The egress timeout value for ICMP connections of the VPC NAT Gateway.
193
+ :param pulumi.Input[_builtins.str] name: The name of the VPC NAT Gateway.
194
+ :param pulumi.Input[_builtins.str] project_id: ID of the project to which the VPC NAT Gateway will be assigned.
195
+ :param pulumi.Input[_builtins.str] region: The region for the VPC NAT Gateway.
196
+ :param pulumi.Input[_builtins.int] size: The size of the VPC NAT Gateway.
197
+ :param pulumi.Input[_builtins.str] state: State of the VPC NAT Gateway
198
+ :param pulumi.Input[_builtins.int] tcp_timeout_seconds: The egress timeout value for TCP connections of the VPC NAT Gateway.
199
+ :param pulumi.Input[_builtins.str] type: The type of the VPC NAT Gateway.
200
+ :param pulumi.Input[_builtins.int] udp_timeout_seconds: The egress timeout value for UDP connections of the VPC NAT Gateway.
201
+ :param pulumi.Input[_builtins.str] updated_at: Updated at timestamp for the VPC NAT Gateway.
202
+ :param pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]] vpcs: The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
203
+ documented below.
204
+ """
205
+ if created_at is not None:
206
+ pulumi.set(__self__, "created_at", created_at)
207
+ if egresses is not None:
208
+ pulumi.set(__self__, "egresses", egresses)
209
+ if icmp_timeout_seconds is not None:
210
+ pulumi.set(__self__, "icmp_timeout_seconds", icmp_timeout_seconds)
211
+ if name is not None:
212
+ pulumi.set(__self__, "name", name)
213
+ if project_id is not None:
214
+ pulumi.set(__self__, "project_id", project_id)
215
+ if region is not None:
216
+ pulumi.set(__self__, "region", region)
217
+ if size is not None:
218
+ pulumi.set(__self__, "size", size)
219
+ if state is not None:
220
+ pulumi.set(__self__, "state", state)
221
+ if tcp_timeout_seconds is not None:
222
+ pulumi.set(__self__, "tcp_timeout_seconds", tcp_timeout_seconds)
223
+ if type is not None:
224
+ pulumi.set(__self__, "type", type)
225
+ if udp_timeout_seconds is not None:
226
+ pulumi.set(__self__, "udp_timeout_seconds", udp_timeout_seconds)
227
+ if updated_at is not None:
228
+ pulumi.set(__self__, "updated_at", updated_at)
229
+ if vpcs is not None:
230
+ pulumi.set(__self__, "vpcs", vpcs)
231
+
232
+ @_builtins.property
233
+ @pulumi.getter(name="createdAt")
234
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
235
+ """
236
+ Created at timestamp for the VPC NAT Gateway.
237
+ """
238
+ return pulumi.get(self, "created_at")
239
+
240
+ @created_at.setter
241
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
242
+ pulumi.set(self, "created_at", value)
243
+
244
+ @_builtins.property
245
+ @pulumi.getter
246
+ def egresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayEgressArgs']]]]:
247
+ """
248
+ Embeds the list of public egresses assigned to the VPC NAT Gateway: resolves as list of
249
+ `public_gateways` embedding the reserved `ipv4` addresses.
250
+ """
251
+ return pulumi.get(self, "egresses")
252
+
253
+ @egresses.setter
254
+ def egresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayEgressArgs']]]]):
255
+ pulumi.set(self, "egresses", value)
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="icmpTimeoutSeconds")
259
+ def icmp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
260
+ """
261
+ The egress timeout value for ICMP connections of the VPC NAT Gateway.
262
+ """
263
+ return pulumi.get(self, "icmp_timeout_seconds")
264
+
265
+ @icmp_timeout_seconds.setter
266
+ def icmp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
267
+ pulumi.set(self, "icmp_timeout_seconds", value)
268
+
269
+ @_builtins.property
270
+ @pulumi.getter
271
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
272
+ """
273
+ The name of the VPC NAT Gateway.
274
+ """
275
+ return pulumi.get(self, "name")
276
+
277
+ @name.setter
278
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
279
+ pulumi.set(self, "name", value)
280
+
281
+ @_builtins.property
282
+ @pulumi.getter(name="projectId")
283
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
284
+ """
285
+ ID of the project to which the VPC NAT Gateway will be assigned.
286
+ """
287
+ return pulumi.get(self, "project_id")
288
+
289
+ @project_id.setter
290
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
291
+ pulumi.set(self, "project_id", value)
292
+
293
+ @_builtins.property
294
+ @pulumi.getter
295
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
296
+ """
297
+ The region for the VPC NAT Gateway.
298
+ """
299
+ return pulumi.get(self, "region")
300
+
301
+ @region.setter
302
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
303
+ pulumi.set(self, "region", value)
304
+
305
+ @_builtins.property
306
+ @pulumi.getter
307
+ def size(self) -> Optional[pulumi.Input[_builtins.int]]:
308
+ """
309
+ The size of the VPC NAT Gateway.
310
+ """
311
+ return pulumi.get(self, "size")
312
+
313
+ @size.setter
314
+ def size(self, value: Optional[pulumi.Input[_builtins.int]]):
315
+ pulumi.set(self, "size", value)
316
+
317
+ @_builtins.property
318
+ @pulumi.getter
319
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
320
+ """
321
+ State of the VPC NAT Gateway
322
+ """
323
+ return pulumi.get(self, "state")
324
+
325
+ @state.setter
326
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
327
+ pulumi.set(self, "state", value)
328
+
329
+ @_builtins.property
330
+ @pulumi.getter(name="tcpTimeoutSeconds")
331
+ def tcp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
332
+ """
333
+ The egress timeout value for TCP connections of the VPC NAT Gateway.
334
+ """
335
+ return pulumi.get(self, "tcp_timeout_seconds")
336
+
337
+ @tcp_timeout_seconds.setter
338
+ def tcp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
339
+ pulumi.set(self, "tcp_timeout_seconds", value)
340
+
341
+ @_builtins.property
342
+ @pulumi.getter
343
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
344
+ """
345
+ The type of the VPC NAT Gateway.
346
+ """
347
+ return pulumi.get(self, "type")
348
+
349
+ @type.setter
350
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
351
+ pulumi.set(self, "type", value)
352
+
353
+ @_builtins.property
354
+ @pulumi.getter(name="udpTimeoutSeconds")
355
+ def udp_timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
356
+ """
357
+ The egress timeout value for UDP connections of the VPC NAT Gateway.
358
+ """
359
+ return pulumi.get(self, "udp_timeout_seconds")
360
+
361
+ @udp_timeout_seconds.setter
362
+ def udp_timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
363
+ pulumi.set(self, "udp_timeout_seconds", value)
364
+
365
+ @_builtins.property
366
+ @pulumi.getter(name="updatedAt")
367
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
368
+ """
369
+ Updated at timestamp for the VPC NAT Gateway.
370
+ """
371
+ return pulumi.get(self, "updated_at")
372
+
373
+ @updated_at.setter
374
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
375
+ pulumi.set(self, "updated_at", value)
376
+
377
+ @_builtins.property
378
+ @pulumi.getter
379
+ def vpcs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]]]:
380
+ """
381
+ The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
382
+ documented below.
383
+ """
384
+ return pulumi.get(self, "vpcs")
385
+
386
+ @vpcs.setter
387
+ def vpcs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcNatGatewayVpcArgs']]]]):
388
+ pulumi.set(self, "vpcs", value)
389
+
390
+
391
+ @pulumi.type_token("digitalocean:index/vpcNatGateway:VpcNatGateway")
392
+ class VpcNatGateway(pulumi.CustomResource):
393
+ @overload
394
+ def __init__(__self__,
395
+ resource_name: str,
396
+ opts: Optional[pulumi.ResourceOptions] = None,
397
+ icmp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
398
+ name: Optional[pulumi.Input[_builtins.str]] = None,
399
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
400
+ region: Optional[pulumi.Input[_builtins.str]] = None,
401
+ size: Optional[pulumi.Input[_builtins.int]] = None,
402
+ tcp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
403
+ type: Optional[pulumi.Input[_builtins.str]] = None,
404
+ udp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
405
+ vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayVpcArgs', 'VpcNatGatewayVpcArgsDict']]]]] = None,
406
+ __props__=None):
407
+ """
408
+ Provides a DigitalOcean VPC NAT Gateway resource. This can be used to create, modify,
409
+ read and delete VPC NAT Gateways.
410
+
411
+ NOTE: VPC NAT Gateway is currently in Private Preview.
412
+
413
+ ## Example Usage
414
+
415
+ ```python
416
+ import pulumi
417
+ import pulumi_digitalocean as digitalocean
418
+
419
+ my_vpc = digitalocean.Vpc("my-vpc",
420
+ name="terraform-example",
421
+ region="nyc3")
422
+ my_vpc_nat_gateway = digitalocean.VpcNatGateway("my-vpc-nat-gateway",
423
+ name="terraform-example",
424
+ type="PUBLIC",
425
+ region="nyc3",
426
+ size=1,
427
+ vpcs=[{
428
+ "vpc_uuid": my_vpc.id,
429
+ }],
430
+ udp_timeout_seconds=30,
431
+ icmp_timeout_seconds=30,
432
+ tcp_timeout_seconds=30)
433
+ ```
434
+
435
+ ## Import
436
+
437
+ VPC NAT Gateways can be imported using their `id`, e.g.
438
+
439
+ ```sh
440
+ $ pulumi import digitalocean:index/vpcNatGateway:VpcNatGateway my-vpc-nat-gateway-id 38e66834-d741-47ec-88e7-c70cbdcz0445
441
+ ```
442
+
443
+ :param str resource_name: The name of the resource.
444
+ :param pulumi.ResourceOptions opts: Options for the resource.
445
+ :param pulumi.Input[_builtins.int] icmp_timeout_seconds: The egress timeout value for ICMP connections of the VPC NAT Gateway.
446
+ :param pulumi.Input[_builtins.str] name: The name of the VPC NAT Gateway.
447
+ :param pulumi.Input[_builtins.str] project_id: ID of the project to which the VPC NAT Gateway will be assigned.
448
+ :param pulumi.Input[_builtins.str] region: The region for the VPC NAT Gateway.
449
+ :param pulumi.Input[_builtins.int] size: The size of the VPC NAT Gateway.
450
+ :param pulumi.Input[_builtins.int] tcp_timeout_seconds: The egress timeout value for TCP connections of the VPC NAT Gateway.
451
+ :param pulumi.Input[_builtins.str] type: The type of the VPC NAT Gateway.
452
+ :param pulumi.Input[_builtins.int] udp_timeout_seconds: The egress timeout value for UDP connections of the VPC NAT Gateway.
453
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayVpcArgs', 'VpcNatGatewayVpcArgsDict']]]] vpcs: The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
454
+ documented below.
455
+ """
456
+ ...
457
+ @overload
458
+ def __init__(__self__,
459
+ resource_name: str,
460
+ args: VpcNatGatewayArgs,
461
+ opts: Optional[pulumi.ResourceOptions] = None):
462
+ """
463
+ Provides a DigitalOcean VPC NAT Gateway resource. This can be used to create, modify,
464
+ read and delete VPC NAT Gateways.
465
+
466
+ NOTE: VPC NAT Gateway is currently in Private Preview.
467
+
468
+ ## Example Usage
469
+
470
+ ```python
471
+ import pulumi
472
+ import pulumi_digitalocean as digitalocean
473
+
474
+ my_vpc = digitalocean.Vpc("my-vpc",
475
+ name="terraform-example",
476
+ region="nyc3")
477
+ my_vpc_nat_gateway = digitalocean.VpcNatGateway("my-vpc-nat-gateway",
478
+ name="terraform-example",
479
+ type="PUBLIC",
480
+ region="nyc3",
481
+ size=1,
482
+ vpcs=[{
483
+ "vpc_uuid": my_vpc.id,
484
+ }],
485
+ udp_timeout_seconds=30,
486
+ icmp_timeout_seconds=30,
487
+ tcp_timeout_seconds=30)
488
+ ```
489
+
490
+ ## Import
491
+
492
+ VPC NAT Gateways can be imported using their `id`, e.g.
493
+
494
+ ```sh
495
+ $ pulumi import digitalocean:index/vpcNatGateway:VpcNatGateway my-vpc-nat-gateway-id 38e66834-d741-47ec-88e7-c70cbdcz0445
496
+ ```
497
+
498
+ :param str resource_name: The name of the resource.
499
+ :param VpcNatGatewayArgs args: The arguments to use to populate this resource's properties.
500
+ :param pulumi.ResourceOptions opts: Options for the resource.
501
+ """
502
+ ...
503
+ def __init__(__self__, resource_name: str, *args, **kwargs):
504
+ resource_args, opts = _utilities.get_resource_args_opts(VpcNatGatewayArgs, pulumi.ResourceOptions, *args, **kwargs)
505
+ if resource_args is not None:
506
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
507
+ else:
508
+ __self__._internal_init(resource_name, *args, **kwargs)
509
+
510
+ def _internal_init(__self__,
511
+ resource_name: str,
512
+ opts: Optional[pulumi.ResourceOptions] = None,
513
+ icmp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
514
+ name: Optional[pulumi.Input[_builtins.str]] = None,
515
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
516
+ region: Optional[pulumi.Input[_builtins.str]] = None,
517
+ size: Optional[pulumi.Input[_builtins.int]] = None,
518
+ tcp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
519
+ type: Optional[pulumi.Input[_builtins.str]] = None,
520
+ udp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
521
+ vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayVpcArgs', 'VpcNatGatewayVpcArgsDict']]]]] = None,
522
+ __props__=None):
523
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
524
+ if not isinstance(opts, pulumi.ResourceOptions):
525
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
526
+ if opts.id is None:
527
+ if __props__ is not None:
528
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
529
+ __props__ = VpcNatGatewayArgs.__new__(VpcNatGatewayArgs)
530
+
531
+ __props__.__dict__["icmp_timeout_seconds"] = icmp_timeout_seconds
532
+ __props__.__dict__["name"] = name
533
+ __props__.__dict__["project_id"] = project_id
534
+ if region is None and not opts.urn:
535
+ raise TypeError("Missing required property 'region'")
536
+ __props__.__dict__["region"] = region
537
+ if size is None and not opts.urn:
538
+ raise TypeError("Missing required property 'size'")
539
+ __props__.__dict__["size"] = size
540
+ __props__.__dict__["tcp_timeout_seconds"] = tcp_timeout_seconds
541
+ if type is None and not opts.urn:
542
+ raise TypeError("Missing required property 'type'")
543
+ __props__.__dict__["type"] = type
544
+ __props__.__dict__["udp_timeout_seconds"] = udp_timeout_seconds
545
+ if vpcs is None and not opts.urn:
546
+ raise TypeError("Missing required property 'vpcs'")
547
+ __props__.__dict__["vpcs"] = vpcs
548
+ __props__.__dict__["created_at"] = None
549
+ __props__.__dict__["egresses"] = None
550
+ __props__.__dict__["state"] = None
551
+ __props__.__dict__["updated_at"] = None
552
+ super(VpcNatGateway, __self__).__init__(
553
+ 'digitalocean:index/vpcNatGateway:VpcNatGateway',
554
+ resource_name,
555
+ __props__,
556
+ opts)
557
+
558
+ @staticmethod
559
+ def get(resource_name: str,
560
+ id: pulumi.Input[str],
561
+ opts: Optional[pulumi.ResourceOptions] = None,
562
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
563
+ egresses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayEgressArgs', 'VpcNatGatewayEgressArgsDict']]]]] = None,
564
+ icmp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
565
+ name: Optional[pulumi.Input[_builtins.str]] = None,
566
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
567
+ region: Optional[pulumi.Input[_builtins.str]] = None,
568
+ size: Optional[pulumi.Input[_builtins.int]] = None,
569
+ state: Optional[pulumi.Input[_builtins.str]] = None,
570
+ tcp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
571
+ type: Optional[pulumi.Input[_builtins.str]] = None,
572
+ udp_timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None,
573
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
574
+ vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayVpcArgs', 'VpcNatGatewayVpcArgsDict']]]]] = None) -> 'VpcNatGateway':
575
+ """
576
+ Get an existing VpcNatGateway resource's state with the given name, id, and optional extra
577
+ properties used to qualify the lookup.
578
+
579
+ :param str resource_name: The unique name of the resulting resource.
580
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
581
+ :param pulumi.ResourceOptions opts: Options for the resource.
582
+ :param pulumi.Input[_builtins.str] created_at: Created at timestamp for the VPC NAT Gateway.
583
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayEgressArgs', 'VpcNatGatewayEgressArgsDict']]]] egresses: Embeds the list of public egresses assigned to the VPC NAT Gateway: resolves as list of
584
+ `public_gateways` embedding the reserved `ipv4` addresses.
585
+ :param pulumi.Input[_builtins.int] icmp_timeout_seconds: The egress timeout value for ICMP connections of the VPC NAT Gateway.
586
+ :param pulumi.Input[_builtins.str] name: The name of the VPC NAT Gateway.
587
+ :param pulumi.Input[_builtins.str] project_id: ID of the project to which the VPC NAT Gateway will be assigned.
588
+ :param pulumi.Input[_builtins.str] region: The region for the VPC NAT Gateway.
589
+ :param pulumi.Input[_builtins.int] size: The size of the VPC NAT Gateway.
590
+ :param pulumi.Input[_builtins.str] state: State of the VPC NAT Gateway
591
+ :param pulumi.Input[_builtins.int] tcp_timeout_seconds: The egress timeout value for TCP connections of the VPC NAT Gateway.
592
+ :param pulumi.Input[_builtins.str] type: The type of the VPC NAT Gateway.
593
+ :param pulumi.Input[_builtins.int] udp_timeout_seconds: The egress timeout value for UDP connections of the VPC NAT Gateway.
594
+ :param pulumi.Input[_builtins.str] updated_at: Updated at timestamp for the VPC NAT Gateway.
595
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcNatGatewayVpcArgs', 'VpcNatGatewayVpcArgsDict']]]] vpcs: The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
596
+ documented below.
597
+ """
598
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
599
+
600
+ __props__ = _VpcNatGatewayState.__new__(_VpcNatGatewayState)
601
+
602
+ __props__.__dict__["created_at"] = created_at
603
+ __props__.__dict__["egresses"] = egresses
604
+ __props__.__dict__["icmp_timeout_seconds"] = icmp_timeout_seconds
605
+ __props__.__dict__["name"] = name
606
+ __props__.__dict__["project_id"] = project_id
607
+ __props__.__dict__["region"] = region
608
+ __props__.__dict__["size"] = size
609
+ __props__.__dict__["state"] = state
610
+ __props__.__dict__["tcp_timeout_seconds"] = tcp_timeout_seconds
611
+ __props__.__dict__["type"] = type
612
+ __props__.__dict__["udp_timeout_seconds"] = udp_timeout_seconds
613
+ __props__.__dict__["updated_at"] = updated_at
614
+ __props__.__dict__["vpcs"] = vpcs
615
+ return VpcNatGateway(resource_name, opts=opts, __props__=__props__)
616
+
617
+ @_builtins.property
618
+ @pulumi.getter(name="createdAt")
619
+ def created_at(self) -> pulumi.Output[_builtins.str]:
620
+ """
621
+ Created at timestamp for the VPC NAT Gateway.
622
+ """
623
+ return pulumi.get(self, "created_at")
624
+
625
+ @_builtins.property
626
+ @pulumi.getter
627
+ def egresses(self) -> pulumi.Output[Sequence['outputs.VpcNatGatewayEgress']]:
628
+ """
629
+ Embeds the list of public egresses assigned to the VPC NAT Gateway: resolves as list of
630
+ `public_gateways` embedding the reserved `ipv4` addresses.
631
+ """
632
+ return pulumi.get(self, "egresses")
633
+
634
+ @_builtins.property
635
+ @pulumi.getter(name="icmpTimeoutSeconds")
636
+ def icmp_timeout_seconds(self) -> pulumi.Output[_builtins.int]:
637
+ """
638
+ The egress timeout value for ICMP connections of the VPC NAT Gateway.
639
+ """
640
+ return pulumi.get(self, "icmp_timeout_seconds")
641
+
642
+ @_builtins.property
643
+ @pulumi.getter
644
+ def name(self) -> pulumi.Output[_builtins.str]:
645
+ """
646
+ The name of the VPC NAT Gateway.
647
+ """
648
+ return pulumi.get(self, "name")
649
+
650
+ @_builtins.property
651
+ @pulumi.getter(name="projectId")
652
+ def project_id(self) -> pulumi.Output[_builtins.str]:
653
+ """
654
+ ID of the project to which the VPC NAT Gateway will be assigned.
655
+ """
656
+ return pulumi.get(self, "project_id")
657
+
658
+ @_builtins.property
659
+ @pulumi.getter
660
+ def region(self) -> pulumi.Output[_builtins.str]:
661
+ """
662
+ The region for the VPC NAT Gateway.
663
+ """
664
+ return pulumi.get(self, "region")
665
+
666
+ @_builtins.property
667
+ @pulumi.getter
668
+ def size(self) -> pulumi.Output[_builtins.int]:
669
+ """
670
+ The size of the VPC NAT Gateway.
671
+ """
672
+ return pulumi.get(self, "size")
673
+
674
+ @_builtins.property
675
+ @pulumi.getter
676
+ def state(self) -> pulumi.Output[_builtins.str]:
677
+ """
678
+ State of the VPC NAT Gateway
679
+ """
680
+ return pulumi.get(self, "state")
681
+
682
+ @_builtins.property
683
+ @pulumi.getter(name="tcpTimeoutSeconds")
684
+ def tcp_timeout_seconds(self) -> pulumi.Output[_builtins.int]:
685
+ """
686
+ The egress timeout value for TCP connections of the VPC NAT Gateway.
687
+ """
688
+ return pulumi.get(self, "tcp_timeout_seconds")
689
+
690
+ @_builtins.property
691
+ @pulumi.getter
692
+ def type(self) -> pulumi.Output[_builtins.str]:
693
+ """
694
+ The type of the VPC NAT Gateway.
695
+ """
696
+ return pulumi.get(self, "type")
697
+
698
+ @_builtins.property
699
+ @pulumi.getter(name="udpTimeoutSeconds")
700
+ def udp_timeout_seconds(self) -> pulumi.Output[_builtins.int]:
701
+ """
702
+ The egress timeout value for UDP connections of the VPC NAT Gateway.
703
+ """
704
+ return pulumi.get(self, "udp_timeout_seconds")
705
+
706
+ @_builtins.property
707
+ @pulumi.getter(name="updatedAt")
708
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
709
+ """
710
+ Updated at timestamp for the VPC NAT Gateway.
711
+ """
712
+ return pulumi.get(self, "updated_at")
713
+
714
+ @_builtins.property
715
+ @pulumi.getter
716
+ def vpcs(self) -> pulumi.Output[Sequence['outputs.VpcNatGatewayVpc']]:
717
+ """
718
+ The ingress VPC configuration of the VPC NAT Gateway, the supported arguments are
719
+ documented below.
720
+ """
721
+ return pulumi.get(self, "vpcs")
722
+