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,479 @@
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__ = ['CockpitTokenArgs', 'CockpitToken']
20
+
21
+ @pulumi.input_type
22
+ class CockpitTokenArgs:
23
+ def __init__(__self__, *,
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ project_id: Optional[pulumi.Input[str]] = None,
26
+ region: Optional[pulumi.Input[str]] = None,
27
+ scopes: Optional[pulumi.Input['CockpitTokenScopesArgs']] = None):
28
+ """
29
+ The set of arguments for constructing a CockpitToken resource.
30
+ :param pulumi.Input[str] name: The name of the token.
31
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
32
+ :param pulumi.Input[str] region: ) The region where the Cockpit token is located.
33
+ :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Scopes allowed, each with default values:
34
+ """
35
+ if name is not None:
36
+ pulumi.set(__self__, "name", name)
37
+ if project_id is not None:
38
+ pulumi.set(__self__, "project_id", project_id)
39
+ if region is not None:
40
+ pulumi.set(__self__, "region", region)
41
+ if scopes is not None:
42
+ pulumi.set(__self__, "scopes", scopes)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def name(self) -> Optional[pulumi.Input[str]]:
47
+ """
48
+ The name of the token.
49
+ """
50
+ return pulumi.get(self, "name")
51
+
52
+ @name.setter
53
+ def name(self, value: Optional[pulumi.Input[str]]):
54
+ pulumi.set(self, "name", value)
55
+
56
+ @property
57
+ @pulumi.getter(name="projectId")
58
+ def project_id(self) -> Optional[pulumi.Input[str]]:
59
+ """
60
+ ) The ID of the Project the Cockpit is associated with.
61
+ """
62
+ return pulumi.get(self, "project_id")
63
+
64
+ @project_id.setter
65
+ def project_id(self, value: Optional[pulumi.Input[str]]):
66
+ pulumi.set(self, "project_id", value)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def region(self) -> Optional[pulumi.Input[str]]:
71
+ """
72
+ ) The region where the Cockpit token is located.
73
+ """
74
+ return pulumi.get(self, "region")
75
+
76
+ @region.setter
77
+ def region(self, value: Optional[pulumi.Input[str]]):
78
+ pulumi.set(self, "region", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def scopes(self) -> Optional[pulumi.Input['CockpitTokenScopesArgs']]:
83
+ """
84
+ Scopes allowed, each with default values:
85
+ """
86
+ return pulumi.get(self, "scopes")
87
+
88
+ @scopes.setter
89
+ def scopes(self, value: Optional[pulumi.Input['CockpitTokenScopesArgs']]):
90
+ pulumi.set(self, "scopes", value)
91
+
92
+
93
+ @pulumi.input_type
94
+ class _CockpitTokenState:
95
+ def __init__(__self__, *,
96
+ created_at: Optional[pulumi.Input[str]] = None,
97
+ name: Optional[pulumi.Input[str]] = None,
98
+ project_id: Optional[pulumi.Input[str]] = None,
99
+ region: Optional[pulumi.Input[str]] = None,
100
+ scopes: Optional[pulumi.Input['CockpitTokenScopesArgs']] = None,
101
+ secret_key: Optional[pulumi.Input[str]] = None,
102
+ updated_at: Optional[pulumi.Input[str]] = None):
103
+ """
104
+ Input properties used for looking up and filtering CockpitToken resources.
105
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Cockpit Token (Format ISO 8601)
106
+ :param pulumi.Input[str] name: The name of the token.
107
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
108
+ :param pulumi.Input[str] region: ) The region where the Cockpit token is located.
109
+ :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Scopes allowed, each with default values:
110
+ :param pulumi.Input[str] secret_key: The secret key of the token.
111
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Cockpit Token (Format ISO 8601)
112
+ """
113
+ if created_at is not None:
114
+ pulumi.set(__self__, "created_at", created_at)
115
+ if name is not None:
116
+ pulumi.set(__self__, "name", name)
117
+ if project_id is not None:
118
+ pulumi.set(__self__, "project_id", project_id)
119
+ if region is not None:
120
+ pulumi.set(__self__, "region", region)
121
+ if scopes is not None:
122
+ pulumi.set(__self__, "scopes", scopes)
123
+ if secret_key is not None:
124
+ pulumi.set(__self__, "secret_key", secret_key)
125
+ if updated_at is not None:
126
+ pulumi.set(__self__, "updated_at", updated_at)
127
+
128
+ @property
129
+ @pulumi.getter(name="createdAt")
130
+ def created_at(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ The date and time of the creation of the Cockpit Token (Format ISO 8601)
133
+ """
134
+ return pulumi.get(self, "created_at")
135
+
136
+ @created_at.setter
137
+ def created_at(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "created_at", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def name(self) -> Optional[pulumi.Input[str]]:
143
+ """
144
+ The name of the token.
145
+ """
146
+ return pulumi.get(self, "name")
147
+
148
+ @name.setter
149
+ def name(self, value: Optional[pulumi.Input[str]]):
150
+ pulumi.set(self, "name", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="projectId")
154
+ def project_id(self) -> Optional[pulumi.Input[str]]:
155
+ """
156
+ ) The ID of the Project the Cockpit is associated with.
157
+ """
158
+ return pulumi.get(self, "project_id")
159
+
160
+ @project_id.setter
161
+ def project_id(self, value: Optional[pulumi.Input[str]]):
162
+ pulumi.set(self, "project_id", value)
163
+
164
+ @property
165
+ @pulumi.getter
166
+ def region(self) -> Optional[pulumi.Input[str]]:
167
+ """
168
+ ) The region where the Cockpit token is located.
169
+ """
170
+ return pulumi.get(self, "region")
171
+
172
+ @region.setter
173
+ def region(self, value: Optional[pulumi.Input[str]]):
174
+ pulumi.set(self, "region", value)
175
+
176
+ @property
177
+ @pulumi.getter
178
+ def scopes(self) -> Optional[pulumi.Input['CockpitTokenScopesArgs']]:
179
+ """
180
+ Scopes allowed, each with default values:
181
+ """
182
+ return pulumi.get(self, "scopes")
183
+
184
+ @scopes.setter
185
+ def scopes(self, value: Optional[pulumi.Input['CockpitTokenScopesArgs']]):
186
+ pulumi.set(self, "scopes", value)
187
+
188
+ @property
189
+ @pulumi.getter(name="secretKey")
190
+ def secret_key(self) -> Optional[pulumi.Input[str]]:
191
+ """
192
+ The secret key of the token.
193
+ """
194
+ return pulumi.get(self, "secret_key")
195
+
196
+ @secret_key.setter
197
+ def secret_key(self, value: Optional[pulumi.Input[str]]):
198
+ pulumi.set(self, "secret_key", value)
199
+
200
+ @property
201
+ @pulumi.getter(name="updatedAt")
202
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
203
+ """
204
+ The date and time of the last update of the Cockpit Token (Format ISO 8601)
205
+ """
206
+ return pulumi.get(self, "updated_at")
207
+
208
+ @updated_at.setter
209
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
210
+ pulumi.set(self, "updated_at", value)
211
+
212
+
213
+ class CockpitToken(pulumi.CustomResource):
214
+ @overload
215
+ def __init__(__self__,
216
+ resource_name: str,
217
+ opts: Optional[pulumi.ResourceOptions] = None,
218
+ name: Optional[pulumi.Input[str]] = None,
219
+ project_id: Optional[pulumi.Input[str]] = None,
220
+ region: Optional[pulumi.Input[str]] = None,
221
+ scopes: Optional[pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']]] = None,
222
+ __props__=None):
223
+ """
224
+ The `CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens).
225
+
226
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
227
+
228
+ ## Example Usage
229
+
230
+ ### Use a Cockpit token
231
+
232
+ The following commands allow you to:
233
+
234
+ - create a Scaleway Project named `my-project`
235
+ - create a Cockpit token named `my-awesome-token` inside the Project
236
+ - assign `read` permissions to the token for metrics and logs
237
+ - disable `write` permissions for metrics and logs
238
+
239
+ ```python
240
+ import pulumi
241
+ import pulumiverse_scaleway as scaleway
242
+
243
+ project = scaleway.AccountProject("project", name="my-project")
244
+ main = scaleway.CockpitToken("main",
245
+ project_id=project.id,
246
+ name="my-awesome-token")
247
+ ```
248
+
249
+ ```python
250
+ import pulumi
251
+ import pulumiverse_scaleway as scaleway
252
+
253
+ project = scaleway.AccountProject("project", name="my-project")
254
+ # Create a token that can read metrics and logs but not write
255
+ main = scaleway.CockpitToken("main",
256
+ project_id=project.id,
257
+ name="my-awesome-token",
258
+ scopes={
259
+ "query_metrics": True,
260
+ "write_metrics": False,
261
+ "query_logs": True,
262
+ "write_logs": False,
263
+ })
264
+ ```
265
+
266
+ ## Import
267
+
268
+ This section explains how to import a Cockpit token using the `{region}/{id}` format.
269
+
270
+ bash
271
+
272
+ ```sh
273
+ $ pulumi import scaleway:index/cockpitToken:CockpitToken main fr-par/11111111-1111-1111-1111-111111111111
274
+ ```
275
+
276
+ :param str resource_name: The name of the resource.
277
+ :param pulumi.ResourceOptions opts: Options for the resource.
278
+ :param pulumi.Input[str] name: The name of the token.
279
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
280
+ :param pulumi.Input[str] region: ) The region where the Cockpit token is located.
281
+ :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Scopes allowed, each with default values:
282
+ """
283
+ ...
284
+ @overload
285
+ def __init__(__self__,
286
+ resource_name: str,
287
+ args: Optional[CockpitTokenArgs] = None,
288
+ opts: Optional[pulumi.ResourceOptions] = None):
289
+ """
290
+ The `CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens).
291
+
292
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
293
+
294
+ ## Example Usage
295
+
296
+ ### Use a Cockpit token
297
+
298
+ The following commands allow you to:
299
+
300
+ - create a Scaleway Project named `my-project`
301
+ - create a Cockpit token named `my-awesome-token` inside the Project
302
+ - assign `read` permissions to the token for metrics and logs
303
+ - disable `write` permissions for metrics and logs
304
+
305
+ ```python
306
+ import pulumi
307
+ import pulumiverse_scaleway as scaleway
308
+
309
+ project = scaleway.AccountProject("project", name="my-project")
310
+ main = scaleway.CockpitToken("main",
311
+ project_id=project.id,
312
+ name="my-awesome-token")
313
+ ```
314
+
315
+ ```python
316
+ import pulumi
317
+ import pulumiverse_scaleway as scaleway
318
+
319
+ project = scaleway.AccountProject("project", name="my-project")
320
+ # Create a token that can read metrics and logs but not write
321
+ main = scaleway.CockpitToken("main",
322
+ project_id=project.id,
323
+ name="my-awesome-token",
324
+ scopes={
325
+ "query_metrics": True,
326
+ "write_metrics": False,
327
+ "query_logs": True,
328
+ "write_logs": False,
329
+ })
330
+ ```
331
+
332
+ ## Import
333
+
334
+ This section explains how to import a Cockpit token using the `{region}/{id}` format.
335
+
336
+ bash
337
+
338
+ ```sh
339
+ $ pulumi import scaleway:index/cockpitToken:CockpitToken main fr-par/11111111-1111-1111-1111-111111111111
340
+ ```
341
+
342
+ :param str resource_name: The name of the resource.
343
+ :param CockpitTokenArgs args: The arguments to use to populate this resource's properties.
344
+ :param pulumi.ResourceOptions opts: Options for the resource.
345
+ """
346
+ ...
347
+ def __init__(__self__, resource_name: str, *args, **kwargs):
348
+ resource_args, opts = _utilities.get_resource_args_opts(CockpitTokenArgs, pulumi.ResourceOptions, *args, **kwargs)
349
+ if resource_args is not None:
350
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
351
+ else:
352
+ __self__._internal_init(resource_name, *args, **kwargs)
353
+
354
+ def _internal_init(__self__,
355
+ resource_name: str,
356
+ opts: Optional[pulumi.ResourceOptions] = None,
357
+ name: Optional[pulumi.Input[str]] = None,
358
+ project_id: Optional[pulumi.Input[str]] = None,
359
+ region: Optional[pulumi.Input[str]] = None,
360
+ scopes: Optional[pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']]] = None,
361
+ __props__=None):
362
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
363
+ if not isinstance(opts, pulumi.ResourceOptions):
364
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
365
+ if opts.id is None:
366
+ if __props__ is not None:
367
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
368
+ __props__ = CockpitTokenArgs.__new__(CockpitTokenArgs)
369
+
370
+ __props__.__dict__["name"] = name
371
+ __props__.__dict__["project_id"] = project_id
372
+ __props__.__dict__["region"] = region
373
+ __props__.__dict__["scopes"] = scopes
374
+ __props__.__dict__["created_at"] = None
375
+ __props__.__dict__["secret_key"] = None
376
+ __props__.__dict__["updated_at"] = None
377
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretKey"])
378
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
379
+ super(CockpitToken, __self__).__init__(
380
+ 'scaleway:index/cockpitToken:CockpitToken',
381
+ resource_name,
382
+ __props__,
383
+ opts)
384
+
385
+ @staticmethod
386
+ def get(resource_name: str,
387
+ id: pulumi.Input[str],
388
+ opts: Optional[pulumi.ResourceOptions] = None,
389
+ created_at: Optional[pulumi.Input[str]] = None,
390
+ name: Optional[pulumi.Input[str]] = None,
391
+ project_id: Optional[pulumi.Input[str]] = None,
392
+ region: Optional[pulumi.Input[str]] = None,
393
+ scopes: Optional[pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']]] = None,
394
+ secret_key: Optional[pulumi.Input[str]] = None,
395
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'CockpitToken':
396
+ """
397
+ Get an existing CockpitToken resource's state with the given name, id, and optional extra
398
+ properties used to qualify the lookup.
399
+
400
+ :param str resource_name: The unique name of the resulting resource.
401
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
402
+ :param pulumi.ResourceOptions opts: Options for the resource.
403
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Cockpit Token (Format ISO 8601)
404
+ :param pulumi.Input[str] name: The name of the token.
405
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
406
+ :param pulumi.Input[str] region: ) The region where the Cockpit token is located.
407
+ :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Scopes allowed, each with default values:
408
+ :param pulumi.Input[str] secret_key: The secret key of the token.
409
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Cockpit Token (Format ISO 8601)
410
+ """
411
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
412
+
413
+ __props__ = _CockpitTokenState.__new__(_CockpitTokenState)
414
+
415
+ __props__.__dict__["created_at"] = created_at
416
+ __props__.__dict__["name"] = name
417
+ __props__.__dict__["project_id"] = project_id
418
+ __props__.__dict__["region"] = region
419
+ __props__.__dict__["scopes"] = scopes
420
+ __props__.__dict__["secret_key"] = secret_key
421
+ __props__.__dict__["updated_at"] = updated_at
422
+ return CockpitToken(resource_name, opts=opts, __props__=__props__)
423
+
424
+ @property
425
+ @pulumi.getter(name="createdAt")
426
+ def created_at(self) -> pulumi.Output[str]:
427
+ """
428
+ The date and time of the creation of the Cockpit Token (Format ISO 8601)
429
+ """
430
+ return pulumi.get(self, "created_at")
431
+
432
+ @property
433
+ @pulumi.getter
434
+ def name(self) -> pulumi.Output[str]:
435
+ """
436
+ The name of the token.
437
+ """
438
+ return pulumi.get(self, "name")
439
+
440
+ @property
441
+ @pulumi.getter(name="projectId")
442
+ def project_id(self) -> pulumi.Output[str]:
443
+ """
444
+ ) The ID of the Project the Cockpit is associated with.
445
+ """
446
+ return pulumi.get(self, "project_id")
447
+
448
+ @property
449
+ @pulumi.getter
450
+ def region(self) -> pulumi.Output[str]:
451
+ """
452
+ ) The region where the Cockpit token is located.
453
+ """
454
+ return pulumi.get(self, "region")
455
+
456
+ @property
457
+ @pulumi.getter
458
+ def scopes(self) -> pulumi.Output['outputs.CockpitTokenScopes']:
459
+ """
460
+ Scopes allowed, each with default values:
461
+ """
462
+ return pulumi.get(self, "scopes")
463
+
464
+ @property
465
+ @pulumi.getter(name="secretKey")
466
+ def secret_key(self) -> pulumi.Output[str]:
467
+ """
468
+ The secret key of the token.
469
+ """
470
+ return pulumi.get(self, "secret_key")
471
+
472
+ @property
473
+ @pulumi.getter(name="updatedAt")
474
+ def updated_at(self) -> pulumi.Output[str]:
475
+ """
476
+ The date and time of the last update of the Cockpit Token (Format ISO 8601)
477
+ """
478
+ return pulumi.get(self, "updated_at")
479
+
@@ -0,0 +1,8 @@
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 sys
6
+ from .vars import _ExportableConfig
7
+
8
+ sys.modules[__name__].__class__ = _ExportableConfig
@@ -0,0 +1,56 @@
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
+ accessKey: Optional[str]
18
+ """
19
+ The Scaleway access key.
20
+ """
21
+
22
+ apiUrl: Optional[str]
23
+ """
24
+ The Scaleway API URL to use.
25
+ """
26
+
27
+ organizationId: Optional[str]
28
+ """
29
+ The Scaleway organization ID.
30
+ """
31
+
32
+ profile: Optional[str]
33
+ """
34
+ The Scaleway profile to use.
35
+ """
36
+
37
+ projectId: Optional[str]
38
+ """
39
+ The Scaleway project ID.
40
+ """
41
+
42
+ region: Optional[str]
43
+ """
44
+ The region you want to attach the resource to
45
+ """
46
+
47
+ secretKey: Optional[str]
48
+ """
49
+ The Scaleway secret Key.
50
+ """
51
+
52
+ zone: Optional[str]
53
+ """
54
+ The zone you want to attach the resource to
55
+ """
56
+
@@ -0,0 +1,78 @@
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
+ import types
18
+
19
+ __config__ = pulumi.Config('scaleway')
20
+
21
+
22
+ class _ExportableConfig(types.ModuleType):
23
+ @property
24
+ def access_key(self) -> Optional[str]:
25
+ """
26
+ The Scaleway access key.
27
+ """
28
+ return __config__.get('accessKey') or _utilities.get_env('SCW_ACCESS_KEY')
29
+
30
+ @property
31
+ def api_url(self) -> Optional[str]:
32
+ """
33
+ The Scaleway API URL to use.
34
+ """
35
+ return __config__.get('apiUrl')
36
+
37
+ @property
38
+ def organization_id(self) -> Optional[str]:
39
+ """
40
+ The Scaleway organization ID.
41
+ """
42
+ return __config__.get('organizationId')
43
+
44
+ @property
45
+ def profile(self) -> Optional[str]:
46
+ """
47
+ The Scaleway profile to use.
48
+ """
49
+ return __config__.get('profile')
50
+
51
+ @property
52
+ def project_id(self) -> Optional[str]:
53
+ """
54
+ The Scaleway project ID.
55
+ """
56
+ return __config__.get('projectId') or _utilities.get_env('SCW_DEFAULT_PROJECT_ID')
57
+
58
+ @property
59
+ def region(self) -> Optional[str]:
60
+ """
61
+ The region you want to attach the resource to
62
+ """
63
+ return __config__.get('region') or _utilities.get_env('SCW_DEFAULT_REGION')
64
+
65
+ @property
66
+ def secret_key(self) -> Optional[str]:
67
+ """
68
+ The Scaleway secret Key.
69
+ """
70
+ return __config__.get('secretKey') or _utilities.get_env('SCW_SECRET_KEY')
71
+
72
+ @property
73
+ def zone(self) -> Optional[str]:
74
+ """
75
+ The zone you want to attach the resource to
76
+ """
77
+ return __config__.get('zone') or _utilities.get_env('SCW_DEFAULT_ZONE')
78
+