pulumiverse-scaleway 1.27.1__py3-none-any.whl → 1.28.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.
Files changed (73) hide show
  1. pulumiverse_scaleway/__init__.py +16 -0
  2. pulumiverse_scaleway/_inputs.py +498 -6
  3. pulumiverse_scaleway/baremetal_server.py +48 -258
  4. pulumiverse_scaleway/database_instance.py +42 -21
  5. pulumiverse_scaleway/databases/_inputs.py +54 -0
  6. pulumiverse_scaleway/databases/get_instance.py +12 -1
  7. pulumiverse_scaleway/databases/instance.py +42 -21
  8. pulumiverse_scaleway/databases/outputs.py +62 -0
  9. pulumiverse_scaleway/databases/snapshot.py +2 -2
  10. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  11. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  12. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  13. pulumiverse_scaleway/elasticmetal/server.py +48 -258
  14. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  15. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  16. pulumiverse_scaleway/get_database_instance.py +12 -1
  17. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  18. pulumiverse_scaleway/get_instance_server.py +12 -1
  19. pulumiverse_scaleway/get_lb_route.py +12 -1
  20. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  21. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  22. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  23. pulumiverse_scaleway/inference/__init__.py +2 -0
  24. pulumiverse_scaleway/inference/_inputs.py +128 -0
  25. pulumiverse_scaleway/inference/deployment.py +70 -55
  26. pulumiverse_scaleway/inference/get_model.py +299 -0
  27. pulumiverse_scaleway/inference/model.py +683 -0
  28. pulumiverse_scaleway/inference/outputs.py +184 -0
  29. pulumiverse_scaleway/inference_deployment.py +70 -55
  30. pulumiverse_scaleway/instance/_inputs.py +108 -0
  31. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  32. pulumiverse_scaleway/instance/get_server.py +12 -1
  33. pulumiverse_scaleway/instance/outputs.py +124 -0
  34. pulumiverse_scaleway/instance/private_nic.py +30 -0
  35. pulumiverse_scaleway/instance/server.py +28 -0
  36. pulumiverse_scaleway/instance_private_nic.py +30 -0
  37. pulumiverse_scaleway/instance_server.py +28 -0
  38. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  39. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  40. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  41. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  42. pulumiverse_scaleway/loadbalancer.py +28 -0
  43. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  44. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  45. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  46. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  47. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  48. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  49. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  50. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  51. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  52. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  53. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  54. pulumiverse_scaleway/network/_inputs.py +54 -0
  55. pulumiverse_scaleway/network/gateway_network.py +28 -0
  56. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  57. pulumiverse_scaleway/network/outputs.py +62 -0
  58. pulumiverse_scaleway/network/route.py +90 -2
  59. pulumiverse_scaleway/observability/get_plan.py +2 -38
  60. pulumiverse_scaleway/outputs.py +574 -5
  61. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  62. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  63. pulumiverse_scaleway/redis/_inputs.py +60 -6
  64. pulumiverse_scaleway/redis/cluster.py +28 -0
  65. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  66. pulumiverse_scaleway/redis/outputs.py +66 -4
  67. pulumiverse_scaleway/redis_cluster.py +28 -0
  68. pulumiverse_scaleway/vpc_gateway_network.py +28 -0
  69. pulumiverse_scaleway/vpc_route.py +90 -2
  70. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
  71. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
  72. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
  73. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,446 @@
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__ = ['AclArgs', 'Acl']
20
+
21
+ @pulumi.input_type
22
+ class AclArgs:
23
+ def __init__(__self__, *,
24
+ cluster_id: pulumi.Input[str],
25
+ acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]] = None,
26
+ no_ip_allowed: Optional[pulumi.Input[bool]] = None,
27
+ region: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a Acl resource.
30
+ :param pulumi.Input[str] cluster_id: UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
31
+
32
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
33
+ :param pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]] acl_rules: A list of ACLs (structure is described below)
34
+
35
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
36
+ :param pulumi.Input[bool] no_ip_allowed: If set to true, no IP will be allowed and the cluster will be in full-isolation.
37
+
38
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
39
+ :param pulumi.Input[str] region: `region`) The region in which the ACL rule should be created.
40
+ """
41
+ pulumi.set(__self__, "cluster_id", cluster_id)
42
+ if acl_rules is not None:
43
+ pulumi.set(__self__, "acl_rules", acl_rules)
44
+ if no_ip_allowed is not None:
45
+ pulumi.set(__self__, "no_ip_allowed", no_ip_allowed)
46
+ if region is not None:
47
+ pulumi.set(__self__, "region", region)
48
+
49
+ @property
50
+ @pulumi.getter(name="clusterId")
51
+ def cluster_id(self) -> pulumi.Input[str]:
52
+ """
53
+ UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
54
+
55
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
56
+ """
57
+ return pulumi.get(self, "cluster_id")
58
+
59
+ @cluster_id.setter
60
+ def cluster_id(self, value: pulumi.Input[str]):
61
+ pulumi.set(self, "cluster_id", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="aclRules")
65
+ def acl_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]:
66
+ """
67
+ A list of ACLs (structure is described below)
68
+
69
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
70
+ """
71
+ return pulumi.get(self, "acl_rules")
72
+
73
+ @acl_rules.setter
74
+ def acl_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]):
75
+ pulumi.set(self, "acl_rules", value)
76
+
77
+ @property
78
+ @pulumi.getter(name="noIpAllowed")
79
+ def no_ip_allowed(self) -> Optional[pulumi.Input[bool]]:
80
+ """
81
+ If set to true, no IP will be allowed and the cluster will be in full-isolation.
82
+
83
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
84
+ """
85
+ return pulumi.get(self, "no_ip_allowed")
86
+
87
+ @no_ip_allowed.setter
88
+ def no_ip_allowed(self, value: Optional[pulumi.Input[bool]]):
89
+ pulumi.set(self, "no_ip_allowed", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def region(self) -> Optional[pulumi.Input[str]]:
94
+ """
95
+ `region`) The region in which the ACL rule should be created.
96
+ """
97
+ return pulumi.get(self, "region")
98
+
99
+ @region.setter
100
+ def region(self, value: Optional[pulumi.Input[str]]):
101
+ pulumi.set(self, "region", value)
102
+
103
+
104
+ @pulumi.input_type
105
+ class _AclState:
106
+ def __init__(__self__, *,
107
+ acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]] = None,
108
+ cluster_id: Optional[pulumi.Input[str]] = None,
109
+ no_ip_allowed: Optional[pulumi.Input[bool]] = None,
110
+ region: Optional[pulumi.Input[str]] = None):
111
+ """
112
+ Input properties used for looking up and filtering Acl resources.
113
+ :param pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]] acl_rules: A list of ACLs (structure is described below)
114
+
115
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
116
+ :param pulumi.Input[str] cluster_id: UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
117
+
118
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
119
+ :param pulumi.Input[bool] no_ip_allowed: If set to true, no IP will be allowed and the cluster will be in full-isolation.
120
+
121
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
122
+ :param pulumi.Input[str] region: `region`) The region in which the ACL rule should be created.
123
+ """
124
+ if acl_rules is not None:
125
+ pulumi.set(__self__, "acl_rules", acl_rules)
126
+ if cluster_id is not None:
127
+ pulumi.set(__self__, "cluster_id", cluster_id)
128
+ if no_ip_allowed is not None:
129
+ pulumi.set(__self__, "no_ip_allowed", no_ip_allowed)
130
+ if region is not None:
131
+ pulumi.set(__self__, "region", region)
132
+
133
+ @property
134
+ @pulumi.getter(name="aclRules")
135
+ def acl_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]:
136
+ """
137
+ A list of ACLs (structure is described below)
138
+
139
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
140
+ """
141
+ return pulumi.get(self, "acl_rules")
142
+
143
+ @acl_rules.setter
144
+ def acl_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AclAclRuleArgs']]]]):
145
+ pulumi.set(self, "acl_rules", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="clusterId")
149
+ def cluster_id(self) -> Optional[pulumi.Input[str]]:
150
+ """
151
+ UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
152
+
153
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
154
+ """
155
+ return pulumi.get(self, "cluster_id")
156
+
157
+ @cluster_id.setter
158
+ def cluster_id(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "cluster_id", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="noIpAllowed")
163
+ def no_ip_allowed(self) -> Optional[pulumi.Input[bool]]:
164
+ """
165
+ If set to true, no IP will be allowed and the cluster will be in full-isolation.
166
+
167
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
168
+ """
169
+ return pulumi.get(self, "no_ip_allowed")
170
+
171
+ @no_ip_allowed.setter
172
+ def no_ip_allowed(self, value: Optional[pulumi.Input[bool]]):
173
+ pulumi.set(self, "no_ip_allowed", value)
174
+
175
+ @property
176
+ @pulumi.getter
177
+ def region(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ `region`) The region in which the ACL rule should be created.
180
+ """
181
+ return pulumi.get(self, "region")
182
+
183
+ @region.setter
184
+ def region(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "region", value)
186
+
187
+
188
+ class Acl(pulumi.CustomResource):
189
+ @overload
190
+ def __init__(__self__,
191
+ resource_name: str,
192
+ opts: Optional[pulumi.ResourceOptions] = None,
193
+ acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
194
+ cluster_id: Optional[pulumi.Input[str]] = None,
195
+ no_ip_allowed: Optional[pulumi.Input[bool]] = None,
196
+ region: Optional[pulumi.Input[str]] = None,
197
+ __props__=None):
198
+ """
199
+ ## Example Usage
200
+
201
+ ### Basic
202
+
203
+ ```python
204
+ import pulumi
205
+ import pulumiverse_scaleway as scaleway
206
+
207
+ acl_basic = scaleway.network.PrivateNetwork("acl_basic")
208
+ acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
209
+ name="acl-basic",
210
+ version="1.32.2",
211
+ cni="cilium",
212
+ delete_additional_resources=True,
213
+ private_network_id=acl_basic.id)
214
+ acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
215
+ cluster_id=acl_basic_cluster.id,
216
+ acl_rules=[
217
+ {
218
+ "ip": "1.2.3.4/32",
219
+ "description": "Allow 1.2.3.4",
220
+ },
221
+ {
222
+ "scaleway_ranges": True,
223
+ "description": "Allow all Scaleway ranges",
224
+ },
225
+ ])
226
+ ```
227
+
228
+ ### Full-isolation
229
+
230
+ ```python
231
+ import pulumi
232
+ import pulumiverse_scaleway as scaleway
233
+
234
+ acl_basic = scaleway.network.PrivateNetwork("acl_basic")
235
+ acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
236
+ name="acl-basic",
237
+ version="1.32.2",
238
+ cni="cilium",
239
+ delete_additional_resources=True,
240
+ private_network_id=acl_basic.id)
241
+ acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
242
+ cluster_id=acl_basic_cluster.id,
243
+ no_ip_allowed=True)
244
+ ```
245
+
246
+ ## Import
247
+
248
+ Kubernetes ACLs can be imported using the `{region}/{cluster-id}`, e.g.
249
+
250
+ bash
251
+
252
+ ```sh
253
+ $ pulumi import scaleway:kubernetes/acl:Acl acl01 fr-par/11111111-1111-1111-1111-111111111111
254
+ ```
255
+
256
+ :param str resource_name: The name of the resource.
257
+ :param pulumi.ResourceOptions opts: Options for the resource.
258
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
259
+
260
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
261
+ :param pulumi.Input[str] cluster_id: UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
262
+
263
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
264
+ :param pulumi.Input[bool] no_ip_allowed: If set to true, no IP will be allowed and the cluster will be in full-isolation.
265
+
266
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
267
+ :param pulumi.Input[str] region: `region`) The region in which the ACL rule should be created.
268
+ """
269
+ ...
270
+ @overload
271
+ def __init__(__self__,
272
+ resource_name: str,
273
+ args: AclArgs,
274
+ opts: Optional[pulumi.ResourceOptions] = None):
275
+ """
276
+ ## Example Usage
277
+
278
+ ### Basic
279
+
280
+ ```python
281
+ import pulumi
282
+ import pulumiverse_scaleway as scaleway
283
+
284
+ acl_basic = scaleway.network.PrivateNetwork("acl_basic")
285
+ acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
286
+ name="acl-basic",
287
+ version="1.32.2",
288
+ cni="cilium",
289
+ delete_additional_resources=True,
290
+ private_network_id=acl_basic.id)
291
+ acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
292
+ cluster_id=acl_basic_cluster.id,
293
+ acl_rules=[
294
+ {
295
+ "ip": "1.2.3.4/32",
296
+ "description": "Allow 1.2.3.4",
297
+ },
298
+ {
299
+ "scaleway_ranges": True,
300
+ "description": "Allow all Scaleway ranges",
301
+ },
302
+ ])
303
+ ```
304
+
305
+ ### Full-isolation
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumiverse_scaleway as scaleway
310
+
311
+ acl_basic = scaleway.network.PrivateNetwork("acl_basic")
312
+ acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
313
+ name="acl-basic",
314
+ version="1.32.2",
315
+ cni="cilium",
316
+ delete_additional_resources=True,
317
+ private_network_id=acl_basic.id)
318
+ acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
319
+ cluster_id=acl_basic_cluster.id,
320
+ no_ip_allowed=True)
321
+ ```
322
+
323
+ ## Import
324
+
325
+ Kubernetes ACLs can be imported using the `{region}/{cluster-id}`, e.g.
326
+
327
+ bash
328
+
329
+ ```sh
330
+ $ pulumi import scaleway:kubernetes/acl:Acl acl01 fr-par/11111111-1111-1111-1111-111111111111
331
+ ```
332
+
333
+ :param str resource_name: The name of the resource.
334
+ :param AclArgs args: The arguments to use to populate this resource's properties.
335
+ :param pulumi.ResourceOptions opts: Options for the resource.
336
+ """
337
+ ...
338
+ def __init__(__self__, resource_name: str, *args, **kwargs):
339
+ resource_args, opts = _utilities.get_resource_args_opts(AclArgs, pulumi.ResourceOptions, *args, **kwargs)
340
+ if resource_args is not None:
341
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
342
+ else:
343
+ __self__._internal_init(resource_name, *args, **kwargs)
344
+
345
+ def _internal_init(__self__,
346
+ resource_name: str,
347
+ opts: Optional[pulumi.ResourceOptions] = None,
348
+ acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
349
+ cluster_id: Optional[pulumi.Input[str]] = None,
350
+ no_ip_allowed: Optional[pulumi.Input[bool]] = None,
351
+ region: Optional[pulumi.Input[str]] = None,
352
+ __props__=None):
353
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
354
+ if not isinstance(opts, pulumi.ResourceOptions):
355
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
356
+ if opts.id is None:
357
+ if __props__ is not None:
358
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
359
+ __props__ = AclArgs.__new__(AclArgs)
360
+
361
+ __props__.__dict__["acl_rules"] = acl_rules
362
+ if cluster_id is None and not opts.urn:
363
+ raise TypeError("Missing required property 'cluster_id'")
364
+ __props__.__dict__["cluster_id"] = cluster_id
365
+ __props__.__dict__["no_ip_allowed"] = no_ip_allowed
366
+ __props__.__dict__["region"] = region
367
+ super(Acl, __self__).__init__(
368
+ 'scaleway:kubernetes/acl:Acl',
369
+ resource_name,
370
+ __props__,
371
+ opts)
372
+
373
+ @staticmethod
374
+ def get(resource_name: str,
375
+ id: pulumi.Input[str],
376
+ opts: Optional[pulumi.ResourceOptions] = None,
377
+ acl_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]]] = None,
378
+ cluster_id: Optional[pulumi.Input[str]] = None,
379
+ no_ip_allowed: Optional[pulumi.Input[bool]] = None,
380
+ region: Optional[pulumi.Input[str]] = None) -> 'Acl':
381
+ """
382
+ Get an existing Acl resource's state with the given name, id, and optional extra
383
+ properties used to qualify the lookup.
384
+
385
+ :param str resource_name: The unique name of the resulting resource.
386
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
387
+ :param pulumi.ResourceOptions opts: Options for the resource.
388
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclAclRuleArgs', 'AclAclRuleArgsDict']]]] acl_rules: A list of ACLs (structure is described below)
389
+
390
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
391
+ :param pulumi.Input[str] cluster_id: UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
392
+
393
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
394
+ :param pulumi.Input[bool] no_ip_allowed: If set to true, no IP will be allowed and the cluster will be in full-isolation.
395
+
396
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
397
+ :param pulumi.Input[str] region: `region`) The region in which the ACL rule should be created.
398
+ """
399
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
400
+
401
+ __props__ = _AclState.__new__(_AclState)
402
+
403
+ __props__.__dict__["acl_rules"] = acl_rules
404
+ __props__.__dict__["cluster_id"] = cluster_id
405
+ __props__.__dict__["no_ip_allowed"] = no_ip_allowed
406
+ __props__.__dict__["region"] = region
407
+ return Acl(resource_name, opts=opts, __props__=__props__)
408
+
409
+ @property
410
+ @pulumi.getter(name="aclRules")
411
+ def acl_rules(self) -> pulumi.Output[Optional[Sequence['outputs.AclAclRule']]]:
412
+ """
413
+ A list of ACLs (structure is described below)
414
+
415
+ > **Important:** This block cannot be defined if the `no_ip_allowed` field is set to true.
416
+ """
417
+ return pulumi.get(self, "acl_rules")
418
+
419
+ @property
420
+ @pulumi.getter(name="clusterId")
421
+ def cluster_id(self) -> pulumi.Output[str]:
422
+ """
423
+ UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.
424
+
425
+ > **Important:** Updates to `cluster_id` will recreate the ACL.
426
+ """
427
+ return pulumi.get(self, "cluster_id")
428
+
429
+ @property
430
+ @pulumi.getter(name="noIpAllowed")
431
+ def no_ip_allowed(self) -> pulumi.Output[Optional[bool]]:
432
+ """
433
+ If set to true, no IP will be allowed and the cluster will be in full-isolation.
434
+
435
+ > **Important:** This field cannot be set to true if the `acl_rules` block is defined.
436
+ """
437
+ return pulumi.get(self, "no_ip_allowed")
438
+
439
+ @property
440
+ @pulumi.getter
441
+ def region(self) -> pulumi.Output[str]:
442
+ """
443
+ `region`) The region in which the ACL rule should be created.
444
+ """
445
+ return pulumi.get(self, "region")
446
+