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,462 @@
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__ = ['FunctionTokenArgs', 'FunctionToken']
18
+
19
+ @pulumi.input_type
20
+ class FunctionTokenArgs:
21
+ def __init__(__self__, *,
22
+ description: Optional[pulumi.Input[str]] = None,
23
+ expires_at: Optional[pulumi.Input[str]] = None,
24
+ function_id: Optional[pulumi.Input[str]] = None,
25
+ namespace_id: Optional[pulumi.Input[str]] = None,
26
+ region: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a FunctionToken resource.
29
+ :param pulumi.Input[str] description: The description of the token.
30
+ :param pulumi.Input[str] expires_at: The expiration date of the token.
31
+ :param pulumi.Input[str] function_id: The ID of the function.
32
+
33
+ > Only one of `namespace_id` or `function_id` must be set.
34
+ :param pulumi.Input[str] namespace_id: The ID of the function namespace.
35
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
36
+
37
+ > **Important** Updates to any fields will recreate the token.
38
+ """
39
+ if description is not None:
40
+ pulumi.set(__self__, "description", description)
41
+ if expires_at is not None:
42
+ pulumi.set(__self__, "expires_at", expires_at)
43
+ if function_id is not None:
44
+ pulumi.set(__self__, "function_id", function_id)
45
+ if namespace_id is not None:
46
+ pulumi.set(__self__, "namespace_id", namespace_id)
47
+ if region is not None:
48
+ pulumi.set(__self__, "region", region)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def description(self) -> Optional[pulumi.Input[str]]:
53
+ """
54
+ The description of the token.
55
+ """
56
+ return pulumi.get(self, "description")
57
+
58
+ @description.setter
59
+ def description(self, value: Optional[pulumi.Input[str]]):
60
+ pulumi.set(self, "description", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="expiresAt")
64
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
65
+ """
66
+ The expiration date of the token.
67
+ """
68
+ return pulumi.get(self, "expires_at")
69
+
70
+ @expires_at.setter
71
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
72
+ pulumi.set(self, "expires_at", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="functionId")
76
+ def function_id(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ The ID of the function.
79
+
80
+ > Only one of `namespace_id` or `function_id` must be set.
81
+ """
82
+ return pulumi.get(self, "function_id")
83
+
84
+ @function_id.setter
85
+ def function_id(self, value: Optional[pulumi.Input[str]]):
86
+ pulumi.set(self, "function_id", value)
87
+
88
+ @property
89
+ @pulumi.getter(name="namespaceId")
90
+ def namespace_id(self) -> Optional[pulumi.Input[str]]:
91
+ """
92
+ The ID of the function namespace.
93
+ """
94
+ return pulumi.get(self, "namespace_id")
95
+
96
+ @namespace_id.setter
97
+ def namespace_id(self, value: Optional[pulumi.Input[str]]):
98
+ pulumi.set(self, "namespace_id", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def region(self) -> Optional[pulumi.Input[str]]:
103
+ """
104
+ `region`). The region in which the namespace should be created.
105
+
106
+ > **Important** Updates to any fields will recreate the token.
107
+ """
108
+ return pulumi.get(self, "region")
109
+
110
+ @region.setter
111
+ def region(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "region", value)
113
+
114
+
115
+ @pulumi.input_type
116
+ class _FunctionTokenState:
117
+ def __init__(__self__, *,
118
+ description: Optional[pulumi.Input[str]] = None,
119
+ expires_at: Optional[pulumi.Input[str]] = None,
120
+ function_id: Optional[pulumi.Input[str]] = None,
121
+ namespace_id: Optional[pulumi.Input[str]] = None,
122
+ region: Optional[pulumi.Input[str]] = None,
123
+ token: Optional[pulumi.Input[str]] = None):
124
+ """
125
+ Input properties used for looking up and filtering FunctionToken resources.
126
+ :param pulumi.Input[str] description: The description of the token.
127
+ :param pulumi.Input[str] expires_at: The expiration date of the token.
128
+ :param pulumi.Input[str] function_id: The ID of the function.
129
+
130
+ > Only one of `namespace_id` or `function_id` must be set.
131
+ :param pulumi.Input[str] namespace_id: The ID of the function namespace.
132
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
133
+
134
+ > **Important** Updates to any fields will recreate the token.
135
+ :param pulumi.Input[str] token: The token.
136
+ """
137
+ if description is not None:
138
+ pulumi.set(__self__, "description", description)
139
+ if expires_at is not None:
140
+ pulumi.set(__self__, "expires_at", expires_at)
141
+ if function_id is not None:
142
+ pulumi.set(__self__, "function_id", function_id)
143
+ if namespace_id is not None:
144
+ pulumi.set(__self__, "namespace_id", namespace_id)
145
+ if region is not None:
146
+ pulumi.set(__self__, "region", region)
147
+ if token is not None:
148
+ pulumi.set(__self__, "token", token)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def description(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The description of the token.
155
+ """
156
+ return pulumi.get(self, "description")
157
+
158
+ @description.setter
159
+ def description(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "description", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="expiresAt")
164
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
165
+ """
166
+ The expiration date of the token.
167
+ """
168
+ return pulumi.get(self, "expires_at")
169
+
170
+ @expires_at.setter
171
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
172
+ pulumi.set(self, "expires_at", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="functionId")
176
+ def function_id(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ The ID of the function.
179
+
180
+ > Only one of `namespace_id` or `function_id` must be set.
181
+ """
182
+ return pulumi.get(self, "function_id")
183
+
184
+ @function_id.setter
185
+ def function_id(self, value: Optional[pulumi.Input[str]]):
186
+ pulumi.set(self, "function_id", value)
187
+
188
+ @property
189
+ @pulumi.getter(name="namespaceId")
190
+ def namespace_id(self) -> Optional[pulumi.Input[str]]:
191
+ """
192
+ The ID of the function namespace.
193
+ """
194
+ return pulumi.get(self, "namespace_id")
195
+
196
+ @namespace_id.setter
197
+ def namespace_id(self, value: Optional[pulumi.Input[str]]):
198
+ pulumi.set(self, "namespace_id", value)
199
+
200
+ @property
201
+ @pulumi.getter
202
+ def region(self) -> Optional[pulumi.Input[str]]:
203
+ """
204
+ `region`). The region in which the namespace should be created.
205
+
206
+ > **Important** Updates to any fields will recreate the token.
207
+ """
208
+ return pulumi.get(self, "region")
209
+
210
+ @region.setter
211
+ def region(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "region", value)
213
+
214
+ @property
215
+ @pulumi.getter
216
+ def token(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ The token.
219
+ """
220
+ return pulumi.get(self, "token")
221
+
222
+ @token.setter
223
+ def token(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "token", value)
225
+
226
+
227
+ class FunctionToken(pulumi.CustomResource):
228
+ @overload
229
+ def __init__(__self__,
230
+ resource_name: str,
231
+ opts: Optional[pulumi.ResourceOptions] = None,
232
+ description: Optional[pulumi.Input[str]] = None,
233
+ expires_at: Optional[pulumi.Input[str]] = None,
234
+ function_id: Optional[pulumi.Input[str]] = None,
235
+ namespace_id: Optional[pulumi.Input[str]] = None,
236
+ region: Optional[pulumi.Input[str]] = None,
237
+ __props__=None):
238
+ """
239
+ Creates and manages Scaleway Function Token.
240
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#tokens-26b085).
241
+
242
+ ## Example Usage
243
+
244
+ ### Basic
245
+
246
+ ```python
247
+ import pulumi
248
+ import pulumiverse_scaleway as scaleway
249
+
250
+ main = scaleway.FunctionNamespace("main", name="test-function-token-ns")
251
+ main_function = scaleway.Function("main",
252
+ namespace_id=main.id,
253
+ runtime="go118",
254
+ handler="Handle",
255
+ privacy="private")
256
+ # Namespace Token
257
+ namespace = scaleway.FunctionToken("namespace",
258
+ namespace_id=main.id,
259
+ expires_at="2022-10-18T11:35:15+02:00")
260
+ # Function Token
261
+ function = scaleway.FunctionToken("function", function_id=main_function.id)
262
+ ```
263
+
264
+ ## Import
265
+
266
+ Tokens can be imported using the `{region}/{id}`, e.g.
267
+
268
+ bash
269
+
270
+ ```sh
271
+ $ pulumi import scaleway:index/functionToken:FunctionToken main fr-par/11111111-1111-1111-1111-111111111111
272
+ ```
273
+
274
+ :param str resource_name: The name of the resource.
275
+ :param pulumi.ResourceOptions opts: Options for the resource.
276
+ :param pulumi.Input[str] description: The description of the token.
277
+ :param pulumi.Input[str] expires_at: The expiration date of the token.
278
+ :param pulumi.Input[str] function_id: The ID of the function.
279
+
280
+ > Only one of `namespace_id` or `function_id` must be set.
281
+ :param pulumi.Input[str] namespace_id: The ID of the function namespace.
282
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
283
+
284
+ > **Important** Updates to any fields will recreate the token.
285
+ """
286
+ ...
287
+ @overload
288
+ def __init__(__self__,
289
+ resource_name: str,
290
+ args: Optional[FunctionTokenArgs] = None,
291
+ opts: Optional[pulumi.ResourceOptions] = None):
292
+ """
293
+ Creates and manages Scaleway Function Token.
294
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#tokens-26b085).
295
+
296
+ ## Example Usage
297
+
298
+ ### Basic
299
+
300
+ ```python
301
+ import pulumi
302
+ import pulumiverse_scaleway as scaleway
303
+
304
+ main = scaleway.FunctionNamespace("main", name="test-function-token-ns")
305
+ main_function = scaleway.Function("main",
306
+ namespace_id=main.id,
307
+ runtime="go118",
308
+ handler="Handle",
309
+ privacy="private")
310
+ # Namespace Token
311
+ namespace = scaleway.FunctionToken("namespace",
312
+ namespace_id=main.id,
313
+ expires_at="2022-10-18T11:35:15+02:00")
314
+ # Function Token
315
+ function = scaleway.FunctionToken("function", function_id=main_function.id)
316
+ ```
317
+
318
+ ## Import
319
+
320
+ Tokens can be imported using the `{region}/{id}`, e.g.
321
+
322
+ bash
323
+
324
+ ```sh
325
+ $ pulumi import scaleway:index/functionToken:FunctionToken main fr-par/11111111-1111-1111-1111-111111111111
326
+ ```
327
+
328
+ :param str resource_name: The name of the resource.
329
+ :param FunctionTokenArgs args: The arguments to use to populate this resource's properties.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ """
332
+ ...
333
+ def __init__(__self__, resource_name: str, *args, **kwargs):
334
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionTokenArgs, pulumi.ResourceOptions, *args, **kwargs)
335
+ if resource_args is not None:
336
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
337
+ else:
338
+ __self__._internal_init(resource_name, *args, **kwargs)
339
+
340
+ def _internal_init(__self__,
341
+ resource_name: str,
342
+ opts: Optional[pulumi.ResourceOptions] = None,
343
+ description: Optional[pulumi.Input[str]] = None,
344
+ expires_at: Optional[pulumi.Input[str]] = None,
345
+ function_id: Optional[pulumi.Input[str]] = None,
346
+ namespace_id: Optional[pulumi.Input[str]] = None,
347
+ region: Optional[pulumi.Input[str]] = None,
348
+ __props__=None):
349
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
350
+ if not isinstance(opts, pulumi.ResourceOptions):
351
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
352
+ if opts.id is None:
353
+ if __props__ is not None:
354
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
355
+ __props__ = FunctionTokenArgs.__new__(FunctionTokenArgs)
356
+
357
+ __props__.__dict__["description"] = description
358
+ __props__.__dict__["expires_at"] = expires_at
359
+ __props__.__dict__["function_id"] = function_id
360
+ __props__.__dict__["namespace_id"] = namespace_id
361
+ __props__.__dict__["region"] = region
362
+ __props__.__dict__["token"] = None
363
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"])
364
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
365
+ super(FunctionToken, __self__).__init__(
366
+ 'scaleway:index/functionToken:FunctionToken',
367
+ resource_name,
368
+ __props__,
369
+ opts)
370
+
371
+ @staticmethod
372
+ def get(resource_name: str,
373
+ id: pulumi.Input[str],
374
+ opts: Optional[pulumi.ResourceOptions] = None,
375
+ description: Optional[pulumi.Input[str]] = None,
376
+ expires_at: Optional[pulumi.Input[str]] = None,
377
+ function_id: Optional[pulumi.Input[str]] = None,
378
+ namespace_id: Optional[pulumi.Input[str]] = None,
379
+ region: Optional[pulumi.Input[str]] = None,
380
+ token: Optional[pulumi.Input[str]] = None) -> 'FunctionToken':
381
+ """
382
+ Get an existing FunctionToken resource's state with the given name, id, and optional extra
383
+ properties used to qualify the lookup.
384
+
385
+ :param str resource_name: The unique name of the resulting resource.
386
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
387
+ :param pulumi.ResourceOptions opts: Options for the resource.
388
+ :param pulumi.Input[str] description: The description of the token.
389
+ :param pulumi.Input[str] expires_at: The expiration date of the token.
390
+ :param pulumi.Input[str] function_id: The ID of the function.
391
+
392
+ > Only one of `namespace_id` or `function_id` must be set.
393
+ :param pulumi.Input[str] namespace_id: The ID of the function namespace.
394
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
395
+
396
+ > **Important** Updates to any fields will recreate the token.
397
+ :param pulumi.Input[str] token: The token.
398
+ """
399
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
400
+
401
+ __props__ = _FunctionTokenState.__new__(_FunctionTokenState)
402
+
403
+ __props__.__dict__["description"] = description
404
+ __props__.__dict__["expires_at"] = expires_at
405
+ __props__.__dict__["function_id"] = function_id
406
+ __props__.__dict__["namespace_id"] = namespace_id
407
+ __props__.__dict__["region"] = region
408
+ __props__.__dict__["token"] = token
409
+ return FunctionToken(resource_name, opts=opts, __props__=__props__)
410
+
411
+ @property
412
+ @pulumi.getter
413
+ def description(self) -> pulumi.Output[Optional[str]]:
414
+ """
415
+ The description of the token.
416
+ """
417
+ return pulumi.get(self, "description")
418
+
419
+ @property
420
+ @pulumi.getter(name="expiresAt")
421
+ def expires_at(self) -> pulumi.Output[Optional[str]]:
422
+ """
423
+ The expiration date of the token.
424
+ """
425
+ return pulumi.get(self, "expires_at")
426
+
427
+ @property
428
+ @pulumi.getter(name="functionId")
429
+ def function_id(self) -> pulumi.Output[Optional[str]]:
430
+ """
431
+ The ID of the function.
432
+
433
+ > Only one of `namespace_id` or `function_id` must be set.
434
+ """
435
+ return pulumi.get(self, "function_id")
436
+
437
+ @property
438
+ @pulumi.getter(name="namespaceId")
439
+ def namespace_id(self) -> pulumi.Output[Optional[str]]:
440
+ """
441
+ The ID of the function namespace.
442
+ """
443
+ return pulumi.get(self, "namespace_id")
444
+
445
+ @property
446
+ @pulumi.getter
447
+ def region(self) -> pulumi.Output[str]:
448
+ """
449
+ `region`). The region in which the namespace should be created.
450
+
451
+ > **Important** Updates to any fields will recreate the token.
452
+ """
453
+ return pulumi.get(self, "region")
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def token(self) -> pulumi.Output[str]:
458
+ """
459
+ The token.
460
+ """
461
+ return pulumi.get(self, "token")
462
+