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.
- pulumiverse_scaleway/__init__.py +1065 -0
- pulumiverse_scaleway/_inputs.py +8688 -0
- pulumiverse_scaleway/_utilities.py +327 -0
- pulumiverse_scaleway/account_project.py +316 -0
- pulumiverse_scaleway/account_ssh_key.py +454 -0
- pulumiverse_scaleway/apple_silicon_server.py +564 -0
- pulumiverse_scaleway/baremetal_server.py +1579 -0
- pulumiverse_scaleway/block_snapshot.py +401 -0
- pulumiverse_scaleway/block_volume.py +527 -0
- pulumiverse_scaleway/cockpit.py +314 -0
- pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
- pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
- pulumiverse_scaleway/cockpit_source.py +567 -0
- pulumiverse_scaleway/cockpit_token.py +479 -0
- pulumiverse_scaleway/config/__init__.py +8 -0
- pulumiverse_scaleway/config/__init__.pyi +56 -0
- pulumiverse_scaleway/config/vars.py +78 -0
- pulumiverse_scaleway/container.py +1373 -0
- pulumiverse_scaleway/container_cron.py +458 -0
- pulumiverse_scaleway/container_domain.py +406 -0
- pulumiverse_scaleway/container_namespace.py +636 -0
- pulumiverse_scaleway/container_token.py +452 -0
- pulumiverse_scaleway/container_trigger.py +480 -0
- pulumiverse_scaleway/database.py +407 -0
- pulumiverse_scaleway/database_acl.py +332 -0
- pulumiverse_scaleway/database_backup.py +574 -0
- pulumiverse_scaleway/database_instance.py +1641 -0
- pulumiverse_scaleway/database_privilege.py +422 -0
- pulumiverse_scaleway/database_read_replica.py +528 -0
- pulumiverse_scaleway/database_user.py +446 -0
- pulumiverse_scaleway/domain_record.py +1116 -0
- pulumiverse_scaleway/domain_zone.py +430 -0
- pulumiverse_scaleway/flexible_ip.py +702 -0
- pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
- pulumiverse_scaleway/function.py +1103 -0
- pulumiverse_scaleway/function_cron.py +462 -0
- pulumiverse_scaleway/function_domain.py +370 -0
- pulumiverse_scaleway/function_namespace.py +580 -0
- pulumiverse_scaleway/function_token.py +460 -0
- pulumiverse_scaleway/function_trigger.py +480 -0
- pulumiverse_scaleway/get_account_project.py +170 -0
- pulumiverse_scaleway/get_account_ssh_key.py +205 -0
- pulumiverse_scaleway/get_availability_zones.py +139 -0
- pulumiverse_scaleway/get_baremetal_offer.py +245 -0
- pulumiverse_scaleway/get_baremetal_option.py +168 -0
- pulumiverse_scaleway/get_baremetal_os.py +174 -0
- pulumiverse_scaleway/get_baremetal_server.py +422 -0
- pulumiverse_scaleway/get_billing_consumptions.py +134 -0
- pulumiverse_scaleway/get_billing_invoices.py +154 -0
- pulumiverse_scaleway/get_block_snapshot.py +174 -0
- pulumiverse_scaleway/get_block_volume.py +188 -0
- pulumiverse_scaleway/get_cockpit.py +204 -0
- pulumiverse_scaleway/get_cockpit_plan.py +125 -0
- pulumiverse_scaleway/get_cockpit_source.py +262 -0
- pulumiverse_scaleway/get_config.py +180 -0
- pulumiverse_scaleway/get_container.py +522 -0
- pulumiverse_scaleway/get_container_namespace.py +283 -0
- pulumiverse_scaleway/get_database.py +187 -0
- pulumiverse_scaleway/get_database_acl.py +143 -0
- pulumiverse_scaleway/get_database_backup.py +253 -0
- pulumiverse_scaleway/get_database_instance.py +404 -0
- pulumiverse_scaleway/get_database_privilege.py +181 -0
- pulumiverse_scaleway/get_domain_record.py +340 -0
- pulumiverse_scaleway/get_domain_zone.py +201 -0
- pulumiverse_scaleway/get_flexible_ip.py +247 -0
- pulumiverse_scaleway/get_flexible_ips.py +240 -0
- pulumiverse_scaleway/get_function.py +365 -0
- pulumiverse_scaleway/get_function_namespace.py +238 -0
- pulumiverse_scaleway/get_iam_api_key.py +210 -0
- pulumiverse_scaleway/get_iam_application.py +210 -0
- pulumiverse_scaleway/get_iam_group.py +236 -0
- pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
- pulumiverse_scaleway/get_iam_user.py +177 -0
- pulumiverse_scaleway/get_instance_image.py +305 -0
- pulumiverse_scaleway/get_instance_ip.py +204 -0
- pulumiverse_scaleway/get_instance_placement_group.py +212 -0
- pulumiverse_scaleway/get_instance_private_nic.py +226 -0
- pulumiverse_scaleway/get_instance_security_group.py +268 -0
- pulumiverse_scaleway/get_instance_server.py +502 -0
- pulumiverse_scaleway/get_instance_servers.py +187 -0
- pulumiverse_scaleway/get_instance_snapshot.py +248 -0
- pulumiverse_scaleway/get_instance_volume.py +215 -0
- pulumiverse_scaleway/get_iot_device.py +257 -0
- pulumiverse_scaleway/get_iot_hub.py +322 -0
- pulumiverse_scaleway/get_ipam_ip.py +419 -0
- pulumiverse_scaleway/get_ipam_ips.py +358 -0
- pulumiverse_scaleway/get_k8s_version.py +196 -0
- pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
- pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
- pulumiverse_scaleway/get_lb_acls.py +198 -0
- pulumiverse_scaleway/get_lb_backend.py +486 -0
- pulumiverse_scaleway/get_lb_backends.py +196 -0
- pulumiverse_scaleway/get_lb_frontend.py +274 -0
- pulumiverse_scaleway/get_lb_frontends.py +196 -0
- pulumiverse_scaleway/get_lb_ips.py +198 -0
- pulumiverse_scaleway/get_lb_route.py +217 -0
- pulumiverse_scaleway/get_lb_routes.py +179 -0
- pulumiverse_scaleway/get_lbs.py +187 -0
- pulumiverse_scaleway/get_loadbalancer.py +339 -0
- pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
- pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
- pulumiverse_scaleway/get_marketplace_image.py +147 -0
- pulumiverse_scaleway/get_mnq_sns.py +150 -0
- pulumiverse_scaleway/get_mnq_sqs.py +150 -0
- pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
- pulumiverse_scaleway/get_object_bucket.py +290 -0
- pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
- pulumiverse_scaleway/get_redis_cluster.py +347 -0
- pulumiverse_scaleway/get_registry_image.py +239 -0
- pulumiverse_scaleway/get_registry_image_tag.py +229 -0
- pulumiverse_scaleway/get_registry_namespace.py +199 -0
- pulumiverse_scaleway/get_secret.py +338 -0
- pulumiverse_scaleway/get_secret_version.py +340 -0
- pulumiverse_scaleway/get_tem_domain.py +378 -0
- pulumiverse_scaleway/get_vpc.py +246 -0
- pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
- pulumiverse_scaleway/get_vpc_private_network.py +282 -0
- pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
- pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
- pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
- pulumiverse_scaleway/get_vpc_routes.py +208 -0
- pulumiverse_scaleway/get_vpcs.py +174 -0
- pulumiverse_scaleway/get_web_host_offer.py +192 -0
- pulumiverse_scaleway/get_webhosting.py +332 -0
- pulumiverse_scaleway/iam_api_key.py +620 -0
- pulumiverse_scaleway/iam_application.py +417 -0
- pulumiverse_scaleway/iam_group.py +566 -0
- pulumiverse_scaleway/iam_group_membership.py +323 -0
- pulumiverse_scaleway/iam_policy.py +773 -0
- pulumiverse_scaleway/iam_ssh_key.py +455 -0
- pulumiverse_scaleway/iam_user.py +513 -0
- pulumiverse_scaleway/inference_deployment.py +822 -0
- pulumiverse_scaleway/instance_image.py +750 -0
- pulumiverse_scaleway/instance_ip.py +483 -0
- pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
- pulumiverse_scaleway/instance_placement_group.py +479 -0
- pulumiverse_scaleway/instance_private_nic.py +555 -0
- pulumiverse_scaleway/instance_security_group.py +720 -0
- pulumiverse_scaleway/instance_security_group_rules.py +439 -0
- pulumiverse_scaleway/instance_server.py +2006 -0
- pulumiverse_scaleway/instance_snapshot.py +669 -0
- pulumiverse_scaleway/instance_user_data.py +435 -0
- pulumiverse_scaleway/instance_volume.py +535 -0
- pulumiverse_scaleway/iot_device.py +750 -0
- pulumiverse_scaleway/iot_hub.py +896 -0
- pulumiverse_scaleway/iot_network.py +472 -0
- pulumiverse_scaleway/iot_route.py +660 -0
- pulumiverse_scaleway/ipam_ip.py +757 -0
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
- pulumiverse_scaleway/job_definition.py +692 -0
- pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
- pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
- pulumiverse_scaleway/loadbalancer.py +1061 -0
- pulumiverse_scaleway/loadbalancer_acl.py +520 -0
- pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
- pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
- pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
- pulumiverse_scaleway/loadbalancer_ip.py +514 -0
- pulumiverse_scaleway/loadbalancer_route.py +523 -0
- pulumiverse_scaleway/mnq_nats_account.py +334 -0
- pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
- pulumiverse_scaleway/mnq_sns.py +306 -0
- pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
- pulumiverse_scaleway/mnq_sns_topic.py +659 -0
- pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
- pulumiverse_scaleway/mnq_sqs.py +304 -0
- pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
- pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
- pulumiverse_scaleway/mongo_db_instance.py +907 -0
- pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
- pulumiverse_scaleway/object_bucket.py +874 -0
- pulumiverse_scaleway/object_bucket_acl.py +596 -0
- pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
- pulumiverse_scaleway/object_bucket_policy.py +673 -0
- pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
- pulumiverse_scaleway/object_item.py +776 -0
- pulumiverse_scaleway/outputs.py +11808 -0
- pulumiverse_scaleway/provider.py +327 -0
- pulumiverse_scaleway/pulumi-plugin.json +6 -0
- pulumiverse_scaleway/py.typed +0 -0
- pulumiverse_scaleway/redis_cluster.py +1201 -0
- pulumiverse_scaleway/registry_namespace.py +458 -0
- pulumiverse_scaleway/sdb_database.py +432 -0
- pulumiverse_scaleway/secret.py +663 -0
- pulumiverse_scaleway/secret_version.py +487 -0
- pulumiverse_scaleway/tem_domain.py +1030 -0
- pulumiverse_scaleway/tem_domain_validation.py +303 -0
- pulumiverse_scaleway/tem_webhook.py +640 -0
- pulumiverse_scaleway/vpc.py +536 -0
- pulumiverse_scaleway/vpc_gateway_network.py +866 -0
- pulumiverse_scaleway/vpc_private_network.py +734 -0
- pulumiverse_scaleway/vpc_public_gateway.py +789 -0
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
- pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
- pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
- pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
- pulumiverse_scaleway/vpc_route.py +577 -0
- pulumiverse_scaleway/webhosting.py +805 -0
- pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
- pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
- pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
- 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
|
+
|