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,1145 @@
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__ = ['FunctionArgs', 'Function']
18
+
19
+ @pulumi.input_type
20
+ class FunctionArgs:
21
+ def __init__(__self__, *,
22
+ handler: pulumi.Input[str],
23
+ namespace_id: pulumi.Input[str],
24
+ privacy: pulumi.Input[str],
25
+ runtime: pulumi.Input[str],
26
+ deploy: Optional[pulumi.Input[bool]] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ http_option: Optional[pulumi.Input[str]] = None,
30
+ max_scale: Optional[pulumi.Input[int]] = None,
31
+ memory_limit: Optional[pulumi.Input[int]] = None,
32
+ min_scale: Optional[pulumi.Input[int]] = None,
33
+ name: Optional[pulumi.Input[str]] = None,
34
+ project_id: Optional[pulumi.Input[str]] = None,
35
+ region: Optional[pulumi.Input[str]] = None,
36
+ sandbox: Optional[pulumi.Input[str]] = None,
37
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
38
+ timeout: Optional[pulumi.Input[int]] = None,
39
+ zip_file: Optional[pulumi.Input[str]] = None,
40
+ zip_hash: Optional[pulumi.Input[str]] = None):
41
+ """
42
+ The set of arguments for constructing a Function resource.
43
+ :param pulumi.Input[str] handler: Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
44
+ :param pulumi.Input[str] namespace_id: The function namespace ID of the function.
45
+ :param pulumi.Input[str] privacy: Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
46
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
47
+ :param pulumi.Input[str] description: The description of the function.
48
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The environment variables of the function.
49
+ :param pulumi.Input[str] http_option: HTTP traffic configuration
50
+ :param pulumi.Input[int] max_scale: Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
51
+ :param pulumi.Input[int] memory_limit: Memory limit in MB for your function, defaults to 128MB
52
+ :param pulumi.Input[int] min_scale: Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
53
+ :param pulumi.Input[str] name: The unique name of the function.
54
+
55
+ > **Important** Updates to `name` will recreate the function.
56
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the namespace is associated with.
57
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
58
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
59
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
60
+ :param pulumi.Input[int] timeout: Holds the max duration (in seconds) the function is allowed for responding to a request
61
+ :param pulumi.Input[str] zip_file: Location of the zip file to upload containing your function sources
62
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
63
+ """
64
+ pulumi.set(__self__, "handler", handler)
65
+ pulumi.set(__self__, "namespace_id", namespace_id)
66
+ pulumi.set(__self__, "privacy", privacy)
67
+ pulumi.set(__self__, "runtime", runtime)
68
+ if deploy is not None:
69
+ pulumi.set(__self__, "deploy", deploy)
70
+ if description is not None:
71
+ pulumi.set(__self__, "description", description)
72
+ if environment_variables is not None:
73
+ pulumi.set(__self__, "environment_variables", environment_variables)
74
+ if http_option is not None:
75
+ pulumi.set(__self__, "http_option", http_option)
76
+ if max_scale is not None:
77
+ pulumi.set(__self__, "max_scale", max_scale)
78
+ if memory_limit is not None:
79
+ pulumi.set(__self__, "memory_limit", memory_limit)
80
+ if min_scale is not None:
81
+ pulumi.set(__self__, "min_scale", min_scale)
82
+ if name is not None:
83
+ pulumi.set(__self__, "name", name)
84
+ if project_id is not None:
85
+ pulumi.set(__self__, "project_id", project_id)
86
+ if region is not None:
87
+ pulumi.set(__self__, "region", region)
88
+ if sandbox is not None:
89
+ pulumi.set(__self__, "sandbox", sandbox)
90
+ if secret_environment_variables is not None:
91
+ pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
92
+ if timeout is not None:
93
+ pulumi.set(__self__, "timeout", timeout)
94
+ if zip_file is not None:
95
+ pulumi.set(__self__, "zip_file", zip_file)
96
+ if zip_hash is not None:
97
+ pulumi.set(__self__, "zip_hash", zip_hash)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def handler(self) -> pulumi.Input[str]:
102
+ """
103
+ Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
104
+ """
105
+ return pulumi.get(self, "handler")
106
+
107
+ @handler.setter
108
+ def handler(self, value: pulumi.Input[str]):
109
+ pulumi.set(self, "handler", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="namespaceId")
113
+ def namespace_id(self) -> pulumi.Input[str]:
114
+ """
115
+ The function namespace ID of the function.
116
+ """
117
+ return pulumi.get(self, "namespace_id")
118
+
119
+ @namespace_id.setter
120
+ def namespace_id(self, value: pulumi.Input[str]):
121
+ pulumi.set(self, "namespace_id", value)
122
+
123
+ @property
124
+ @pulumi.getter
125
+ def privacy(self) -> pulumi.Input[str]:
126
+ """
127
+ Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
128
+ """
129
+ return pulumi.get(self, "privacy")
130
+
131
+ @privacy.setter
132
+ def privacy(self, value: pulumi.Input[str]):
133
+ pulumi.set(self, "privacy", value)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def runtime(self) -> pulumi.Input[str]:
138
+ """
139
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
140
+ """
141
+ return pulumi.get(self, "runtime")
142
+
143
+ @runtime.setter
144
+ def runtime(self, value: pulumi.Input[str]):
145
+ pulumi.set(self, "runtime", value)
146
+
147
+ @property
148
+ @pulumi.getter
149
+ def deploy(self) -> Optional[pulumi.Input[bool]]:
150
+ return pulumi.get(self, "deploy")
151
+
152
+ @deploy.setter
153
+ def deploy(self, value: Optional[pulumi.Input[bool]]):
154
+ pulumi.set(self, "deploy", value)
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def description(self) -> Optional[pulumi.Input[str]]:
159
+ """
160
+ The description of the function.
161
+ """
162
+ return pulumi.get(self, "description")
163
+
164
+ @description.setter
165
+ def description(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "description", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="environmentVariables")
170
+ def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
171
+ """
172
+ The environment variables of the function.
173
+ """
174
+ return pulumi.get(self, "environment_variables")
175
+
176
+ @environment_variables.setter
177
+ def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
178
+ pulumi.set(self, "environment_variables", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="httpOption")
182
+ def http_option(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ HTTP traffic configuration
185
+ """
186
+ return pulumi.get(self, "http_option")
187
+
188
+ @http_option.setter
189
+ def http_option(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "http_option", value)
191
+
192
+ @property
193
+ @pulumi.getter(name="maxScale")
194
+ def max_scale(self) -> Optional[pulumi.Input[int]]:
195
+ """
196
+ Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
197
+ """
198
+ return pulumi.get(self, "max_scale")
199
+
200
+ @max_scale.setter
201
+ def max_scale(self, value: Optional[pulumi.Input[int]]):
202
+ pulumi.set(self, "max_scale", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="memoryLimit")
206
+ def memory_limit(self) -> Optional[pulumi.Input[int]]:
207
+ """
208
+ Memory limit in MB for your function, defaults to 128MB
209
+ """
210
+ return pulumi.get(self, "memory_limit")
211
+
212
+ @memory_limit.setter
213
+ def memory_limit(self, value: Optional[pulumi.Input[int]]):
214
+ pulumi.set(self, "memory_limit", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="minScale")
218
+ def min_scale(self) -> Optional[pulumi.Input[int]]:
219
+ """
220
+ Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
221
+ """
222
+ return pulumi.get(self, "min_scale")
223
+
224
+ @min_scale.setter
225
+ def min_scale(self, value: Optional[pulumi.Input[int]]):
226
+ pulumi.set(self, "min_scale", value)
227
+
228
+ @property
229
+ @pulumi.getter
230
+ def name(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ The unique name of the function.
233
+
234
+ > **Important** Updates to `name` will recreate the function.
235
+ """
236
+ return pulumi.get(self, "name")
237
+
238
+ @name.setter
239
+ def name(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "name", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="projectId")
244
+ def project_id(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ `project_id`) The ID of the project the namespace is associated with.
247
+ """
248
+ return pulumi.get(self, "project_id")
249
+
250
+ @project_id.setter
251
+ def project_id(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "project_id", value)
253
+
254
+ @property
255
+ @pulumi.getter
256
+ def region(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ `region`). The region in which the namespace should be created.
259
+ """
260
+ return pulumi.get(self, "region")
261
+
262
+ @region.setter
263
+ def region(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "region", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def sandbox(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ Execution environment of the function.
271
+ """
272
+ return pulumi.get(self, "sandbox")
273
+
274
+ @sandbox.setter
275
+ def sandbox(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "sandbox", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="secretEnvironmentVariables")
280
+ def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
281
+ """
282
+ The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
283
+ """
284
+ return pulumi.get(self, "secret_environment_variables")
285
+
286
+ @secret_environment_variables.setter
287
+ def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
288
+ pulumi.set(self, "secret_environment_variables", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def timeout(self) -> Optional[pulumi.Input[int]]:
293
+ """
294
+ Holds the max duration (in seconds) the function is allowed for responding to a request
295
+ """
296
+ return pulumi.get(self, "timeout")
297
+
298
+ @timeout.setter
299
+ def timeout(self, value: Optional[pulumi.Input[int]]):
300
+ pulumi.set(self, "timeout", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="zipFile")
304
+ def zip_file(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ Location of the zip file to upload containing your function sources
307
+ """
308
+ return pulumi.get(self, "zip_file")
309
+
310
+ @zip_file.setter
311
+ def zip_file(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "zip_file", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="zipHash")
316
+ def zip_hash(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ The hash of your source zip file, changing it will re-apply function. Can be any string
319
+ """
320
+ return pulumi.get(self, "zip_hash")
321
+
322
+ @zip_hash.setter
323
+ def zip_hash(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "zip_hash", value)
325
+
326
+
327
+ @pulumi.input_type
328
+ class _FunctionState:
329
+ def __init__(__self__, *,
330
+ cpu_limit: Optional[pulumi.Input[int]] = None,
331
+ deploy: Optional[pulumi.Input[bool]] = None,
332
+ description: Optional[pulumi.Input[str]] = None,
333
+ domain_name: Optional[pulumi.Input[str]] = None,
334
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
335
+ handler: Optional[pulumi.Input[str]] = None,
336
+ http_option: Optional[pulumi.Input[str]] = None,
337
+ max_scale: Optional[pulumi.Input[int]] = None,
338
+ memory_limit: Optional[pulumi.Input[int]] = None,
339
+ min_scale: Optional[pulumi.Input[int]] = None,
340
+ name: Optional[pulumi.Input[str]] = None,
341
+ namespace_id: Optional[pulumi.Input[str]] = None,
342
+ organization_id: Optional[pulumi.Input[str]] = None,
343
+ privacy: Optional[pulumi.Input[str]] = None,
344
+ project_id: Optional[pulumi.Input[str]] = None,
345
+ region: Optional[pulumi.Input[str]] = None,
346
+ runtime: Optional[pulumi.Input[str]] = None,
347
+ sandbox: Optional[pulumi.Input[str]] = None,
348
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
349
+ timeout: Optional[pulumi.Input[int]] = None,
350
+ zip_file: Optional[pulumi.Input[str]] = None,
351
+ zip_hash: Optional[pulumi.Input[str]] = None):
352
+ """
353
+ Input properties used for looking up and filtering Function resources.
354
+ :param pulumi.Input[int] cpu_limit: The CPU limit in mCPU for your function. More infos on resources [here](https://www.scaleway.com/en/developers/api/serverless-functions/#functions)
355
+ :param pulumi.Input[str] description: The description of the function.
356
+ :param pulumi.Input[str] domain_name: The native domain name of the function
357
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The environment variables of the function.
358
+ :param pulumi.Input[str] handler: Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
359
+ :param pulumi.Input[str] http_option: HTTP traffic configuration
360
+ :param pulumi.Input[int] max_scale: Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
361
+ :param pulumi.Input[int] memory_limit: Memory limit in MB for your function, defaults to 128MB
362
+ :param pulumi.Input[int] min_scale: Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
363
+ :param pulumi.Input[str] name: The unique name of the function.
364
+
365
+ > **Important** Updates to `name` will recreate the function.
366
+ :param pulumi.Input[str] namespace_id: The function namespace ID of the function.
367
+ :param pulumi.Input[str] organization_id: The organization ID the function is associated with.
368
+ :param pulumi.Input[str] privacy: Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
369
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the namespace is associated with.
370
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
371
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
372
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
373
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
374
+ :param pulumi.Input[int] timeout: Holds the max duration (in seconds) the function is allowed for responding to a request
375
+ :param pulumi.Input[str] zip_file: Location of the zip file to upload containing your function sources
376
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
377
+ """
378
+ if cpu_limit is not None:
379
+ pulumi.set(__self__, "cpu_limit", cpu_limit)
380
+ if deploy is not None:
381
+ pulumi.set(__self__, "deploy", deploy)
382
+ if description is not None:
383
+ pulumi.set(__self__, "description", description)
384
+ if domain_name is not None:
385
+ pulumi.set(__self__, "domain_name", domain_name)
386
+ if environment_variables is not None:
387
+ pulumi.set(__self__, "environment_variables", environment_variables)
388
+ if handler is not None:
389
+ pulumi.set(__self__, "handler", handler)
390
+ if http_option is not None:
391
+ pulumi.set(__self__, "http_option", http_option)
392
+ if max_scale is not None:
393
+ pulumi.set(__self__, "max_scale", max_scale)
394
+ if memory_limit is not None:
395
+ pulumi.set(__self__, "memory_limit", memory_limit)
396
+ if min_scale is not None:
397
+ pulumi.set(__self__, "min_scale", min_scale)
398
+ if name is not None:
399
+ pulumi.set(__self__, "name", name)
400
+ if namespace_id is not None:
401
+ pulumi.set(__self__, "namespace_id", namespace_id)
402
+ if organization_id is not None:
403
+ pulumi.set(__self__, "organization_id", organization_id)
404
+ if privacy is not None:
405
+ pulumi.set(__self__, "privacy", privacy)
406
+ if project_id is not None:
407
+ pulumi.set(__self__, "project_id", project_id)
408
+ if region is not None:
409
+ pulumi.set(__self__, "region", region)
410
+ if runtime is not None:
411
+ pulumi.set(__self__, "runtime", runtime)
412
+ if sandbox is not None:
413
+ pulumi.set(__self__, "sandbox", sandbox)
414
+ if secret_environment_variables is not None:
415
+ pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
416
+ if timeout is not None:
417
+ pulumi.set(__self__, "timeout", timeout)
418
+ if zip_file is not None:
419
+ pulumi.set(__self__, "zip_file", zip_file)
420
+ if zip_hash is not None:
421
+ pulumi.set(__self__, "zip_hash", zip_hash)
422
+
423
+ @property
424
+ @pulumi.getter(name="cpuLimit")
425
+ def cpu_limit(self) -> Optional[pulumi.Input[int]]:
426
+ """
427
+ The CPU limit in mCPU for your function. More infos on resources [here](https://www.scaleway.com/en/developers/api/serverless-functions/#functions)
428
+ """
429
+ return pulumi.get(self, "cpu_limit")
430
+
431
+ @cpu_limit.setter
432
+ def cpu_limit(self, value: Optional[pulumi.Input[int]]):
433
+ pulumi.set(self, "cpu_limit", value)
434
+
435
+ @property
436
+ @pulumi.getter
437
+ def deploy(self) -> Optional[pulumi.Input[bool]]:
438
+ return pulumi.get(self, "deploy")
439
+
440
+ @deploy.setter
441
+ def deploy(self, value: Optional[pulumi.Input[bool]]):
442
+ pulumi.set(self, "deploy", value)
443
+
444
+ @property
445
+ @pulumi.getter
446
+ def description(self) -> Optional[pulumi.Input[str]]:
447
+ """
448
+ The description of the function.
449
+ """
450
+ return pulumi.get(self, "description")
451
+
452
+ @description.setter
453
+ def description(self, value: Optional[pulumi.Input[str]]):
454
+ pulumi.set(self, "description", value)
455
+
456
+ @property
457
+ @pulumi.getter(name="domainName")
458
+ def domain_name(self) -> Optional[pulumi.Input[str]]:
459
+ """
460
+ The native domain name of the function
461
+ """
462
+ return pulumi.get(self, "domain_name")
463
+
464
+ @domain_name.setter
465
+ def domain_name(self, value: Optional[pulumi.Input[str]]):
466
+ pulumi.set(self, "domain_name", value)
467
+
468
+ @property
469
+ @pulumi.getter(name="environmentVariables")
470
+ def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
471
+ """
472
+ The environment variables of the function.
473
+ """
474
+ return pulumi.get(self, "environment_variables")
475
+
476
+ @environment_variables.setter
477
+ def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
478
+ pulumi.set(self, "environment_variables", value)
479
+
480
+ @property
481
+ @pulumi.getter
482
+ def handler(self) -> Optional[pulumi.Input[str]]:
483
+ """
484
+ Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
485
+ """
486
+ return pulumi.get(self, "handler")
487
+
488
+ @handler.setter
489
+ def handler(self, value: Optional[pulumi.Input[str]]):
490
+ pulumi.set(self, "handler", value)
491
+
492
+ @property
493
+ @pulumi.getter(name="httpOption")
494
+ def http_option(self) -> Optional[pulumi.Input[str]]:
495
+ """
496
+ HTTP traffic configuration
497
+ """
498
+ return pulumi.get(self, "http_option")
499
+
500
+ @http_option.setter
501
+ def http_option(self, value: Optional[pulumi.Input[str]]):
502
+ pulumi.set(self, "http_option", value)
503
+
504
+ @property
505
+ @pulumi.getter(name="maxScale")
506
+ def max_scale(self) -> Optional[pulumi.Input[int]]:
507
+ """
508
+ Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
509
+ """
510
+ return pulumi.get(self, "max_scale")
511
+
512
+ @max_scale.setter
513
+ def max_scale(self, value: Optional[pulumi.Input[int]]):
514
+ pulumi.set(self, "max_scale", value)
515
+
516
+ @property
517
+ @pulumi.getter(name="memoryLimit")
518
+ def memory_limit(self) -> Optional[pulumi.Input[int]]:
519
+ """
520
+ Memory limit in MB for your function, defaults to 128MB
521
+ """
522
+ return pulumi.get(self, "memory_limit")
523
+
524
+ @memory_limit.setter
525
+ def memory_limit(self, value: Optional[pulumi.Input[int]]):
526
+ pulumi.set(self, "memory_limit", value)
527
+
528
+ @property
529
+ @pulumi.getter(name="minScale")
530
+ def min_scale(self) -> Optional[pulumi.Input[int]]:
531
+ """
532
+ Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
533
+ """
534
+ return pulumi.get(self, "min_scale")
535
+
536
+ @min_scale.setter
537
+ def min_scale(self, value: Optional[pulumi.Input[int]]):
538
+ pulumi.set(self, "min_scale", value)
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def name(self) -> Optional[pulumi.Input[str]]:
543
+ """
544
+ The unique name of the function.
545
+
546
+ > **Important** Updates to `name` will recreate the function.
547
+ """
548
+ return pulumi.get(self, "name")
549
+
550
+ @name.setter
551
+ def name(self, value: Optional[pulumi.Input[str]]):
552
+ pulumi.set(self, "name", value)
553
+
554
+ @property
555
+ @pulumi.getter(name="namespaceId")
556
+ def namespace_id(self) -> Optional[pulumi.Input[str]]:
557
+ """
558
+ The function namespace ID of the function.
559
+ """
560
+ return pulumi.get(self, "namespace_id")
561
+
562
+ @namespace_id.setter
563
+ def namespace_id(self, value: Optional[pulumi.Input[str]]):
564
+ pulumi.set(self, "namespace_id", value)
565
+
566
+ @property
567
+ @pulumi.getter(name="organizationId")
568
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
569
+ """
570
+ The organization ID the function is associated with.
571
+ """
572
+ return pulumi.get(self, "organization_id")
573
+
574
+ @organization_id.setter
575
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
576
+ pulumi.set(self, "organization_id", value)
577
+
578
+ @property
579
+ @pulumi.getter
580
+ def privacy(self) -> Optional[pulumi.Input[str]]:
581
+ """
582
+ Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
583
+ """
584
+ return pulumi.get(self, "privacy")
585
+
586
+ @privacy.setter
587
+ def privacy(self, value: Optional[pulumi.Input[str]]):
588
+ pulumi.set(self, "privacy", value)
589
+
590
+ @property
591
+ @pulumi.getter(name="projectId")
592
+ def project_id(self) -> Optional[pulumi.Input[str]]:
593
+ """
594
+ `project_id`) The ID of the project the namespace is associated with.
595
+ """
596
+ return pulumi.get(self, "project_id")
597
+
598
+ @project_id.setter
599
+ def project_id(self, value: Optional[pulumi.Input[str]]):
600
+ pulumi.set(self, "project_id", value)
601
+
602
+ @property
603
+ @pulumi.getter
604
+ def region(self) -> Optional[pulumi.Input[str]]:
605
+ """
606
+ `region`). The region in which the namespace should be created.
607
+ """
608
+ return pulumi.get(self, "region")
609
+
610
+ @region.setter
611
+ def region(self, value: Optional[pulumi.Input[str]]):
612
+ pulumi.set(self, "region", value)
613
+
614
+ @property
615
+ @pulumi.getter
616
+ def runtime(self) -> Optional[pulumi.Input[str]]:
617
+ """
618
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
619
+ """
620
+ return pulumi.get(self, "runtime")
621
+
622
+ @runtime.setter
623
+ def runtime(self, value: Optional[pulumi.Input[str]]):
624
+ pulumi.set(self, "runtime", value)
625
+
626
+ @property
627
+ @pulumi.getter
628
+ def sandbox(self) -> Optional[pulumi.Input[str]]:
629
+ """
630
+ Execution environment of the function.
631
+ """
632
+ return pulumi.get(self, "sandbox")
633
+
634
+ @sandbox.setter
635
+ def sandbox(self, value: Optional[pulumi.Input[str]]):
636
+ pulumi.set(self, "sandbox", value)
637
+
638
+ @property
639
+ @pulumi.getter(name="secretEnvironmentVariables")
640
+ def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
641
+ """
642
+ The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
643
+ """
644
+ return pulumi.get(self, "secret_environment_variables")
645
+
646
+ @secret_environment_variables.setter
647
+ def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
648
+ pulumi.set(self, "secret_environment_variables", value)
649
+
650
+ @property
651
+ @pulumi.getter
652
+ def timeout(self) -> Optional[pulumi.Input[int]]:
653
+ """
654
+ Holds the max duration (in seconds) the function is allowed for responding to a request
655
+ """
656
+ return pulumi.get(self, "timeout")
657
+
658
+ @timeout.setter
659
+ def timeout(self, value: Optional[pulumi.Input[int]]):
660
+ pulumi.set(self, "timeout", value)
661
+
662
+ @property
663
+ @pulumi.getter(name="zipFile")
664
+ def zip_file(self) -> Optional[pulumi.Input[str]]:
665
+ """
666
+ Location of the zip file to upload containing your function sources
667
+ """
668
+ return pulumi.get(self, "zip_file")
669
+
670
+ @zip_file.setter
671
+ def zip_file(self, value: Optional[pulumi.Input[str]]):
672
+ pulumi.set(self, "zip_file", value)
673
+
674
+ @property
675
+ @pulumi.getter(name="zipHash")
676
+ def zip_hash(self) -> Optional[pulumi.Input[str]]:
677
+ """
678
+ The hash of your source zip file, changing it will re-apply function. Can be any string
679
+ """
680
+ return pulumi.get(self, "zip_hash")
681
+
682
+ @zip_hash.setter
683
+ def zip_hash(self, value: Optional[pulumi.Input[str]]):
684
+ pulumi.set(self, "zip_hash", value)
685
+
686
+
687
+ class Function(pulumi.CustomResource):
688
+ @overload
689
+ def __init__(__self__,
690
+ resource_name: str,
691
+ opts: Optional[pulumi.ResourceOptions] = None,
692
+ deploy: Optional[pulumi.Input[bool]] = None,
693
+ description: Optional[pulumi.Input[str]] = None,
694
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
695
+ handler: Optional[pulumi.Input[str]] = None,
696
+ http_option: Optional[pulumi.Input[str]] = None,
697
+ max_scale: Optional[pulumi.Input[int]] = None,
698
+ memory_limit: Optional[pulumi.Input[int]] = None,
699
+ min_scale: Optional[pulumi.Input[int]] = None,
700
+ name: Optional[pulumi.Input[str]] = None,
701
+ namespace_id: Optional[pulumi.Input[str]] = None,
702
+ privacy: Optional[pulumi.Input[str]] = None,
703
+ project_id: Optional[pulumi.Input[str]] = None,
704
+ region: Optional[pulumi.Input[str]] = None,
705
+ runtime: Optional[pulumi.Input[str]] = None,
706
+ sandbox: Optional[pulumi.Input[str]] = None,
707
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
708
+ timeout: Optional[pulumi.Input[int]] = None,
709
+ zip_file: Optional[pulumi.Input[str]] = None,
710
+ zip_hash: Optional[pulumi.Input[str]] = None,
711
+ __props__=None):
712
+ """
713
+ Creates and manages Scaleway Functions.
714
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions).
715
+
716
+ ## Example Usage
717
+
718
+ ### Basic
719
+
720
+ ```python
721
+ import pulumi
722
+ import pulumiverse_scaleway as scaleway
723
+
724
+ main = scaleway.FunctionNamespace("main",
725
+ name="main-function-namespace",
726
+ description="Main function namespace")
727
+ main_function = scaleway.Function("main",
728
+ namespace_id=main.id,
729
+ runtime="go118",
730
+ handler="Handle",
731
+ privacy="private")
732
+ ```
733
+
734
+ ## Import
735
+
736
+ Functions can be imported using the `{region}/{id}`, e.g.
737
+
738
+ bash
739
+
740
+ ```sh
741
+ $ pulumi import scaleway:index/function:Function main fr-par/11111111-1111-1111-1111-111111111111
742
+ ```
743
+
744
+ :param str resource_name: The name of the resource.
745
+ :param pulumi.ResourceOptions opts: Options for the resource.
746
+ :param pulumi.Input[str] description: The description of the function.
747
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The environment variables of the function.
748
+ :param pulumi.Input[str] handler: Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
749
+ :param pulumi.Input[str] http_option: HTTP traffic configuration
750
+ :param pulumi.Input[int] max_scale: Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
751
+ :param pulumi.Input[int] memory_limit: Memory limit in MB for your function, defaults to 128MB
752
+ :param pulumi.Input[int] min_scale: Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
753
+ :param pulumi.Input[str] name: The unique name of the function.
754
+
755
+ > **Important** Updates to `name` will recreate the function.
756
+ :param pulumi.Input[str] namespace_id: The function namespace ID of the function.
757
+ :param pulumi.Input[str] privacy: Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
758
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the namespace is associated with.
759
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
760
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
761
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
762
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
763
+ :param pulumi.Input[int] timeout: Holds the max duration (in seconds) the function is allowed for responding to a request
764
+ :param pulumi.Input[str] zip_file: Location of the zip file to upload containing your function sources
765
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
766
+ """
767
+ ...
768
+ @overload
769
+ def __init__(__self__,
770
+ resource_name: str,
771
+ args: FunctionArgs,
772
+ opts: Optional[pulumi.ResourceOptions] = None):
773
+ """
774
+ Creates and manages Scaleway Functions.
775
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions).
776
+
777
+ ## Example Usage
778
+
779
+ ### Basic
780
+
781
+ ```python
782
+ import pulumi
783
+ import pulumiverse_scaleway as scaleway
784
+
785
+ main = scaleway.FunctionNamespace("main",
786
+ name="main-function-namespace",
787
+ description="Main function namespace")
788
+ main_function = scaleway.Function("main",
789
+ namespace_id=main.id,
790
+ runtime="go118",
791
+ handler="Handle",
792
+ privacy="private")
793
+ ```
794
+
795
+ ## Import
796
+
797
+ Functions can be imported using the `{region}/{id}`, e.g.
798
+
799
+ bash
800
+
801
+ ```sh
802
+ $ pulumi import scaleway:index/function:Function main fr-par/11111111-1111-1111-1111-111111111111
803
+ ```
804
+
805
+ :param str resource_name: The name of the resource.
806
+ :param FunctionArgs args: The arguments to use to populate this resource's properties.
807
+ :param pulumi.ResourceOptions opts: Options for the resource.
808
+ """
809
+ ...
810
+ def __init__(__self__, resource_name: str, *args, **kwargs):
811
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionArgs, pulumi.ResourceOptions, *args, **kwargs)
812
+ if resource_args is not None:
813
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
814
+ else:
815
+ __self__._internal_init(resource_name, *args, **kwargs)
816
+
817
+ def _internal_init(__self__,
818
+ resource_name: str,
819
+ opts: Optional[pulumi.ResourceOptions] = None,
820
+ deploy: Optional[pulumi.Input[bool]] = None,
821
+ description: Optional[pulumi.Input[str]] = None,
822
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
823
+ handler: Optional[pulumi.Input[str]] = None,
824
+ http_option: Optional[pulumi.Input[str]] = None,
825
+ max_scale: Optional[pulumi.Input[int]] = None,
826
+ memory_limit: Optional[pulumi.Input[int]] = None,
827
+ min_scale: Optional[pulumi.Input[int]] = None,
828
+ name: Optional[pulumi.Input[str]] = None,
829
+ namespace_id: Optional[pulumi.Input[str]] = None,
830
+ privacy: Optional[pulumi.Input[str]] = None,
831
+ project_id: Optional[pulumi.Input[str]] = None,
832
+ region: Optional[pulumi.Input[str]] = None,
833
+ runtime: Optional[pulumi.Input[str]] = None,
834
+ sandbox: Optional[pulumi.Input[str]] = None,
835
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
836
+ timeout: Optional[pulumi.Input[int]] = None,
837
+ zip_file: Optional[pulumi.Input[str]] = None,
838
+ zip_hash: Optional[pulumi.Input[str]] = None,
839
+ __props__=None):
840
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
841
+ if not isinstance(opts, pulumi.ResourceOptions):
842
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
843
+ if opts.id is None:
844
+ if __props__ is not None:
845
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
846
+ __props__ = FunctionArgs.__new__(FunctionArgs)
847
+
848
+ __props__.__dict__["deploy"] = deploy
849
+ __props__.__dict__["description"] = description
850
+ __props__.__dict__["environment_variables"] = environment_variables
851
+ if handler is None and not opts.urn:
852
+ raise TypeError("Missing required property 'handler'")
853
+ __props__.__dict__["handler"] = handler
854
+ __props__.__dict__["http_option"] = http_option
855
+ __props__.__dict__["max_scale"] = max_scale
856
+ __props__.__dict__["memory_limit"] = memory_limit
857
+ __props__.__dict__["min_scale"] = min_scale
858
+ __props__.__dict__["name"] = name
859
+ if namespace_id is None and not opts.urn:
860
+ raise TypeError("Missing required property 'namespace_id'")
861
+ __props__.__dict__["namespace_id"] = namespace_id
862
+ if privacy is None and not opts.urn:
863
+ raise TypeError("Missing required property 'privacy'")
864
+ __props__.__dict__["privacy"] = privacy
865
+ __props__.__dict__["project_id"] = project_id
866
+ __props__.__dict__["region"] = region
867
+ if runtime is None and not opts.urn:
868
+ raise TypeError("Missing required property 'runtime'")
869
+ __props__.__dict__["runtime"] = runtime
870
+ __props__.__dict__["sandbox"] = sandbox
871
+ __props__.__dict__["secret_environment_variables"] = None if secret_environment_variables is None else pulumi.Output.secret(secret_environment_variables)
872
+ __props__.__dict__["timeout"] = timeout
873
+ __props__.__dict__["zip_file"] = zip_file
874
+ __props__.__dict__["zip_hash"] = zip_hash
875
+ __props__.__dict__["cpu_limit"] = None
876
+ __props__.__dict__["domain_name"] = None
877
+ __props__.__dict__["organization_id"] = None
878
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretEnvironmentVariables"])
879
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
880
+ super(Function, __self__).__init__(
881
+ 'scaleway:index/function:Function',
882
+ resource_name,
883
+ __props__,
884
+ opts)
885
+
886
+ @staticmethod
887
+ def get(resource_name: str,
888
+ id: pulumi.Input[str],
889
+ opts: Optional[pulumi.ResourceOptions] = None,
890
+ cpu_limit: Optional[pulumi.Input[int]] = None,
891
+ deploy: Optional[pulumi.Input[bool]] = None,
892
+ description: Optional[pulumi.Input[str]] = None,
893
+ domain_name: Optional[pulumi.Input[str]] = None,
894
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
895
+ handler: Optional[pulumi.Input[str]] = None,
896
+ http_option: Optional[pulumi.Input[str]] = None,
897
+ max_scale: Optional[pulumi.Input[int]] = None,
898
+ memory_limit: Optional[pulumi.Input[int]] = None,
899
+ min_scale: Optional[pulumi.Input[int]] = None,
900
+ name: Optional[pulumi.Input[str]] = None,
901
+ namespace_id: Optional[pulumi.Input[str]] = None,
902
+ organization_id: Optional[pulumi.Input[str]] = None,
903
+ privacy: Optional[pulumi.Input[str]] = None,
904
+ project_id: Optional[pulumi.Input[str]] = None,
905
+ region: Optional[pulumi.Input[str]] = None,
906
+ runtime: Optional[pulumi.Input[str]] = None,
907
+ sandbox: Optional[pulumi.Input[str]] = None,
908
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
909
+ timeout: Optional[pulumi.Input[int]] = None,
910
+ zip_file: Optional[pulumi.Input[str]] = None,
911
+ zip_hash: Optional[pulumi.Input[str]] = None) -> 'Function':
912
+ """
913
+ Get an existing Function resource's state with the given name, id, and optional extra
914
+ properties used to qualify the lookup.
915
+
916
+ :param str resource_name: The unique name of the resulting resource.
917
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
918
+ :param pulumi.ResourceOptions opts: Options for the resource.
919
+ :param pulumi.Input[int] cpu_limit: The CPU limit in mCPU for your function. More infos on resources [here](https://www.scaleway.com/en/developers/api/serverless-functions/#functions)
920
+ :param pulumi.Input[str] description: The description of the function.
921
+ :param pulumi.Input[str] domain_name: The native domain name of the function
922
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The environment variables of the function.
923
+ :param pulumi.Input[str] handler: Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
924
+ :param pulumi.Input[str] http_option: HTTP traffic configuration
925
+ :param pulumi.Input[int] max_scale: Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
926
+ :param pulumi.Input[int] memory_limit: Memory limit in MB for your function, defaults to 128MB
927
+ :param pulumi.Input[int] min_scale: Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
928
+ :param pulumi.Input[str] name: The unique name of the function.
929
+
930
+ > **Important** Updates to `name` will recreate the function.
931
+ :param pulumi.Input[str] namespace_id: The function namespace ID of the function.
932
+ :param pulumi.Input[str] organization_id: The organization ID the function is associated with.
933
+ :param pulumi.Input[str] privacy: Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
934
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the namespace is associated with.
935
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
936
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
937
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
938
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
939
+ :param pulumi.Input[int] timeout: Holds the max duration (in seconds) the function is allowed for responding to a request
940
+ :param pulumi.Input[str] zip_file: Location of the zip file to upload containing your function sources
941
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
942
+ """
943
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
944
+
945
+ __props__ = _FunctionState.__new__(_FunctionState)
946
+
947
+ __props__.__dict__["cpu_limit"] = cpu_limit
948
+ __props__.__dict__["deploy"] = deploy
949
+ __props__.__dict__["description"] = description
950
+ __props__.__dict__["domain_name"] = domain_name
951
+ __props__.__dict__["environment_variables"] = environment_variables
952
+ __props__.__dict__["handler"] = handler
953
+ __props__.__dict__["http_option"] = http_option
954
+ __props__.__dict__["max_scale"] = max_scale
955
+ __props__.__dict__["memory_limit"] = memory_limit
956
+ __props__.__dict__["min_scale"] = min_scale
957
+ __props__.__dict__["name"] = name
958
+ __props__.__dict__["namespace_id"] = namespace_id
959
+ __props__.__dict__["organization_id"] = organization_id
960
+ __props__.__dict__["privacy"] = privacy
961
+ __props__.__dict__["project_id"] = project_id
962
+ __props__.__dict__["region"] = region
963
+ __props__.__dict__["runtime"] = runtime
964
+ __props__.__dict__["sandbox"] = sandbox
965
+ __props__.__dict__["secret_environment_variables"] = secret_environment_variables
966
+ __props__.__dict__["timeout"] = timeout
967
+ __props__.__dict__["zip_file"] = zip_file
968
+ __props__.__dict__["zip_hash"] = zip_hash
969
+ return Function(resource_name, opts=opts, __props__=__props__)
970
+
971
+ @property
972
+ @pulumi.getter(name="cpuLimit")
973
+ def cpu_limit(self) -> pulumi.Output[int]:
974
+ """
975
+ The CPU limit in mCPU for your function. More infos on resources [here](https://www.scaleway.com/en/developers/api/serverless-functions/#functions)
976
+ """
977
+ return pulumi.get(self, "cpu_limit")
978
+
979
+ @property
980
+ @pulumi.getter
981
+ def deploy(self) -> pulumi.Output[Optional[bool]]:
982
+ return pulumi.get(self, "deploy")
983
+
984
+ @property
985
+ @pulumi.getter
986
+ def description(self) -> pulumi.Output[Optional[str]]:
987
+ """
988
+ The description of the function.
989
+ """
990
+ return pulumi.get(self, "description")
991
+
992
+ @property
993
+ @pulumi.getter(name="domainName")
994
+ def domain_name(self) -> pulumi.Output[str]:
995
+ """
996
+ The native domain name of the function
997
+ """
998
+ return pulumi.get(self, "domain_name")
999
+
1000
+ @property
1001
+ @pulumi.getter(name="environmentVariables")
1002
+ def environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1003
+ """
1004
+ The environment variables of the function.
1005
+ """
1006
+ return pulumi.get(self, "environment_variables")
1007
+
1008
+ @property
1009
+ @pulumi.getter
1010
+ def handler(self) -> pulumi.Output[str]:
1011
+ """
1012
+ Handler of the function. Depends on the runtime ([function guide](https://www.scaleway.com/en/developers/api/serverless-functions/#create-a-function))
1013
+ """
1014
+ return pulumi.get(self, "handler")
1015
+
1016
+ @property
1017
+ @pulumi.getter(name="httpOption")
1018
+ def http_option(self) -> pulumi.Output[Optional[str]]:
1019
+ """
1020
+ HTTP traffic configuration
1021
+ """
1022
+ return pulumi.get(self, "http_option")
1023
+
1024
+ @property
1025
+ @pulumi.getter(name="maxScale")
1026
+ def max_scale(self) -> pulumi.Output[Optional[int]]:
1027
+ """
1028
+ Maximum replicas for your function (defaults to 20), our system will scale your functions automatically based on incoming workload, but will never scale the number of replicas above the configured max_scale.
1029
+ """
1030
+ return pulumi.get(self, "max_scale")
1031
+
1032
+ @property
1033
+ @pulumi.getter(name="memoryLimit")
1034
+ def memory_limit(self) -> pulumi.Output[Optional[int]]:
1035
+ """
1036
+ Memory limit in MB for your function, defaults to 128MB
1037
+ """
1038
+ return pulumi.get(self, "memory_limit")
1039
+
1040
+ @property
1041
+ @pulumi.getter(name="minScale")
1042
+ def min_scale(self) -> pulumi.Output[Optional[int]]:
1043
+ """
1044
+ Minimum replicas for your function, defaults to 0, Note that a function is billed when it gets executed, and using a min_scale greater than 0 will cause your function container to run constantly.
1045
+ """
1046
+ return pulumi.get(self, "min_scale")
1047
+
1048
+ @property
1049
+ @pulumi.getter
1050
+ def name(self) -> pulumi.Output[str]:
1051
+ """
1052
+ The unique name of the function.
1053
+
1054
+ > **Important** Updates to `name` will recreate the function.
1055
+ """
1056
+ return pulumi.get(self, "name")
1057
+
1058
+ @property
1059
+ @pulumi.getter(name="namespaceId")
1060
+ def namespace_id(self) -> pulumi.Output[str]:
1061
+ """
1062
+ The function namespace ID of the function.
1063
+ """
1064
+ return pulumi.get(self, "namespace_id")
1065
+
1066
+ @property
1067
+ @pulumi.getter(name="organizationId")
1068
+ def organization_id(self) -> pulumi.Output[str]:
1069
+ """
1070
+ The organization ID the function is associated with.
1071
+ """
1072
+ return pulumi.get(self, "organization_id")
1073
+
1074
+ @property
1075
+ @pulumi.getter
1076
+ def privacy(self) -> pulumi.Output[str]:
1077
+ """
1078
+ Privacy of the function. Can be either `private` or `public`. Read more on [authentication](https://www.scaleway.com/en/developers/api/serverless-functions/#authentication)
1079
+ """
1080
+ return pulumi.get(self, "privacy")
1081
+
1082
+ @property
1083
+ @pulumi.getter(name="projectId")
1084
+ def project_id(self) -> pulumi.Output[str]:
1085
+ """
1086
+ `project_id`) The ID of the project the namespace is associated with.
1087
+ """
1088
+ return pulumi.get(self, "project_id")
1089
+
1090
+ @property
1091
+ @pulumi.getter
1092
+ def region(self) -> pulumi.Output[str]:
1093
+ """
1094
+ `region`). The region in which the namespace should be created.
1095
+ """
1096
+ return pulumi.get(self, "region")
1097
+
1098
+ @property
1099
+ @pulumi.getter
1100
+ def runtime(self) -> pulumi.Output[str]:
1101
+ """
1102
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#get-f7de6a
1103
+ """
1104
+ return pulumi.get(self, "runtime")
1105
+
1106
+ @property
1107
+ @pulumi.getter
1108
+ def sandbox(self) -> pulumi.Output[str]:
1109
+ """
1110
+ Execution environment of the function.
1111
+ """
1112
+ return pulumi.get(self, "sandbox")
1113
+
1114
+ @property
1115
+ @pulumi.getter(name="secretEnvironmentVariables")
1116
+ def secret_environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1117
+ """
1118
+ The [secret environment](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) variables of the function.
1119
+ """
1120
+ return pulumi.get(self, "secret_environment_variables")
1121
+
1122
+ @property
1123
+ @pulumi.getter
1124
+ def timeout(self) -> pulumi.Output[int]:
1125
+ """
1126
+ Holds the max duration (in seconds) the function is allowed for responding to a request
1127
+ """
1128
+ return pulumi.get(self, "timeout")
1129
+
1130
+ @property
1131
+ @pulumi.getter(name="zipFile")
1132
+ def zip_file(self) -> pulumi.Output[Optional[str]]:
1133
+ """
1134
+ Location of the zip file to upload containing your function sources
1135
+ """
1136
+ return pulumi.get(self, "zip_file")
1137
+
1138
+ @property
1139
+ @pulumi.getter(name="zipHash")
1140
+ def zip_hash(self) -> pulumi.Output[Optional[str]]:
1141
+ """
1142
+ The hash of your source zip file, changing it will re-apply function. Can be any string
1143
+ """
1144
+ return pulumi.get(self, "zip_hash")
1145
+