pulumiverse-scaleway 1.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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 +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -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 +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -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 +1636 -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/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,326 @@
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__ = ['CockpitGrafanaUserArgs', 'CockpitGrafanaUser']
18
+
19
+ @pulumi.input_type
20
+ class CockpitGrafanaUserArgs:
21
+ def __init__(__self__, *,
22
+ login: pulumi.Input[str],
23
+ role: pulumi.Input[str],
24
+ project_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a CockpitGrafanaUser resource.
27
+ :param pulumi.Input[str] login: The login of the grafana user.
28
+ :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`.
29
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with.
30
+ """
31
+ pulumi.set(__self__, "login", login)
32
+ pulumi.set(__self__, "role", role)
33
+ if project_id is not None:
34
+ pulumi.set(__self__, "project_id", project_id)
35
+
36
+ @property
37
+ @pulumi.getter
38
+ def login(self) -> pulumi.Input[str]:
39
+ """
40
+ The login of the grafana user.
41
+ """
42
+ return pulumi.get(self, "login")
43
+
44
+ @login.setter
45
+ def login(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "login", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def role(self) -> pulumi.Input[str]:
51
+ """
52
+ The role of the grafana user. Must be `editor` or `viewer`.
53
+ """
54
+ return pulumi.get(self, "role")
55
+
56
+ @role.setter
57
+ def role(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "role", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="projectId")
62
+ def project_id(self) -> Optional[pulumi.Input[str]]:
63
+ """
64
+ `project_id`) The ID of the project the cockpit is associated with.
65
+ """
66
+ return pulumi.get(self, "project_id")
67
+
68
+ @project_id.setter
69
+ def project_id(self, value: Optional[pulumi.Input[str]]):
70
+ pulumi.set(self, "project_id", value)
71
+
72
+
73
+ @pulumi.input_type
74
+ class _CockpitGrafanaUserState:
75
+ def __init__(__self__, *,
76
+ login: Optional[pulumi.Input[str]] = None,
77
+ password: Optional[pulumi.Input[str]] = None,
78
+ project_id: Optional[pulumi.Input[str]] = None,
79
+ role: Optional[pulumi.Input[str]] = None):
80
+ """
81
+ Input properties used for looking up and filtering CockpitGrafanaUser resources.
82
+ :param pulumi.Input[str] login: The login of the grafana user.
83
+ :param pulumi.Input[str] password: The password of the grafana user
84
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with.
85
+ :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`.
86
+ """
87
+ if login is not None:
88
+ pulumi.set(__self__, "login", login)
89
+ if password is not None:
90
+ pulumi.set(__self__, "password", password)
91
+ if project_id is not None:
92
+ pulumi.set(__self__, "project_id", project_id)
93
+ if role is not None:
94
+ pulumi.set(__self__, "role", role)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def login(self) -> Optional[pulumi.Input[str]]:
99
+ """
100
+ The login of the grafana user.
101
+ """
102
+ return pulumi.get(self, "login")
103
+
104
+ @login.setter
105
+ def login(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "login", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def password(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ The password of the grafana user
113
+ """
114
+ return pulumi.get(self, "password")
115
+
116
+ @password.setter
117
+ def password(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "password", value)
119
+
120
+ @property
121
+ @pulumi.getter(name="projectId")
122
+ def project_id(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ `project_id`) The ID of the project the cockpit is associated with.
125
+ """
126
+ return pulumi.get(self, "project_id")
127
+
128
+ @project_id.setter
129
+ def project_id(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "project_id", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def role(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ The role of the grafana user. Must be `editor` or `viewer`.
137
+ """
138
+ return pulumi.get(self, "role")
139
+
140
+ @role.setter
141
+ def role(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "role", value)
143
+
144
+
145
+ class CockpitGrafanaUser(pulumi.CustomResource):
146
+ @overload
147
+ def __init__(__self__,
148
+ resource_name: str,
149
+ opts: Optional[pulumi.ResourceOptions] = None,
150
+ login: Optional[pulumi.Input[str]] = None,
151
+ project_id: Optional[pulumi.Input[str]] = None,
152
+ role: Optional[pulumi.Input[str]] = None,
153
+ __props__=None):
154
+ """
155
+ Creates and manages Scaleway Cockpit Grafana Users.
156
+
157
+ For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users).
158
+
159
+ ## Example Usage
160
+
161
+ ```python
162
+ import pulumi
163
+ import pulumiverse_scaleway as scaleway
164
+
165
+ project = scaleway.AccountProject("project", name="test project grafana user")
166
+ main = scaleway.CockpitGrafanaUser("main",
167
+ project_id=project.id,
168
+ login="my-awesome-user",
169
+ role="editor")
170
+ ```
171
+
172
+ ## Import
173
+
174
+ Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g.
175
+
176
+ bash
177
+
178
+ ```sh
179
+ $ pulumi import scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser main 11111111-1111-1111-1111-111111111111/2
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] login: The login of the grafana user.
185
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with.
186
+ :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`.
187
+ """
188
+ ...
189
+ @overload
190
+ def __init__(__self__,
191
+ resource_name: str,
192
+ args: CockpitGrafanaUserArgs,
193
+ opts: Optional[pulumi.ResourceOptions] = None):
194
+ """
195
+ Creates and manages Scaleway Cockpit Grafana Users.
196
+
197
+ For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users).
198
+
199
+ ## Example Usage
200
+
201
+ ```python
202
+ import pulumi
203
+ import pulumiverse_scaleway as scaleway
204
+
205
+ project = scaleway.AccountProject("project", name="test project grafana user")
206
+ main = scaleway.CockpitGrafanaUser("main",
207
+ project_id=project.id,
208
+ login="my-awesome-user",
209
+ role="editor")
210
+ ```
211
+
212
+ ## Import
213
+
214
+ Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g.
215
+
216
+ bash
217
+
218
+ ```sh
219
+ $ pulumi import scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser main 11111111-1111-1111-1111-111111111111/2
220
+ ```
221
+
222
+ :param str resource_name: The name of the resource.
223
+ :param CockpitGrafanaUserArgs args: The arguments to use to populate this resource's properties.
224
+ :param pulumi.ResourceOptions opts: Options for the resource.
225
+ """
226
+ ...
227
+ def __init__(__self__, resource_name: str, *args, **kwargs):
228
+ resource_args, opts = _utilities.get_resource_args_opts(CockpitGrafanaUserArgs, pulumi.ResourceOptions, *args, **kwargs)
229
+ if resource_args is not None:
230
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
231
+ else:
232
+ __self__._internal_init(resource_name, *args, **kwargs)
233
+
234
+ def _internal_init(__self__,
235
+ resource_name: str,
236
+ opts: Optional[pulumi.ResourceOptions] = None,
237
+ login: Optional[pulumi.Input[str]] = None,
238
+ project_id: Optional[pulumi.Input[str]] = None,
239
+ role: Optional[pulumi.Input[str]] = None,
240
+ __props__=None):
241
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
242
+ if not isinstance(opts, pulumi.ResourceOptions):
243
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
244
+ if opts.id is None:
245
+ if __props__ is not None:
246
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
247
+ __props__ = CockpitGrafanaUserArgs.__new__(CockpitGrafanaUserArgs)
248
+
249
+ if login is None and not opts.urn:
250
+ raise TypeError("Missing required property 'login'")
251
+ __props__.__dict__["login"] = login
252
+ __props__.__dict__["project_id"] = project_id
253
+ if role is None and not opts.urn:
254
+ raise TypeError("Missing required property 'role'")
255
+ __props__.__dict__["role"] = role
256
+ __props__.__dict__["password"] = None
257
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
258
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
259
+ super(CockpitGrafanaUser, __self__).__init__(
260
+ 'scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser',
261
+ resource_name,
262
+ __props__,
263
+ opts)
264
+
265
+ @staticmethod
266
+ def get(resource_name: str,
267
+ id: pulumi.Input[str],
268
+ opts: Optional[pulumi.ResourceOptions] = None,
269
+ login: Optional[pulumi.Input[str]] = None,
270
+ password: Optional[pulumi.Input[str]] = None,
271
+ project_id: Optional[pulumi.Input[str]] = None,
272
+ role: Optional[pulumi.Input[str]] = None) -> 'CockpitGrafanaUser':
273
+ """
274
+ Get an existing CockpitGrafanaUser resource's state with the given name, id, and optional extra
275
+ properties used to qualify the lookup.
276
+
277
+ :param str resource_name: The unique name of the resulting resource.
278
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
279
+ :param pulumi.ResourceOptions opts: Options for the resource.
280
+ :param pulumi.Input[str] login: The login of the grafana user.
281
+ :param pulumi.Input[str] password: The password of the grafana user
282
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with.
283
+ :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`.
284
+ """
285
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
286
+
287
+ __props__ = _CockpitGrafanaUserState.__new__(_CockpitGrafanaUserState)
288
+
289
+ __props__.__dict__["login"] = login
290
+ __props__.__dict__["password"] = password
291
+ __props__.__dict__["project_id"] = project_id
292
+ __props__.__dict__["role"] = role
293
+ return CockpitGrafanaUser(resource_name, opts=opts, __props__=__props__)
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def login(self) -> pulumi.Output[str]:
298
+ """
299
+ The login of the grafana user.
300
+ """
301
+ return pulumi.get(self, "login")
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def password(self) -> pulumi.Output[str]:
306
+ """
307
+ The password of the grafana user
308
+ """
309
+ return pulumi.get(self, "password")
310
+
311
+ @property
312
+ @pulumi.getter(name="projectId")
313
+ def project_id(self) -> pulumi.Output[str]:
314
+ """
315
+ `project_id`) The ID of the project the cockpit is associated with.
316
+ """
317
+ return pulumi.get(self, "project_id")
318
+
319
+ @property
320
+ @pulumi.getter
321
+ def role(self) -> pulumi.Output[str]:
322
+ """
323
+ The role of the grafana user. Must be `editor` or `viewer`.
324
+ """
325
+ return pulumi.get(self, "role")
326
+