pulumiverse-scaleway 1.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,199 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetVpcPublicGatewayIpResult',
19
+ 'AwaitableGetVpcPublicGatewayIpResult',
20
+ 'get_vpc_public_gateway_ip',
21
+ 'get_vpc_public_gateway_ip_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetVpcPublicGatewayIpResult:
26
+ """
27
+ A collection of values returned by getVpcPublicGatewayIp.
28
+ """
29
+ def __init__(__self__, address=None, created_at=None, id=None, ip_id=None, organization_id=None, project_id=None, reverse=None, tags=None, updated_at=None, zone=None):
30
+ if address and not isinstance(address, str):
31
+ raise TypeError("Expected argument 'address' to be a str")
32
+ pulumi.set(__self__, "address", address)
33
+ if created_at and not isinstance(created_at, str):
34
+ raise TypeError("Expected argument 'created_at' to be a str")
35
+ pulumi.set(__self__, "created_at", created_at)
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 ip_id and not isinstance(ip_id, str):
40
+ raise TypeError("Expected argument 'ip_id' to be a str")
41
+ pulumi.set(__self__, "ip_id", ip_id)
42
+ if organization_id and not isinstance(organization_id, str):
43
+ raise TypeError("Expected argument 'organization_id' to be a str")
44
+ pulumi.set(__self__, "organization_id", organization_id)
45
+ if project_id and not isinstance(project_id, str):
46
+ raise TypeError("Expected argument 'project_id' to be a str")
47
+ pulumi.set(__self__, "project_id", project_id)
48
+ if reverse and not isinstance(reverse, str):
49
+ raise TypeError("Expected argument 'reverse' to be a str")
50
+ pulumi.set(__self__, "reverse", reverse)
51
+ if tags and not isinstance(tags, list):
52
+ raise TypeError("Expected argument 'tags' to be a list")
53
+ pulumi.set(__self__, "tags", tags)
54
+ if updated_at and not isinstance(updated_at, str):
55
+ raise TypeError("Expected argument 'updated_at' to be a str")
56
+ pulumi.set(__self__, "updated_at", updated_at)
57
+ if zone and not isinstance(zone, str):
58
+ raise TypeError("Expected argument 'zone' to be a str")
59
+ pulumi.set(__self__, "zone", zone)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def address(self) -> str:
64
+ return pulumi.get(self, "address")
65
+
66
+ @property
67
+ @pulumi.getter(name="createdAt")
68
+ def created_at(self) -> str:
69
+ return pulumi.get(self, "created_at")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def id(self) -> str:
74
+ """
75
+ The provider-assigned unique ID for this managed resource.
76
+ """
77
+ return pulumi.get(self, "id")
78
+
79
+ @property
80
+ @pulumi.getter(name="ipId")
81
+ def ip_id(self) -> Optional[str]:
82
+ return pulumi.get(self, "ip_id")
83
+
84
+ @property
85
+ @pulumi.getter(name="organizationId")
86
+ def organization_id(self) -> str:
87
+ return pulumi.get(self, "organization_id")
88
+
89
+ @property
90
+ @pulumi.getter(name="projectId")
91
+ def project_id(self) -> str:
92
+ return pulumi.get(self, "project_id")
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def reverse(self) -> str:
97
+ return pulumi.get(self, "reverse")
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def tags(self) -> Sequence[str]:
102
+ return pulumi.get(self, "tags")
103
+
104
+ @property
105
+ @pulumi.getter(name="updatedAt")
106
+ def updated_at(self) -> str:
107
+ return pulumi.get(self, "updated_at")
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def zone(self) -> str:
112
+ return pulumi.get(self, "zone")
113
+
114
+
115
+ class AwaitableGetVpcPublicGatewayIpResult(GetVpcPublicGatewayIpResult):
116
+ # pylint: disable=using-constant-test
117
+ def __await__(self):
118
+ if False:
119
+ yield self
120
+ return GetVpcPublicGatewayIpResult(
121
+ address=self.address,
122
+ created_at=self.created_at,
123
+ id=self.id,
124
+ ip_id=self.ip_id,
125
+ organization_id=self.organization_id,
126
+ project_id=self.project_id,
127
+ reverse=self.reverse,
128
+ tags=self.tags,
129
+ updated_at=self.updated_at,
130
+ zone=self.zone)
131
+
132
+
133
+ def get_vpc_public_gateway_ip(ip_id: Optional[str] = None,
134
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcPublicGatewayIpResult:
135
+ """
136
+ Gets information about a Public Gateway public flexible IP address.
137
+
138
+ For further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).
139
+
140
+ ## Example Usage
141
+
142
+ ```python
143
+ import pulumi
144
+ import pulumi_scaleway as scaleway
145
+ import pulumiverse_scaleway as scaleway
146
+
147
+ main = scaleway.VpcPublicGatewayIp("main")
148
+ ip_by_id = scaleway.get_vpc_public_gateway_ip_output(ip_id=main.id)
149
+ ```
150
+ """
151
+ __args__ = dict()
152
+ __args__['ipId'] = ip_id
153
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
154
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp', __args__, opts=opts, typ=GetVpcPublicGatewayIpResult).value
155
+
156
+ return AwaitableGetVpcPublicGatewayIpResult(
157
+ address=pulumi.get(__ret__, 'address'),
158
+ created_at=pulumi.get(__ret__, 'created_at'),
159
+ id=pulumi.get(__ret__, 'id'),
160
+ ip_id=pulumi.get(__ret__, 'ip_id'),
161
+ organization_id=pulumi.get(__ret__, 'organization_id'),
162
+ project_id=pulumi.get(__ret__, 'project_id'),
163
+ reverse=pulumi.get(__ret__, 'reverse'),
164
+ tags=pulumi.get(__ret__, 'tags'),
165
+ updated_at=pulumi.get(__ret__, 'updated_at'),
166
+ zone=pulumi.get(__ret__, 'zone'))
167
+ def get_vpc_public_gateway_ip_output(ip_id: Optional[pulumi.Input[Optional[str]]] = None,
168
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicGatewayIpResult]:
169
+ """
170
+ Gets information about a Public Gateway public flexible IP address.
171
+
172
+ For further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).
173
+
174
+ ## Example Usage
175
+
176
+ ```python
177
+ import pulumi
178
+ import pulumi_scaleway as scaleway
179
+ import pulumiverse_scaleway as scaleway
180
+
181
+ main = scaleway.VpcPublicGatewayIp("main")
182
+ ip_by_id = scaleway.get_vpc_public_gateway_ip_output(ip_id=main.id)
183
+ ```
184
+ """
185
+ __args__ = dict()
186
+ __args__['ipId'] = ip_id
187
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
188
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp', __args__, opts=opts, typ=GetVpcPublicGatewayIpResult)
189
+ return __ret__.apply(lambda __response__: GetVpcPublicGatewayIpResult(
190
+ address=pulumi.get(__response__, 'address'),
191
+ created_at=pulumi.get(__response__, 'created_at'),
192
+ id=pulumi.get(__response__, 'id'),
193
+ ip_id=pulumi.get(__response__, 'ip_id'),
194
+ organization_id=pulumi.get(__response__, 'organization_id'),
195
+ project_id=pulumi.get(__response__, 'project_id'),
196
+ reverse=pulumi.get(__response__, 'reverse'),
197
+ tags=pulumi.get(__response__, 'tags'),
198
+ updated_at=pulumi.get(__response__, 'updated_at'),
199
+ zone=pulumi.get(__response__, 'zone')))
@@ -0,0 +1,313 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetVpcPublicPatRuleResult',
19
+ 'AwaitableGetVpcPublicPatRuleResult',
20
+ 'get_vpc_public_pat_rule',
21
+ 'get_vpc_public_pat_rule_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetVpcPublicPatRuleResult:
26
+ """
27
+ A collection of values returned by getVpcPublicPatRule.
28
+ """
29
+ def __init__(__self__, created_at=None, gateway_id=None, id=None, organization_id=None, pat_rule_id=None, private_ip=None, private_port=None, protocol=None, public_port=None, updated_at=None, zone=None):
30
+ if created_at and not isinstance(created_at, str):
31
+ raise TypeError("Expected argument 'created_at' to be a str")
32
+ pulumi.set(__self__, "created_at", created_at)
33
+ if gateway_id and not isinstance(gateway_id, str):
34
+ raise TypeError("Expected argument 'gateway_id' to be a str")
35
+ pulumi.set(__self__, "gateway_id", gateway_id)
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 organization_id and not isinstance(organization_id, str):
40
+ raise TypeError("Expected argument 'organization_id' to be a str")
41
+ pulumi.set(__self__, "organization_id", organization_id)
42
+ if pat_rule_id and not isinstance(pat_rule_id, str):
43
+ raise TypeError("Expected argument 'pat_rule_id' to be a str")
44
+ pulumi.set(__self__, "pat_rule_id", pat_rule_id)
45
+ if private_ip and not isinstance(private_ip, str):
46
+ raise TypeError("Expected argument 'private_ip' to be a str")
47
+ pulumi.set(__self__, "private_ip", private_ip)
48
+ if private_port and not isinstance(private_port, int):
49
+ raise TypeError("Expected argument 'private_port' to be a int")
50
+ pulumi.set(__self__, "private_port", private_port)
51
+ if protocol and not isinstance(protocol, str):
52
+ raise TypeError("Expected argument 'protocol' to be a str")
53
+ pulumi.set(__self__, "protocol", protocol)
54
+ if public_port and not isinstance(public_port, int):
55
+ raise TypeError("Expected argument 'public_port' to be a int")
56
+ pulumi.set(__self__, "public_port", public_port)
57
+ if updated_at and not isinstance(updated_at, str):
58
+ raise TypeError("Expected argument 'updated_at' to be a str")
59
+ pulumi.set(__self__, "updated_at", updated_at)
60
+ if zone and not isinstance(zone, str):
61
+ raise TypeError("Expected argument 'zone' to be a str")
62
+ pulumi.set(__self__, "zone", zone)
63
+
64
+ @property
65
+ @pulumi.getter(name="createdAt")
66
+ def created_at(self) -> str:
67
+ return pulumi.get(self, "created_at")
68
+
69
+ @property
70
+ @pulumi.getter(name="gatewayId")
71
+ def gateway_id(self) -> str:
72
+ """
73
+ The ID of the Public Gateway.
74
+ """
75
+ return pulumi.get(self, "gateway_id")
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def id(self) -> str:
80
+ """
81
+ The provider-assigned unique ID for this managed resource.
82
+ """
83
+ return pulumi.get(self, "id")
84
+
85
+ @property
86
+ @pulumi.getter(name="organizationId")
87
+ def organization_id(self) -> str:
88
+ return pulumi.get(self, "organization_id")
89
+
90
+ @property
91
+ @pulumi.getter(name="patRuleId")
92
+ def pat_rule_id(self) -> str:
93
+ return pulumi.get(self, "pat_rule_id")
94
+
95
+ @property
96
+ @pulumi.getter(name="privateIp")
97
+ def private_ip(self) -> str:
98
+ """
99
+ The private IP address to forward data to.
100
+ """
101
+ return pulumi.get(self, "private_ip")
102
+
103
+ @property
104
+ @pulumi.getter(name="privatePort")
105
+ def private_port(self) -> int:
106
+ """
107
+ The private port to translate to.
108
+ """
109
+ return pulumi.get(self, "private_port")
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def protocol(self) -> str:
114
+ """
115
+ The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
116
+ """
117
+ return pulumi.get(self, "protocol")
118
+
119
+ @property
120
+ @pulumi.getter(name="publicPort")
121
+ def public_port(self) -> int:
122
+ """
123
+ The public port to listen on.
124
+ """
125
+ return pulumi.get(self, "public_port")
126
+
127
+ @property
128
+ @pulumi.getter(name="updatedAt")
129
+ def updated_at(self) -> str:
130
+ return pulumi.get(self, "updated_at")
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def zone(self) -> Optional[str]:
135
+ return pulumi.get(self, "zone")
136
+
137
+
138
+ class AwaitableGetVpcPublicPatRuleResult(GetVpcPublicPatRuleResult):
139
+ # pylint: disable=using-constant-test
140
+ def __await__(self):
141
+ if False:
142
+ yield self
143
+ return GetVpcPublicPatRuleResult(
144
+ created_at=self.created_at,
145
+ gateway_id=self.gateway_id,
146
+ id=self.id,
147
+ organization_id=self.organization_id,
148
+ pat_rule_id=self.pat_rule_id,
149
+ private_ip=self.private_ip,
150
+ private_port=self.private_port,
151
+ protocol=self.protocol,
152
+ public_port=self.public_port,
153
+ updated_at=self.updated_at,
154
+ zone=self.zone)
155
+
156
+
157
+ def get_vpc_public_pat_rule(pat_rule_id: Optional[str] = None,
158
+ zone: Optional[str] = None,
159
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcPublicPatRuleResult:
160
+ """
161
+ Gets information about a Public Gateway PAT rule. For further information, please see the
162
+ API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules).
163
+
164
+ ## Example Usage
165
+
166
+ ```python
167
+ import pulumi
168
+ import pulumi_scaleway as scaleway
169
+ import pulumiverse_scaleway as scaleway
170
+
171
+ sg01 = scaleway.InstanceSecurityGroup("sg01",
172
+ inbound_default_policy="drop",
173
+ outbound_default_policy="accept",
174
+ inbound_rules=[{
175
+ "action": "accept",
176
+ "port": 22,
177
+ "protocol": "TCP",
178
+ }])
179
+ srv01 = scaleway.InstanceServer("srv01",
180
+ name="my-server",
181
+ type="PLAY2-NANO",
182
+ image="ubuntu_jammy",
183
+ security_group_id=sg01.id)
184
+ pn01 = scaleway.VpcPrivateNetwork("pn01", name="my-pn")
185
+ pnic01 = scaleway.InstancePrivateNic("pnic01",
186
+ server_id=srv01.id,
187
+ private_network_id=pn01.id)
188
+ dhcp01 = scaleway.VpcPublicGatewayDhcp("dhcp01", subnet="192.168.0.0/24")
189
+ ip01 = scaleway.VpcPublicGatewayIp("ip01")
190
+ pg01 = scaleway.VpcPublicGateway("pg01",
191
+ name="my-pg",
192
+ type="VPC-GW-S",
193
+ ip_id=ip01.id)
194
+ gn01 = scaleway.VpcGatewayNetwork("gn01",
195
+ gateway_id=pg01.id,
196
+ private_network_id=pn01.id,
197
+ dhcp_id=dhcp01.id,
198
+ cleanup_dhcp=True,
199
+ enable_masquerade=True)
200
+ rsv01 = scaleway.VpcPublicGatewayDhcpReservation("rsv01",
201
+ gateway_network_id=gn01.id,
202
+ mac_address=pnic01.mac_address,
203
+ ip_address="192.168.0.7")
204
+ pat01 = scaleway.VpcPublicGatewayPatRule("pat01",
205
+ gateway_id=pg01.id,
206
+ private_ip=rsv01.ip_address,
207
+ private_port=22,
208
+ public_port=2202,
209
+ protocol="tcp")
210
+ main = scaleway.get_vpc_public_pat_rule_output(pat_rule_id=pat01.id)
211
+ ```
212
+
213
+
214
+ :param str pat_rule_id: The ID of the PAT rule to retrieve
215
+ :param str zone: `zone`) The zone in which
216
+ the rule exists.
217
+ """
218
+ __args__ = dict()
219
+ __args__['patRuleId'] = pat_rule_id
220
+ __args__['zone'] = zone
221
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
222
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule', __args__, opts=opts, typ=GetVpcPublicPatRuleResult).value
223
+
224
+ return AwaitableGetVpcPublicPatRuleResult(
225
+ created_at=pulumi.get(__ret__, 'created_at'),
226
+ gateway_id=pulumi.get(__ret__, 'gateway_id'),
227
+ id=pulumi.get(__ret__, 'id'),
228
+ organization_id=pulumi.get(__ret__, 'organization_id'),
229
+ pat_rule_id=pulumi.get(__ret__, 'pat_rule_id'),
230
+ private_ip=pulumi.get(__ret__, 'private_ip'),
231
+ private_port=pulumi.get(__ret__, 'private_port'),
232
+ protocol=pulumi.get(__ret__, 'protocol'),
233
+ public_port=pulumi.get(__ret__, 'public_port'),
234
+ updated_at=pulumi.get(__ret__, 'updated_at'),
235
+ zone=pulumi.get(__ret__, 'zone'))
236
+ def get_vpc_public_pat_rule_output(pat_rule_id: Optional[pulumi.Input[str]] = None,
237
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
238
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicPatRuleResult]:
239
+ """
240
+ Gets information about a Public Gateway PAT rule. For further information, please see the
241
+ API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules).
242
+
243
+ ## Example Usage
244
+
245
+ ```python
246
+ import pulumi
247
+ import pulumi_scaleway as scaleway
248
+ import pulumiverse_scaleway as scaleway
249
+
250
+ sg01 = scaleway.InstanceSecurityGroup("sg01",
251
+ inbound_default_policy="drop",
252
+ outbound_default_policy="accept",
253
+ inbound_rules=[{
254
+ "action": "accept",
255
+ "port": 22,
256
+ "protocol": "TCP",
257
+ }])
258
+ srv01 = scaleway.InstanceServer("srv01",
259
+ name="my-server",
260
+ type="PLAY2-NANO",
261
+ image="ubuntu_jammy",
262
+ security_group_id=sg01.id)
263
+ pn01 = scaleway.VpcPrivateNetwork("pn01", name="my-pn")
264
+ pnic01 = scaleway.InstancePrivateNic("pnic01",
265
+ server_id=srv01.id,
266
+ private_network_id=pn01.id)
267
+ dhcp01 = scaleway.VpcPublicGatewayDhcp("dhcp01", subnet="192.168.0.0/24")
268
+ ip01 = scaleway.VpcPublicGatewayIp("ip01")
269
+ pg01 = scaleway.VpcPublicGateway("pg01",
270
+ name="my-pg",
271
+ type="VPC-GW-S",
272
+ ip_id=ip01.id)
273
+ gn01 = scaleway.VpcGatewayNetwork("gn01",
274
+ gateway_id=pg01.id,
275
+ private_network_id=pn01.id,
276
+ dhcp_id=dhcp01.id,
277
+ cleanup_dhcp=True,
278
+ enable_masquerade=True)
279
+ rsv01 = scaleway.VpcPublicGatewayDhcpReservation("rsv01",
280
+ gateway_network_id=gn01.id,
281
+ mac_address=pnic01.mac_address,
282
+ ip_address="192.168.0.7")
283
+ pat01 = scaleway.VpcPublicGatewayPatRule("pat01",
284
+ gateway_id=pg01.id,
285
+ private_ip=rsv01.ip_address,
286
+ private_port=22,
287
+ public_port=2202,
288
+ protocol="tcp")
289
+ main = scaleway.get_vpc_public_pat_rule_output(pat_rule_id=pat01.id)
290
+ ```
291
+
292
+
293
+ :param str pat_rule_id: The ID of the PAT rule to retrieve
294
+ :param str zone: `zone`) The zone in which
295
+ the rule exists.
296
+ """
297
+ __args__ = dict()
298
+ __args__['patRuleId'] = pat_rule_id
299
+ __args__['zone'] = zone
300
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
301
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule', __args__, opts=opts, typ=GetVpcPublicPatRuleResult)
302
+ return __ret__.apply(lambda __response__: GetVpcPublicPatRuleResult(
303
+ created_at=pulumi.get(__response__, 'created_at'),
304
+ gateway_id=pulumi.get(__response__, 'gateway_id'),
305
+ id=pulumi.get(__response__, 'id'),
306
+ organization_id=pulumi.get(__response__, 'organization_id'),
307
+ pat_rule_id=pulumi.get(__response__, 'pat_rule_id'),
308
+ private_ip=pulumi.get(__response__, 'private_ip'),
309
+ private_port=pulumi.get(__response__, 'private_port'),
310
+ protocol=pulumi.get(__response__, 'protocol'),
311
+ public_port=pulumi.get(__response__, 'public_port'),
312
+ updated_at=pulumi.get(__response__, 'updated_at'),
313
+ zone=pulumi.get(__response__, 'zone')))