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,323 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['IamGroupMembershipArgs', 'IamGroupMembership']
18
+
19
+ @pulumi.input_type
20
+ class IamGroupMembershipArgs:
21
+ def __init__(__self__, *,
22
+ group_id: pulumi.Input[str],
23
+ application_id: Optional[pulumi.Input[str]] = None,
24
+ user_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a IamGroupMembership resource.
27
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
28
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
29
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
30
+
31
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
32
+ """
33
+ pulumi.set(__self__, "group_id", group_id)
34
+ if application_id is not None:
35
+ pulumi.set(__self__, "application_id", application_id)
36
+ if user_id is not None:
37
+ pulumi.set(__self__, "user_id", user_id)
38
+
39
+ @property
40
+ @pulumi.getter(name="groupId")
41
+ def group_id(self) -> pulumi.Input[str]:
42
+ """
43
+ ID of the group to add members to.
44
+ """
45
+ return pulumi.get(self, "group_id")
46
+
47
+ @group_id.setter
48
+ def group_id(self, value: pulumi.Input[str]):
49
+ pulumi.set(self, "group_id", value)
50
+
51
+ @property
52
+ @pulumi.getter(name="applicationId")
53
+ def application_id(self) -> Optional[pulumi.Input[str]]:
54
+ """
55
+ The ID of the application that will be added to the group.
56
+ """
57
+ return pulumi.get(self, "application_id")
58
+
59
+ @application_id.setter
60
+ def application_id(self, value: Optional[pulumi.Input[str]]):
61
+ pulumi.set(self, "application_id", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="userId")
65
+ def user_id(self) -> Optional[pulumi.Input[str]]:
66
+ """
67
+ The ID of the user that will be added to the group
68
+
69
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
70
+ """
71
+ return pulumi.get(self, "user_id")
72
+
73
+ @user_id.setter
74
+ def user_id(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "user_id", value)
76
+
77
+
78
+ @pulumi.input_type
79
+ class _IamGroupMembershipState:
80
+ def __init__(__self__, *,
81
+ application_id: Optional[pulumi.Input[str]] = None,
82
+ group_id: Optional[pulumi.Input[str]] = None,
83
+ user_id: Optional[pulumi.Input[str]] = None):
84
+ """
85
+ Input properties used for looking up and filtering IamGroupMembership resources.
86
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
87
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
88
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
89
+
90
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
91
+ """
92
+ if application_id is not None:
93
+ pulumi.set(__self__, "application_id", application_id)
94
+ if group_id is not None:
95
+ pulumi.set(__self__, "group_id", group_id)
96
+ if user_id is not None:
97
+ pulumi.set(__self__, "user_id", user_id)
98
+
99
+ @property
100
+ @pulumi.getter(name="applicationId")
101
+ def application_id(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ The ID of the application that will be added to the group.
104
+ """
105
+ return pulumi.get(self, "application_id")
106
+
107
+ @application_id.setter
108
+ def application_id(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "application_id", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="groupId")
113
+ def group_id(self) -> Optional[pulumi.Input[str]]:
114
+ """
115
+ ID of the group to add members to.
116
+ """
117
+ return pulumi.get(self, "group_id")
118
+
119
+ @group_id.setter
120
+ def group_id(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "group_id", value)
122
+
123
+ @property
124
+ @pulumi.getter(name="userId")
125
+ def user_id(self) -> Optional[pulumi.Input[str]]:
126
+ """
127
+ The ID of the user that will be added to the group
128
+
129
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
130
+ """
131
+ return pulumi.get(self, "user_id")
132
+
133
+ @user_id.setter
134
+ def user_id(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "user_id", value)
136
+
137
+
138
+ class IamGroupMembership(pulumi.CustomResource):
139
+ @overload
140
+ def __init__(__self__,
141
+ resource_name: str,
142
+ opts: Optional[pulumi.ResourceOptions] = None,
143
+ application_id: Optional[pulumi.Input[str]] = None,
144
+ group_id: Optional[pulumi.Input[str]] = None,
145
+ user_id: Optional[pulumi.Input[str]] = None,
146
+ __props__=None):
147
+ """
148
+ Add members to an IAM group.
149
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
150
+
151
+ ## Example Usage
152
+
153
+ ### Application Membership
154
+
155
+ ```python
156
+ import pulumi
157
+ import pulumiverse_scaleway as scaleway
158
+
159
+ group = scaleway.IamGroup("group",
160
+ name="my_group",
161
+ external_membership=True)
162
+ app = scaleway.IamApplication("app", name="my_app")
163
+ member = scaleway.IamGroupMembership("member",
164
+ group_id=group.id,
165
+ application_id=app.id)
166
+ ```
167
+
168
+ ## Import
169
+
170
+ IAM group memberships can be imported using two format:
171
+
172
+ - For user: `{group_id}/user/{user_id}`
173
+
174
+ - For application: `{group_id}/app/{application_id}`
175
+
176
+ bash
177
+
178
+ ```sh
179
+ $ pulumi import scaleway:index/iamGroupMembership:IamGroupMembership app 11111111-1111-1111-1111-111111111111/app/11111111-1111-1111-1111-111111111111
180
+ ```
181
+
182
+ :param str resource_name: The name of the resource.
183
+ :param pulumi.ResourceOptions opts: Options for the resource.
184
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
185
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
186
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
187
+
188
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
189
+ """
190
+ ...
191
+ @overload
192
+ def __init__(__self__,
193
+ resource_name: str,
194
+ args: IamGroupMembershipArgs,
195
+ opts: Optional[pulumi.ResourceOptions] = None):
196
+ """
197
+ Add members to an IAM group.
198
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
199
+
200
+ ## Example Usage
201
+
202
+ ### Application Membership
203
+
204
+ ```python
205
+ import pulumi
206
+ import pulumiverse_scaleway as scaleway
207
+
208
+ group = scaleway.IamGroup("group",
209
+ name="my_group",
210
+ external_membership=True)
211
+ app = scaleway.IamApplication("app", name="my_app")
212
+ member = scaleway.IamGroupMembership("member",
213
+ group_id=group.id,
214
+ application_id=app.id)
215
+ ```
216
+
217
+ ## Import
218
+
219
+ IAM group memberships can be imported using two format:
220
+
221
+ - For user: `{group_id}/user/{user_id}`
222
+
223
+ - For application: `{group_id}/app/{application_id}`
224
+
225
+ bash
226
+
227
+ ```sh
228
+ $ pulumi import scaleway:index/iamGroupMembership:IamGroupMembership app 11111111-1111-1111-1111-111111111111/app/11111111-1111-1111-1111-111111111111
229
+ ```
230
+
231
+ :param str resource_name: The name of the resource.
232
+ :param IamGroupMembershipArgs args: The arguments to use to populate this resource's properties.
233
+ :param pulumi.ResourceOptions opts: Options for the resource.
234
+ """
235
+ ...
236
+ def __init__(__self__, resource_name: str, *args, **kwargs):
237
+ resource_args, opts = _utilities.get_resource_args_opts(IamGroupMembershipArgs, pulumi.ResourceOptions, *args, **kwargs)
238
+ if resource_args is not None:
239
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
240
+ else:
241
+ __self__._internal_init(resource_name, *args, **kwargs)
242
+
243
+ def _internal_init(__self__,
244
+ resource_name: str,
245
+ opts: Optional[pulumi.ResourceOptions] = None,
246
+ application_id: Optional[pulumi.Input[str]] = None,
247
+ group_id: Optional[pulumi.Input[str]] = None,
248
+ user_id: Optional[pulumi.Input[str]] = None,
249
+ __props__=None):
250
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
251
+ if not isinstance(opts, pulumi.ResourceOptions):
252
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
253
+ if opts.id is None:
254
+ if __props__ is not None:
255
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
256
+ __props__ = IamGroupMembershipArgs.__new__(IamGroupMembershipArgs)
257
+
258
+ __props__.__dict__["application_id"] = application_id
259
+ if group_id is None and not opts.urn:
260
+ raise TypeError("Missing required property 'group_id'")
261
+ __props__.__dict__["group_id"] = group_id
262
+ __props__.__dict__["user_id"] = user_id
263
+ super(IamGroupMembership, __self__).__init__(
264
+ 'scaleway:index/iamGroupMembership:IamGroupMembership',
265
+ resource_name,
266
+ __props__,
267
+ opts)
268
+
269
+ @staticmethod
270
+ def get(resource_name: str,
271
+ id: pulumi.Input[str],
272
+ opts: Optional[pulumi.ResourceOptions] = None,
273
+ application_id: Optional[pulumi.Input[str]] = None,
274
+ group_id: Optional[pulumi.Input[str]] = None,
275
+ user_id: Optional[pulumi.Input[str]] = None) -> 'IamGroupMembership':
276
+ """
277
+ Get an existing IamGroupMembership resource's state with the given name, id, and optional extra
278
+ properties used to qualify the lookup.
279
+
280
+ :param str resource_name: The unique name of the resulting resource.
281
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
282
+ :param pulumi.ResourceOptions opts: Options for the resource.
283
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
284
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
285
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
286
+
287
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
288
+ """
289
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
290
+
291
+ __props__ = _IamGroupMembershipState.__new__(_IamGroupMembershipState)
292
+
293
+ __props__.__dict__["application_id"] = application_id
294
+ __props__.__dict__["group_id"] = group_id
295
+ __props__.__dict__["user_id"] = user_id
296
+ return IamGroupMembership(resource_name, opts=opts, __props__=__props__)
297
+
298
+ @property
299
+ @pulumi.getter(name="applicationId")
300
+ def application_id(self) -> pulumi.Output[Optional[str]]:
301
+ """
302
+ The ID of the application that will be added to the group.
303
+ """
304
+ return pulumi.get(self, "application_id")
305
+
306
+ @property
307
+ @pulumi.getter(name="groupId")
308
+ def group_id(self) -> pulumi.Output[str]:
309
+ """
310
+ ID of the group to add members to.
311
+ """
312
+ return pulumi.get(self, "group_id")
313
+
314
+ @property
315
+ @pulumi.getter(name="userId")
316
+ def user_id(self) -> pulumi.Output[Optional[str]]:
317
+ """
318
+ The ID of the user that will be added to the group
319
+
320
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
321
+ """
322
+ return pulumi.get(self, "user_id")
323
+