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,720 @@
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__ = ['InstanceSecurityGroupArgs', 'InstanceSecurityGroup']
20
+
21
+ @pulumi.input_type
22
+ class InstanceSecurityGroupArgs:
23
+ def __init__(__self__, *,
24
+ description: Optional[pulumi.Input[str]] = None,
25
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
26
+ external_rules: Optional[pulumi.Input[bool]] = None,
27
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
28
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]] = None,
29
+ name: Optional[pulumi.Input[str]] = None,
30
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
31
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]] = None,
32
+ project_id: Optional[pulumi.Input[str]] = None,
33
+ stateful: Optional[pulumi.Input[bool]] = None,
34
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
35
+ zone: Optional[pulumi.Input[str]] = None):
36
+ """
37
+ The set of arguments for constructing a InstanceSecurityGroup resource.
38
+ :param pulumi.Input[str] description: The description of the security group.
39
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
40
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
41
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
42
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
43
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
44
+ :param pulumi.Input[str] name: The name of the security group.
45
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
46
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
47
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
48
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
49
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
50
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
51
+ """
52
+ if description is not None:
53
+ pulumi.set(__self__, "description", description)
54
+ if enable_default_security is not None:
55
+ pulumi.set(__self__, "enable_default_security", enable_default_security)
56
+ if external_rules is not None:
57
+ pulumi.set(__self__, "external_rules", external_rules)
58
+ if inbound_default_policy is not None:
59
+ pulumi.set(__self__, "inbound_default_policy", inbound_default_policy)
60
+ if inbound_rules is not None:
61
+ pulumi.set(__self__, "inbound_rules", inbound_rules)
62
+ if name is not None:
63
+ pulumi.set(__self__, "name", name)
64
+ if outbound_default_policy is not None:
65
+ pulumi.set(__self__, "outbound_default_policy", outbound_default_policy)
66
+ if outbound_rules is not None:
67
+ pulumi.set(__self__, "outbound_rules", outbound_rules)
68
+ if project_id is not None:
69
+ pulumi.set(__self__, "project_id", project_id)
70
+ if stateful is not None:
71
+ pulumi.set(__self__, "stateful", stateful)
72
+ if tags is not None:
73
+ pulumi.set(__self__, "tags", tags)
74
+ if zone is not None:
75
+ pulumi.set(__self__, "zone", zone)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def description(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The description of the security group.
82
+ """
83
+ return pulumi.get(self, "description")
84
+
85
+ @description.setter
86
+ def description(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "description", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="enableDefaultSecurity")
91
+ def enable_default_security(self) -> Optional[pulumi.Input[bool]]:
92
+ """
93
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
94
+ """
95
+ return pulumi.get(self, "enable_default_security")
96
+
97
+ @enable_default_security.setter
98
+ def enable_default_security(self, value: Optional[pulumi.Input[bool]]):
99
+ pulumi.set(self, "enable_default_security", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="externalRules")
103
+ def external_rules(self) -> Optional[pulumi.Input[bool]]:
104
+ """
105
+ A boolean to specify whether to use instance_security_group_rules.
106
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
107
+ """
108
+ return pulumi.get(self, "external_rules")
109
+
110
+ @external_rules.setter
111
+ def external_rules(self, value: Optional[pulumi.Input[bool]]):
112
+ pulumi.set(self, "external_rules", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="inboundDefaultPolicy")
116
+ def inbound_default_policy(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
119
+ """
120
+ return pulumi.get(self, "inbound_default_policy")
121
+
122
+ @inbound_default_policy.setter
123
+ def inbound_default_policy(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "inbound_default_policy", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="inboundRules")
128
+ def inbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]]:
129
+ """
130
+ A list of inbound rule to add to the security group. (Structure is documented below.)
131
+ """
132
+ return pulumi.get(self, "inbound_rules")
133
+
134
+ @inbound_rules.setter
135
+ def inbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]]):
136
+ pulumi.set(self, "inbound_rules", value)
137
+
138
+ @property
139
+ @pulumi.getter
140
+ def name(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ The name of the security group.
143
+ """
144
+ return pulumi.get(self, "name")
145
+
146
+ @name.setter
147
+ def name(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "name", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="outboundDefaultPolicy")
152
+ def outbound_default_policy(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
155
+ """
156
+ return pulumi.get(self, "outbound_default_policy")
157
+
158
+ @outbound_default_policy.setter
159
+ def outbound_default_policy(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "outbound_default_policy", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="outboundRules")
164
+ def outbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]]:
165
+ """
166
+ A list of outbound rule to add to the security group. (Structure is documented below.)
167
+ """
168
+ return pulumi.get(self, "outbound_rules")
169
+
170
+ @outbound_rules.setter
171
+ def outbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]]):
172
+ pulumi.set(self, "outbound_rules", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="projectId")
176
+ def project_id(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ `project_id`) The ID of the project the security group is associated with.
179
+ """
180
+ return pulumi.get(self, "project_id")
181
+
182
+ @project_id.setter
183
+ def project_id(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "project_id", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def stateful(self) -> Optional[pulumi.Input[bool]]:
189
+ """
190
+ A boolean to specify whether the security group should be stateful or not.
191
+ """
192
+ return pulumi.get(self, "stateful")
193
+
194
+ @stateful.setter
195
+ def stateful(self, value: Optional[pulumi.Input[bool]]):
196
+ pulumi.set(self, "stateful", value)
197
+
198
+ @property
199
+ @pulumi.getter
200
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
201
+ """
202
+ The tags associated with the security group
203
+ """
204
+ return pulumi.get(self, "tags")
205
+
206
+ @tags.setter
207
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
208
+ pulumi.set(self, "tags", value)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def zone(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ `zone`) The zone in which the security group should be created.
215
+ """
216
+ return pulumi.get(self, "zone")
217
+
218
+ @zone.setter
219
+ def zone(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "zone", value)
221
+
222
+
223
+ @pulumi.input_type
224
+ class _InstanceSecurityGroupState:
225
+ def __init__(__self__, *,
226
+ description: Optional[pulumi.Input[str]] = None,
227
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
228
+ external_rules: Optional[pulumi.Input[bool]] = None,
229
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
230
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]] = None,
231
+ name: Optional[pulumi.Input[str]] = None,
232
+ organization_id: Optional[pulumi.Input[str]] = None,
233
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
234
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]] = None,
235
+ project_id: Optional[pulumi.Input[str]] = None,
236
+ stateful: Optional[pulumi.Input[bool]] = None,
237
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
238
+ zone: Optional[pulumi.Input[str]] = None):
239
+ """
240
+ Input properties used for looking up and filtering InstanceSecurityGroup resources.
241
+ :param pulumi.Input[str] description: The description of the security group.
242
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
243
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
244
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
245
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
246
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
247
+ :param pulumi.Input[str] name: The name of the security group.
248
+ :param pulumi.Input[str] organization_id: The organization ID the security group is associated with.
249
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
250
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
251
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
252
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
253
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
254
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
255
+ """
256
+ if description is not None:
257
+ pulumi.set(__self__, "description", description)
258
+ if enable_default_security is not None:
259
+ pulumi.set(__self__, "enable_default_security", enable_default_security)
260
+ if external_rules is not None:
261
+ pulumi.set(__self__, "external_rules", external_rules)
262
+ if inbound_default_policy is not None:
263
+ pulumi.set(__self__, "inbound_default_policy", inbound_default_policy)
264
+ if inbound_rules is not None:
265
+ pulumi.set(__self__, "inbound_rules", inbound_rules)
266
+ if name is not None:
267
+ pulumi.set(__self__, "name", name)
268
+ if organization_id is not None:
269
+ pulumi.set(__self__, "organization_id", organization_id)
270
+ if outbound_default_policy is not None:
271
+ pulumi.set(__self__, "outbound_default_policy", outbound_default_policy)
272
+ if outbound_rules is not None:
273
+ pulumi.set(__self__, "outbound_rules", outbound_rules)
274
+ if project_id is not None:
275
+ pulumi.set(__self__, "project_id", project_id)
276
+ if stateful is not None:
277
+ pulumi.set(__self__, "stateful", stateful)
278
+ if tags is not None:
279
+ pulumi.set(__self__, "tags", tags)
280
+ if zone is not None:
281
+ pulumi.set(__self__, "zone", zone)
282
+
283
+ @property
284
+ @pulumi.getter
285
+ def description(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ The description of the security group.
288
+ """
289
+ return pulumi.get(self, "description")
290
+
291
+ @description.setter
292
+ def description(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "description", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="enableDefaultSecurity")
297
+ def enable_default_security(self) -> Optional[pulumi.Input[bool]]:
298
+ """
299
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
300
+ """
301
+ return pulumi.get(self, "enable_default_security")
302
+
303
+ @enable_default_security.setter
304
+ def enable_default_security(self, value: Optional[pulumi.Input[bool]]):
305
+ pulumi.set(self, "enable_default_security", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="externalRules")
309
+ def external_rules(self) -> Optional[pulumi.Input[bool]]:
310
+ """
311
+ A boolean to specify whether to use instance_security_group_rules.
312
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
313
+ """
314
+ return pulumi.get(self, "external_rules")
315
+
316
+ @external_rules.setter
317
+ def external_rules(self, value: Optional[pulumi.Input[bool]]):
318
+ pulumi.set(self, "external_rules", value)
319
+
320
+ @property
321
+ @pulumi.getter(name="inboundDefaultPolicy")
322
+ def inbound_default_policy(self) -> Optional[pulumi.Input[str]]:
323
+ """
324
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
325
+ """
326
+ return pulumi.get(self, "inbound_default_policy")
327
+
328
+ @inbound_default_policy.setter
329
+ def inbound_default_policy(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "inbound_default_policy", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="inboundRules")
334
+ def inbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]]:
335
+ """
336
+ A list of inbound rule to add to the security group. (Structure is documented below.)
337
+ """
338
+ return pulumi.get(self, "inbound_rules")
339
+
340
+ @inbound_rules.setter
341
+ def inbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupInboundRuleArgs']]]]):
342
+ pulumi.set(self, "inbound_rules", value)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def name(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ The name of the security group.
349
+ """
350
+ return pulumi.get(self, "name")
351
+
352
+ @name.setter
353
+ def name(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "name", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="organizationId")
358
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ The organization ID the security group is associated with.
361
+ """
362
+ return pulumi.get(self, "organization_id")
363
+
364
+ @organization_id.setter
365
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
366
+ pulumi.set(self, "organization_id", value)
367
+
368
+ @property
369
+ @pulumi.getter(name="outboundDefaultPolicy")
370
+ def outbound_default_policy(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
373
+ """
374
+ return pulumi.get(self, "outbound_default_policy")
375
+
376
+ @outbound_default_policy.setter
377
+ def outbound_default_policy(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "outbound_default_policy", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="outboundRules")
382
+ def outbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]]:
383
+ """
384
+ A list of outbound rule to add to the security group. (Structure is documented below.)
385
+ """
386
+ return pulumi.get(self, "outbound_rules")
387
+
388
+ @outbound_rules.setter
389
+ def outbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSecurityGroupOutboundRuleArgs']]]]):
390
+ pulumi.set(self, "outbound_rules", value)
391
+
392
+ @property
393
+ @pulumi.getter(name="projectId")
394
+ def project_id(self) -> Optional[pulumi.Input[str]]:
395
+ """
396
+ `project_id`) The ID of the project the security group is associated with.
397
+ """
398
+ return pulumi.get(self, "project_id")
399
+
400
+ @project_id.setter
401
+ def project_id(self, value: Optional[pulumi.Input[str]]):
402
+ pulumi.set(self, "project_id", value)
403
+
404
+ @property
405
+ @pulumi.getter
406
+ def stateful(self) -> Optional[pulumi.Input[bool]]:
407
+ """
408
+ A boolean to specify whether the security group should be stateful or not.
409
+ """
410
+ return pulumi.get(self, "stateful")
411
+
412
+ @stateful.setter
413
+ def stateful(self, value: Optional[pulumi.Input[bool]]):
414
+ pulumi.set(self, "stateful", value)
415
+
416
+ @property
417
+ @pulumi.getter
418
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
419
+ """
420
+ The tags associated with the security group
421
+ """
422
+ return pulumi.get(self, "tags")
423
+
424
+ @tags.setter
425
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
426
+ pulumi.set(self, "tags", value)
427
+
428
+ @property
429
+ @pulumi.getter
430
+ def zone(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ `zone`) The zone in which the security group should be created.
433
+ """
434
+ return pulumi.get(self, "zone")
435
+
436
+ @zone.setter
437
+ def zone(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "zone", value)
439
+
440
+
441
+ class InstanceSecurityGroup(pulumi.CustomResource):
442
+ @overload
443
+ def __init__(__self__,
444
+ resource_name: str,
445
+ opts: Optional[pulumi.ResourceOptions] = None,
446
+ description: Optional[pulumi.Input[str]] = None,
447
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
448
+ external_rules: Optional[pulumi.Input[bool]] = None,
449
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
450
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupInboundRuleArgs', 'InstanceSecurityGroupInboundRuleArgsDict']]]]] = None,
451
+ name: Optional[pulumi.Input[str]] = None,
452
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
453
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupOutboundRuleArgs', 'InstanceSecurityGroupOutboundRuleArgsDict']]]]] = None,
454
+ project_id: Optional[pulumi.Input[str]] = None,
455
+ stateful: Optional[pulumi.Input[bool]] = None,
456
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
457
+ zone: Optional[pulumi.Input[str]] = None,
458
+ __props__=None):
459
+ """
460
+ ## Import
461
+
462
+ Instance security group can be imported using the `{zone}/{id}`, e.g.
463
+
464
+ bash
465
+
466
+ ```sh
467
+ $ pulumi import scaleway:index/instanceSecurityGroup:InstanceSecurityGroup web fr-par-1/11111111-1111-1111-1111-111111111111
468
+ ```
469
+
470
+ :param str resource_name: The name of the resource.
471
+ :param pulumi.ResourceOptions opts: Options for the resource.
472
+ :param pulumi.Input[str] description: The description of the security group.
473
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
474
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
475
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
476
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
477
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupInboundRuleArgs', 'InstanceSecurityGroupInboundRuleArgsDict']]]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
478
+ :param pulumi.Input[str] name: The name of the security group.
479
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
480
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupOutboundRuleArgs', 'InstanceSecurityGroupOutboundRuleArgsDict']]]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
481
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
482
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
483
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
484
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
485
+ """
486
+ ...
487
+ @overload
488
+ def __init__(__self__,
489
+ resource_name: str,
490
+ args: Optional[InstanceSecurityGroupArgs] = None,
491
+ opts: Optional[pulumi.ResourceOptions] = None):
492
+ """
493
+ ## Import
494
+
495
+ Instance security group can be imported using the `{zone}/{id}`, e.g.
496
+
497
+ bash
498
+
499
+ ```sh
500
+ $ pulumi import scaleway:index/instanceSecurityGroup:InstanceSecurityGroup web fr-par-1/11111111-1111-1111-1111-111111111111
501
+ ```
502
+
503
+ :param str resource_name: The name of the resource.
504
+ :param InstanceSecurityGroupArgs args: The arguments to use to populate this resource's properties.
505
+ :param pulumi.ResourceOptions opts: Options for the resource.
506
+ """
507
+ ...
508
+ def __init__(__self__, resource_name: str, *args, **kwargs):
509
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceSecurityGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
510
+ if resource_args is not None:
511
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
512
+ else:
513
+ __self__._internal_init(resource_name, *args, **kwargs)
514
+
515
+ def _internal_init(__self__,
516
+ resource_name: str,
517
+ opts: Optional[pulumi.ResourceOptions] = None,
518
+ description: Optional[pulumi.Input[str]] = None,
519
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
520
+ external_rules: Optional[pulumi.Input[bool]] = None,
521
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
522
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupInboundRuleArgs', 'InstanceSecurityGroupInboundRuleArgsDict']]]]] = None,
523
+ name: Optional[pulumi.Input[str]] = None,
524
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
525
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupOutboundRuleArgs', 'InstanceSecurityGroupOutboundRuleArgsDict']]]]] = None,
526
+ project_id: Optional[pulumi.Input[str]] = None,
527
+ stateful: Optional[pulumi.Input[bool]] = None,
528
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
529
+ zone: Optional[pulumi.Input[str]] = None,
530
+ __props__=None):
531
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
532
+ if not isinstance(opts, pulumi.ResourceOptions):
533
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
534
+ if opts.id is None:
535
+ if __props__ is not None:
536
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
537
+ __props__ = InstanceSecurityGroupArgs.__new__(InstanceSecurityGroupArgs)
538
+
539
+ __props__.__dict__["description"] = description
540
+ __props__.__dict__["enable_default_security"] = enable_default_security
541
+ __props__.__dict__["external_rules"] = external_rules
542
+ __props__.__dict__["inbound_default_policy"] = inbound_default_policy
543
+ __props__.__dict__["inbound_rules"] = inbound_rules
544
+ __props__.__dict__["name"] = name
545
+ __props__.__dict__["outbound_default_policy"] = outbound_default_policy
546
+ __props__.__dict__["outbound_rules"] = outbound_rules
547
+ __props__.__dict__["project_id"] = project_id
548
+ __props__.__dict__["stateful"] = stateful
549
+ __props__.__dict__["tags"] = tags
550
+ __props__.__dict__["zone"] = zone
551
+ __props__.__dict__["organization_id"] = None
552
+ super(InstanceSecurityGroup, __self__).__init__(
553
+ 'scaleway:index/instanceSecurityGroup:InstanceSecurityGroup',
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
+ description: Optional[pulumi.Input[str]] = None,
563
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
564
+ external_rules: Optional[pulumi.Input[bool]] = None,
565
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
566
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupInboundRuleArgs', 'InstanceSecurityGroupInboundRuleArgsDict']]]]] = None,
567
+ name: Optional[pulumi.Input[str]] = None,
568
+ organization_id: Optional[pulumi.Input[str]] = None,
569
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
570
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupOutboundRuleArgs', 'InstanceSecurityGroupOutboundRuleArgsDict']]]]] = None,
571
+ project_id: Optional[pulumi.Input[str]] = None,
572
+ stateful: Optional[pulumi.Input[bool]] = None,
573
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
574
+ zone: Optional[pulumi.Input[str]] = None) -> 'InstanceSecurityGroup':
575
+ """
576
+ Get an existing InstanceSecurityGroup 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[str] description: The description of the security group.
583
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
584
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
585
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
586
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
587
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupInboundRuleArgs', 'InstanceSecurityGroupInboundRuleArgsDict']]]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
588
+ :param pulumi.Input[str] name: The name of the security group.
589
+ :param pulumi.Input[str] organization_id: The organization ID the security group is associated with.
590
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
591
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceSecurityGroupOutboundRuleArgs', 'InstanceSecurityGroupOutboundRuleArgsDict']]]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
592
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
593
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
594
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
595
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
596
+ """
597
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
598
+
599
+ __props__ = _InstanceSecurityGroupState.__new__(_InstanceSecurityGroupState)
600
+
601
+ __props__.__dict__["description"] = description
602
+ __props__.__dict__["enable_default_security"] = enable_default_security
603
+ __props__.__dict__["external_rules"] = external_rules
604
+ __props__.__dict__["inbound_default_policy"] = inbound_default_policy
605
+ __props__.__dict__["inbound_rules"] = inbound_rules
606
+ __props__.__dict__["name"] = name
607
+ __props__.__dict__["organization_id"] = organization_id
608
+ __props__.__dict__["outbound_default_policy"] = outbound_default_policy
609
+ __props__.__dict__["outbound_rules"] = outbound_rules
610
+ __props__.__dict__["project_id"] = project_id
611
+ __props__.__dict__["stateful"] = stateful
612
+ __props__.__dict__["tags"] = tags
613
+ __props__.__dict__["zone"] = zone
614
+ return InstanceSecurityGroup(resource_name, opts=opts, __props__=__props__)
615
+
616
+ @property
617
+ @pulumi.getter
618
+ def description(self) -> pulumi.Output[Optional[str]]:
619
+ """
620
+ The description of the security group.
621
+ """
622
+ return pulumi.get(self, "description")
623
+
624
+ @property
625
+ @pulumi.getter(name="enableDefaultSecurity")
626
+ def enable_default_security(self) -> pulumi.Output[Optional[bool]]:
627
+ """
628
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
629
+ """
630
+ return pulumi.get(self, "enable_default_security")
631
+
632
+ @property
633
+ @pulumi.getter(name="externalRules")
634
+ def external_rules(self) -> pulumi.Output[Optional[bool]]:
635
+ """
636
+ A boolean to specify whether to use instance_security_group_rules.
637
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
638
+ """
639
+ return pulumi.get(self, "external_rules")
640
+
641
+ @property
642
+ @pulumi.getter(name="inboundDefaultPolicy")
643
+ def inbound_default_policy(self) -> pulumi.Output[Optional[str]]:
644
+ """
645
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
646
+ """
647
+ return pulumi.get(self, "inbound_default_policy")
648
+
649
+ @property
650
+ @pulumi.getter(name="inboundRules")
651
+ def inbound_rules(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceSecurityGroupInboundRule']]]:
652
+ """
653
+ A list of inbound rule to add to the security group. (Structure is documented below.)
654
+ """
655
+ return pulumi.get(self, "inbound_rules")
656
+
657
+ @property
658
+ @pulumi.getter
659
+ def name(self) -> pulumi.Output[str]:
660
+ """
661
+ The name of the security group.
662
+ """
663
+ return pulumi.get(self, "name")
664
+
665
+ @property
666
+ @pulumi.getter(name="organizationId")
667
+ def organization_id(self) -> pulumi.Output[str]:
668
+ """
669
+ The organization ID the security group is associated with.
670
+ """
671
+ return pulumi.get(self, "organization_id")
672
+
673
+ @property
674
+ @pulumi.getter(name="outboundDefaultPolicy")
675
+ def outbound_default_policy(self) -> pulumi.Output[Optional[str]]:
676
+ """
677
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
678
+ """
679
+ return pulumi.get(self, "outbound_default_policy")
680
+
681
+ @property
682
+ @pulumi.getter(name="outboundRules")
683
+ def outbound_rules(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceSecurityGroupOutboundRule']]]:
684
+ """
685
+ A list of outbound rule to add to the security group. (Structure is documented below.)
686
+ """
687
+ return pulumi.get(self, "outbound_rules")
688
+
689
+ @property
690
+ @pulumi.getter(name="projectId")
691
+ def project_id(self) -> pulumi.Output[str]:
692
+ """
693
+ `project_id`) The ID of the project the security group is associated with.
694
+ """
695
+ return pulumi.get(self, "project_id")
696
+
697
+ @property
698
+ @pulumi.getter
699
+ def stateful(self) -> pulumi.Output[Optional[bool]]:
700
+ """
701
+ A boolean to specify whether the security group should be stateful or not.
702
+ """
703
+ return pulumi.get(self, "stateful")
704
+
705
+ @property
706
+ @pulumi.getter
707
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
708
+ """
709
+ The tags associated with the security group
710
+ """
711
+ return pulumi.get(self, "tags")
712
+
713
+ @property
714
+ @pulumi.getter
715
+ def zone(self) -> pulumi.Output[str]:
716
+ """
717
+ `zone`) The zone in which the security group should be created.
718
+ """
719
+ return pulumi.get(self, "zone")
720
+