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