pulumiverse-scaleway 1.23.0a1736837529__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 +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -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 +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -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 +1641 -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/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,520 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['LoadbalancerAclArgs', 'LoadbalancerAcl']
20
+
21
+ @pulumi.input_type
22
+ class LoadbalancerAclArgs:
23
+ def __init__(__self__, *,
24
+ action: pulumi.Input['LoadbalancerAclActionArgs'],
25
+ frontend_id: pulumi.Input[str],
26
+ index: pulumi.Input[int],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ match: Optional[pulumi.Input['LoadbalancerAclMatchArgs']] = None,
29
+ name: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a LoadbalancerAcl resource.
32
+ :param pulumi.Input['LoadbalancerAclActionArgs'] action: Action to undertake when an ACL filter matches.
33
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
34
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
35
+ :param pulumi.Input[str] description: The ACL description.
36
+ :param pulumi.Input['LoadbalancerAclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
37
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
38
+ """
39
+ pulumi.set(__self__, "action", action)
40
+ pulumi.set(__self__, "frontend_id", frontend_id)
41
+ pulumi.set(__self__, "index", index)
42
+ if description is not None:
43
+ pulumi.set(__self__, "description", description)
44
+ if match is not None:
45
+ pulumi.set(__self__, "match", match)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def action(self) -> pulumi.Input['LoadbalancerAclActionArgs']:
52
+ """
53
+ Action to undertake when an ACL filter matches.
54
+ """
55
+ return pulumi.get(self, "action")
56
+
57
+ @action.setter
58
+ def action(self, value: pulumi.Input['LoadbalancerAclActionArgs']):
59
+ pulumi.set(self, "action", value)
60
+
61
+ @property
62
+ @pulumi.getter(name="frontendId")
63
+ def frontend_id(self) -> pulumi.Input[str]:
64
+ """
65
+ The ID of the Load Balancer frontend to attach the ACL to.
66
+ """
67
+ return pulumi.get(self, "frontend_id")
68
+
69
+ @frontend_id.setter
70
+ def frontend_id(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "frontend_id", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def index(self) -> pulumi.Input[int]:
76
+ """
77
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
78
+ """
79
+ return pulumi.get(self, "index")
80
+
81
+ @index.setter
82
+ def index(self, value: pulumi.Input[int]):
83
+ pulumi.set(self, "index", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def description(self) -> Optional[pulumi.Input[str]]:
88
+ """
89
+ The ACL description.
90
+ """
91
+ return pulumi.get(self, "description")
92
+
93
+ @description.setter
94
+ def description(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "description", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def match(self) -> Optional[pulumi.Input['LoadbalancerAclMatchArgs']]:
100
+ """
101
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
102
+ """
103
+ return pulumi.get(self, "match")
104
+
105
+ @match.setter
106
+ def match(self, value: Optional[pulumi.Input['LoadbalancerAclMatchArgs']]):
107
+ pulumi.set(self, "match", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ The ACL name. If not provided it will be randomly generated.
114
+ """
115
+ return pulumi.get(self, "name")
116
+
117
+ @name.setter
118
+ def name(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "name", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _LoadbalancerAclState:
124
+ def __init__(__self__, *,
125
+ action: Optional[pulumi.Input['LoadbalancerAclActionArgs']] = None,
126
+ created_at: Optional[pulumi.Input[str]] = None,
127
+ description: Optional[pulumi.Input[str]] = None,
128
+ frontend_id: Optional[pulumi.Input[str]] = None,
129
+ index: Optional[pulumi.Input[int]] = None,
130
+ match: Optional[pulumi.Input['LoadbalancerAclMatchArgs']] = None,
131
+ name: Optional[pulumi.Input[str]] = None,
132
+ updated_at: Optional[pulumi.Input[str]] = None):
133
+ """
134
+ Input properties used for looking up and filtering LoadbalancerAcl resources.
135
+ :param pulumi.Input['LoadbalancerAclActionArgs'] action: Action to undertake when an ACL filter matches.
136
+ :param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
137
+ :param pulumi.Input[str] description: The ACL description.
138
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
139
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
140
+ :param pulumi.Input['LoadbalancerAclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
141
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
142
+ :param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
143
+ """
144
+ if action is not None:
145
+ pulumi.set(__self__, "action", action)
146
+ if created_at is not None:
147
+ pulumi.set(__self__, "created_at", created_at)
148
+ if description is not None:
149
+ pulumi.set(__self__, "description", description)
150
+ if frontend_id is not None:
151
+ pulumi.set(__self__, "frontend_id", frontend_id)
152
+ if index is not None:
153
+ pulumi.set(__self__, "index", index)
154
+ if match is not None:
155
+ pulumi.set(__self__, "match", match)
156
+ if name is not None:
157
+ pulumi.set(__self__, "name", name)
158
+ if updated_at is not None:
159
+ pulumi.set(__self__, "updated_at", updated_at)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def action(self) -> Optional[pulumi.Input['LoadbalancerAclActionArgs']]:
164
+ """
165
+ Action to undertake when an ACL filter matches.
166
+ """
167
+ return pulumi.get(self, "action")
168
+
169
+ @action.setter
170
+ def action(self, value: Optional[pulumi.Input['LoadbalancerAclActionArgs']]):
171
+ pulumi.set(self, "action", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="createdAt")
175
+ def created_at(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ IsDate and time of ACL's creation (RFC 3339 format)
178
+ """
179
+ return pulumi.get(self, "created_at")
180
+
181
+ @created_at.setter
182
+ def created_at(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "created_at", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def description(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The ACL description.
190
+ """
191
+ return pulumi.get(self, "description")
192
+
193
+ @description.setter
194
+ def description(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "description", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="frontendId")
199
+ def frontend_id(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The ID of the Load Balancer frontend to attach the ACL to.
202
+ """
203
+ return pulumi.get(self, "frontend_id")
204
+
205
+ @frontend_id.setter
206
+ def frontend_id(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "frontend_id", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def index(self) -> Optional[pulumi.Input[int]]:
212
+ """
213
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
214
+ """
215
+ return pulumi.get(self, "index")
216
+
217
+ @index.setter
218
+ def index(self, value: Optional[pulumi.Input[int]]):
219
+ pulumi.set(self, "index", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def match(self) -> Optional[pulumi.Input['LoadbalancerAclMatchArgs']]:
224
+ """
225
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
226
+ """
227
+ return pulumi.get(self, "match")
228
+
229
+ @match.setter
230
+ def match(self, value: Optional[pulumi.Input['LoadbalancerAclMatchArgs']]):
231
+ pulumi.set(self, "match", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def name(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The ACL name. If not provided it will be randomly generated.
238
+ """
239
+ return pulumi.get(self, "name")
240
+
241
+ @name.setter
242
+ def name(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "name", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="updatedAt")
247
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ IsDate and time of ACL's update (RFC 3339 format)
250
+ """
251
+ return pulumi.get(self, "updated_at")
252
+
253
+ @updated_at.setter
254
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "updated_at", value)
256
+
257
+
258
+ class LoadbalancerAcl(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ action: Optional[pulumi.Input[Union['LoadbalancerAclActionArgs', 'LoadbalancerAclActionArgsDict']]] = None,
264
+ description: Optional[pulumi.Input[str]] = None,
265
+ frontend_id: Optional[pulumi.Input[str]] = None,
266
+ index: Optional[pulumi.Input[int]] = None,
267
+ match: Optional[pulumi.Input[Union['LoadbalancerAclMatchArgs', 'LoadbalancerAclMatchArgsDict']]] = None,
268
+ name: Optional[pulumi.Input[str]] = None,
269
+ __props__=None):
270
+ """
271
+ Creates and manages Scaleway Load Balancer ACLs.
272
+
273
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/acls/) or [API reference](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
274
+
275
+ ## Example Usage
276
+
277
+ ### Basic
278
+
279
+ ```python
280
+ import pulumi
281
+ import pulumiverse_scaleway as scaleway
282
+
283
+ acl01 = scaleway.LoadbalancerAcl("acl01",
284
+ frontend_id=frt01["id"],
285
+ name="acl01",
286
+ description="Exclude well-known IPs",
287
+ index=0,
288
+ action={
289
+ "type": "allow",
290
+ },
291
+ match={
292
+ "ip_subnets": [
293
+ "192.168.0.1",
294
+ "192.168.0.2",
295
+ "192.168.10.0/24",
296
+ ],
297
+ })
298
+ ```
299
+
300
+ ## Import
301
+
302
+ Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
303
+
304
+ bash
305
+
306
+ ```sh
307
+ $ pulumi import scaleway:index/loadbalancerAcl:LoadbalancerAcl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
308
+ ```
309
+
310
+ :param str resource_name: The name of the resource.
311
+ :param pulumi.ResourceOptions opts: Options for the resource.
312
+ :param pulumi.Input[Union['LoadbalancerAclActionArgs', 'LoadbalancerAclActionArgsDict']] action: Action to undertake when an ACL filter matches.
313
+ :param pulumi.Input[str] description: The ACL description.
314
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
315
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
316
+ :param pulumi.Input[Union['LoadbalancerAclMatchArgs', 'LoadbalancerAclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
317
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
318
+ """
319
+ ...
320
+ @overload
321
+ def __init__(__self__,
322
+ resource_name: str,
323
+ args: LoadbalancerAclArgs,
324
+ opts: Optional[pulumi.ResourceOptions] = None):
325
+ """
326
+ Creates and manages Scaleway Load Balancer ACLs.
327
+
328
+ For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/acls/) or [API reference](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
329
+
330
+ ## Example Usage
331
+
332
+ ### Basic
333
+
334
+ ```python
335
+ import pulumi
336
+ import pulumiverse_scaleway as scaleway
337
+
338
+ acl01 = scaleway.LoadbalancerAcl("acl01",
339
+ frontend_id=frt01["id"],
340
+ name="acl01",
341
+ description="Exclude well-known IPs",
342
+ index=0,
343
+ action={
344
+ "type": "allow",
345
+ },
346
+ match={
347
+ "ip_subnets": [
348
+ "192.168.0.1",
349
+ "192.168.0.2",
350
+ "192.168.10.0/24",
351
+ ],
352
+ })
353
+ ```
354
+
355
+ ## Import
356
+
357
+ Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
358
+
359
+ bash
360
+
361
+ ```sh
362
+ $ pulumi import scaleway:index/loadbalancerAcl:LoadbalancerAcl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
363
+ ```
364
+
365
+ :param str resource_name: The name of the resource.
366
+ :param LoadbalancerAclArgs args: The arguments to use to populate this resource's properties.
367
+ :param pulumi.ResourceOptions opts: Options for the resource.
368
+ """
369
+ ...
370
+ def __init__(__self__, resource_name: str, *args, **kwargs):
371
+ resource_args, opts = _utilities.get_resource_args_opts(LoadbalancerAclArgs, pulumi.ResourceOptions, *args, **kwargs)
372
+ if resource_args is not None:
373
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
374
+ else:
375
+ __self__._internal_init(resource_name, *args, **kwargs)
376
+
377
+ def _internal_init(__self__,
378
+ resource_name: str,
379
+ opts: Optional[pulumi.ResourceOptions] = None,
380
+ action: Optional[pulumi.Input[Union['LoadbalancerAclActionArgs', 'LoadbalancerAclActionArgsDict']]] = None,
381
+ description: Optional[pulumi.Input[str]] = None,
382
+ frontend_id: Optional[pulumi.Input[str]] = None,
383
+ index: Optional[pulumi.Input[int]] = None,
384
+ match: Optional[pulumi.Input[Union['LoadbalancerAclMatchArgs', 'LoadbalancerAclMatchArgsDict']]] = None,
385
+ name: Optional[pulumi.Input[str]] = None,
386
+ __props__=None):
387
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
388
+ if not isinstance(opts, pulumi.ResourceOptions):
389
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
390
+ if opts.id is None:
391
+ if __props__ is not None:
392
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
393
+ __props__ = LoadbalancerAclArgs.__new__(LoadbalancerAclArgs)
394
+
395
+ if action is None and not opts.urn:
396
+ raise TypeError("Missing required property 'action'")
397
+ __props__.__dict__["action"] = action
398
+ __props__.__dict__["description"] = description
399
+ if frontend_id is None and not opts.urn:
400
+ raise TypeError("Missing required property 'frontend_id'")
401
+ __props__.__dict__["frontend_id"] = frontend_id
402
+ if index is None and not opts.urn:
403
+ raise TypeError("Missing required property 'index'")
404
+ __props__.__dict__["index"] = index
405
+ __props__.__dict__["match"] = match
406
+ __props__.__dict__["name"] = name
407
+ __props__.__dict__["created_at"] = None
408
+ __props__.__dict__["updated_at"] = None
409
+ super(LoadbalancerAcl, __self__).__init__(
410
+ 'scaleway:index/loadbalancerAcl:LoadbalancerAcl',
411
+ resource_name,
412
+ __props__,
413
+ opts)
414
+
415
+ @staticmethod
416
+ def get(resource_name: str,
417
+ id: pulumi.Input[str],
418
+ opts: Optional[pulumi.ResourceOptions] = None,
419
+ action: Optional[pulumi.Input[Union['LoadbalancerAclActionArgs', 'LoadbalancerAclActionArgsDict']]] = None,
420
+ created_at: Optional[pulumi.Input[str]] = None,
421
+ description: Optional[pulumi.Input[str]] = None,
422
+ frontend_id: Optional[pulumi.Input[str]] = None,
423
+ index: Optional[pulumi.Input[int]] = None,
424
+ match: Optional[pulumi.Input[Union['LoadbalancerAclMatchArgs', 'LoadbalancerAclMatchArgsDict']]] = None,
425
+ name: Optional[pulumi.Input[str]] = None,
426
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'LoadbalancerAcl':
427
+ """
428
+ Get an existing LoadbalancerAcl resource's state with the given name, id, and optional extra
429
+ properties used to qualify the lookup.
430
+
431
+ :param str resource_name: The unique name of the resulting resource.
432
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
433
+ :param pulumi.ResourceOptions opts: Options for the resource.
434
+ :param pulumi.Input[Union['LoadbalancerAclActionArgs', 'LoadbalancerAclActionArgsDict']] action: Action to undertake when an ACL filter matches.
435
+ :param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
436
+ :param pulumi.Input[str] description: The ACL description.
437
+ :param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
438
+ :param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
439
+ :param pulumi.Input[Union['LoadbalancerAclMatchArgs', 'LoadbalancerAclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
440
+ :param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
441
+ :param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
442
+ """
443
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
444
+
445
+ __props__ = _LoadbalancerAclState.__new__(_LoadbalancerAclState)
446
+
447
+ __props__.__dict__["action"] = action
448
+ __props__.__dict__["created_at"] = created_at
449
+ __props__.__dict__["description"] = description
450
+ __props__.__dict__["frontend_id"] = frontend_id
451
+ __props__.__dict__["index"] = index
452
+ __props__.__dict__["match"] = match
453
+ __props__.__dict__["name"] = name
454
+ __props__.__dict__["updated_at"] = updated_at
455
+ return LoadbalancerAcl(resource_name, opts=opts, __props__=__props__)
456
+
457
+ @property
458
+ @pulumi.getter
459
+ def action(self) -> pulumi.Output['outputs.LoadbalancerAclAction']:
460
+ """
461
+ Action to undertake when an ACL filter matches.
462
+ """
463
+ return pulumi.get(self, "action")
464
+
465
+ @property
466
+ @pulumi.getter(name="createdAt")
467
+ def created_at(self) -> pulumi.Output[str]:
468
+ """
469
+ IsDate and time of ACL's creation (RFC 3339 format)
470
+ """
471
+ return pulumi.get(self, "created_at")
472
+
473
+ @property
474
+ @pulumi.getter
475
+ def description(self) -> pulumi.Output[Optional[str]]:
476
+ """
477
+ The ACL description.
478
+ """
479
+ return pulumi.get(self, "description")
480
+
481
+ @property
482
+ @pulumi.getter(name="frontendId")
483
+ def frontend_id(self) -> pulumi.Output[str]:
484
+ """
485
+ The ID of the Load Balancer frontend to attach the ACL to.
486
+ """
487
+ return pulumi.get(self, "frontend_id")
488
+
489
+ @property
490
+ @pulumi.getter
491
+ def index(self) -> pulumi.Output[int]:
492
+ """
493
+ The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
494
+ """
495
+ return pulumi.get(self, "index")
496
+
497
+ @property
498
+ @pulumi.getter
499
+ def match(self) -> pulumi.Output[Optional['outputs.LoadbalancerAclMatch']]:
500
+ """
501
+ The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
502
+ """
503
+ return pulumi.get(self, "match")
504
+
505
+ @property
506
+ @pulumi.getter
507
+ def name(self) -> pulumi.Output[str]:
508
+ """
509
+ The ACL name. If not provided it will be randomly generated.
510
+ """
511
+ return pulumi.get(self, "name")
512
+
513
+ @property
514
+ @pulumi.getter(name="updatedAt")
515
+ def updated_at(self) -> pulumi.Output[str]:
516
+ """
517
+ IsDate and time of ACL's update (RFC 3339 format)
518
+ """
519
+ return pulumi.get(self, "updated_at")
520
+