pulumiverse-scaleway 1.23.0a1736837529__py3-none-any.whl

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

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1641 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,174 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetVpcsResult',
20
+ 'AwaitableGetVpcsResult',
21
+ 'get_vpcs',
22
+ 'get_vpcs_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetVpcsResult:
27
+ """
28
+ A collection of values returned by getVpcs.
29
+ """
30
+ def __init__(__self__, id=None, name=None, organization_id=None, project_id=None, region=None, tags=None, vpcs=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if name and not isinstance(name, str):
35
+ raise TypeError("Expected argument 'name' to be a str")
36
+ pulumi.set(__self__, "name", name)
37
+ if organization_id and not isinstance(organization_id, str):
38
+ raise TypeError("Expected argument 'organization_id' to be a str")
39
+ pulumi.set(__self__, "organization_id", organization_id)
40
+ if project_id and not isinstance(project_id, str):
41
+ raise TypeError("Expected argument 'project_id' to be a str")
42
+ pulumi.set(__self__, "project_id", project_id)
43
+ if region and not isinstance(region, str):
44
+ raise TypeError("Expected argument 'region' to be a str")
45
+ pulumi.set(__self__, "region", region)
46
+ if tags and not isinstance(tags, list):
47
+ raise TypeError("Expected argument 'tags' to be a list")
48
+ pulumi.set(__self__, "tags", tags)
49
+ if vpcs and not isinstance(vpcs, list):
50
+ raise TypeError("Expected argument 'vpcs' to be a list")
51
+ pulumi.set(__self__, "vpcs", vpcs)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def id(self) -> str:
56
+ """
57
+ The provider-assigned unique ID for this managed resource.
58
+ """
59
+ return pulumi.get(self, "id")
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def name(self) -> Optional[str]:
64
+ return pulumi.get(self, "name")
65
+
66
+ @property
67
+ @pulumi.getter(name="organizationId")
68
+ def organization_id(self) -> str:
69
+ """
70
+ The Organization ID the VPC is associated with.
71
+ """
72
+ return pulumi.get(self, "organization_id")
73
+
74
+ @property
75
+ @pulumi.getter(name="projectId")
76
+ def project_id(self) -> str:
77
+ """
78
+ The ID of the Project the VPC is associated with.
79
+ """
80
+ return pulumi.get(self, "project_id")
81
+
82
+ @property
83
+ @pulumi.getter
84
+ def region(self) -> str:
85
+ return pulumi.get(self, "region")
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def tags(self) -> Optional[Sequence[str]]:
90
+ return pulumi.get(self, "tags")
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def vpcs(self) -> Sequence['outputs.GetVpcsVpcResult']:
95
+ """
96
+ List of retrieved VPCs
97
+ """
98
+ return pulumi.get(self, "vpcs")
99
+
100
+
101
+ class AwaitableGetVpcsResult(GetVpcsResult):
102
+ # pylint: disable=using-constant-test
103
+ def __await__(self):
104
+ if False:
105
+ yield self
106
+ return GetVpcsResult(
107
+ id=self.id,
108
+ name=self.name,
109
+ organization_id=self.organization_id,
110
+ project_id=self.project_id,
111
+ region=self.region,
112
+ tags=self.tags,
113
+ vpcs=self.vpcs)
114
+
115
+
116
+ def get_vpcs(name: Optional[str] = None,
117
+ project_id: Optional[str] = None,
118
+ region: Optional[str] = None,
119
+ tags: Optional[Sequence[str]] = None,
120
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcsResult:
121
+ """
122
+ Gets information about multiple Virtual Private Clouds.
123
+
124
+
125
+ :param str name: The VPC name to filter for. VPCs with a similar name are listed.
126
+ :param str project_id: The ID of the Project the VPC is associated with.
127
+ :param str region: `region`). The region in which the VPCs exist.
128
+ :param Sequence[str] tags: List of tags to filter for. VPCs with these exact tags are listed.
129
+ """
130
+ __args__ = dict()
131
+ __args__['name'] = name
132
+ __args__['projectId'] = project_id
133
+ __args__['region'] = region
134
+ __args__['tags'] = tags
135
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
136
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getVpcs:getVpcs', __args__, opts=opts, typ=GetVpcsResult).value
137
+
138
+ return AwaitableGetVpcsResult(
139
+ id=pulumi.get(__ret__, 'id'),
140
+ name=pulumi.get(__ret__, 'name'),
141
+ organization_id=pulumi.get(__ret__, 'organization_id'),
142
+ project_id=pulumi.get(__ret__, 'project_id'),
143
+ region=pulumi.get(__ret__, 'region'),
144
+ tags=pulumi.get(__ret__, 'tags'),
145
+ vpcs=pulumi.get(__ret__, 'vpcs'))
146
+ def get_vpcs_output(name: Optional[pulumi.Input[Optional[str]]] = None,
147
+ project_id: Optional[pulumi.Input[Optional[str]]] = None,
148
+ region: Optional[pulumi.Input[Optional[str]]] = None,
149
+ tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
150
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcsResult]:
151
+ """
152
+ Gets information about multiple Virtual Private Clouds.
153
+
154
+
155
+ :param str name: The VPC name to filter for. VPCs with a similar name are listed.
156
+ :param str project_id: The ID of the Project the VPC is associated with.
157
+ :param str region: `region`). The region in which the VPCs exist.
158
+ :param Sequence[str] tags: List of tags to filter for. VPCs with these exact tags are listed.
159
+ """
160
+ __args__ = dict()
161
+ __args__['name'] = name
162
+ __args__['projectId'] = project_id
163
+ __args__['region'] = region
164
+ __args__['tags'] = tags
165
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
166
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcs:getVpcs', __args__, opts=opts, typ=GetVpcsResult)
167
+ return __ret__.apply(lambda __response__: GetVpcsResult(
168
+ id=pulumi.get(__response__, 'id'),
169
+ name=pulumi.get(__response__, 'name'),
170
+ organization_id=pulumi.get(__response__, 'organization_id'),
171
+ project_id=pulumi.get(__response__, 'project_id'),
172
+ region=pulumi.get(__response__, 'region'),
173
+ tags=pulumi.get(__response__, 'tags'),
174
+ vpcs=pulumi.get(__response__, 'vpcs')))
@@ -0,0 +1,192 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetWebHostOfferResult',
20
+ 'AwaitableGetWebHostOfferResult',
21
+ 'get_web_host_offer',
22
+ 'get_web_host_offer_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetWebHostOfferResult:
27
+ """
28
+ A collection of values returned by getWebHostOffer.
29
+ """
30
+ def __init__(__self__, billing_operation_path=None, id=None, name=None, offer_id=None, price=None, products=None, region=None):
31
+ if billing_operation_path and not isinstance(billing_operation_path, str):
32
+ raise TypeError("Expected argument 'billing_operation_path' to be a str")
33
+ pulumi.set(__self__, "billing_operation_path", billing_operation_path)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if name and not isinstance(name, str):
38
+ raise TypeError("Expected argument 'name' to be a str")
39
+ pulumi.set(__self__, "name", name)
40
+ if offer_id and not isinstance(offer_id, str):
41
+ raise TypeError("Expected argument 'offer_id' to be a str")
42
+ pulumi.set(__self__, "offer_id", offer_id)
43
+ if price and not isinstance(price, str):
44
+ raise TypeError("Expected argument 'price' to be a str")
45
+ pulumi.set(__self__, "price", price)
46
+ if products and not isinstance(products, list):
47
+ raise TypeError("Expected argument 'products' to be a list")
48
+ pulumi.set(__self__, "products", products)
49
+ if region and not isinstance(region, str):
50
+ raise TypeError("Expected argument 'region' to be a str")
51
+ pulumi.set(__self__, "region", region)
52
+
53
+ @property
54
+ @pulumi.getter(name="billingOperationPath")
55
+ def billing_operation_path(self) -> str:
56
+ """
57
+ The unique identifier used for billing.
58
+ """
59
+ return pulumi.get(self, "billing_operation_path")
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def id(self) -> str:
64
+ """
65
+ The provider-assigned unique ID for this managed resource.
66
+ """
67
+ return pulumi.get(self, "id")
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def name(self) -> Optional[str]:
72
+ return pulumi.get(self, "name")
73
+
74
+ @property
75
+ @pulumi.getter(name="offerId")
76
+ def offer_id(self) -> Optional[str]:
77
+ return pulumi.get(self, "offer_id")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def price(self) -> str:
82
+ """
83
+ The offer price.
84
+ """
85
+ return pulumi.get(self, "price")
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def products(self) -> Sequence['outputs.GetWebHostOfferProductResult']:
90
+ """
91
+ The offer product.
92
+ """
93
+ return pulumi.get(self, "products")
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def region(self) -> str:
98
+ return pulumi.get(self, "region")
99
+
100
+
101
+ class AwaitableGetWebHostOfferResult(GetWebHostOfferResult):
102
+ # pylint: disable=using-constant-test
103
+ def __await__(self):
104
+ if False:
105
+ yield self
106
+ return GetWebHostOfferResult(
107
+ billing_operation_path=self.billing_operation_path,
108
+ id=self.id,
109
+ name=self.name,
110
+ offer_id=self.offer_id,
111
+ price=self.price,
112
+ products=self.products,
113
+ region=self.region)
114
+
115
+
116
+ def get_web_host_offer(name: Optional[str] = None,
117
+ offer_id: Optional[str] = None,
118
+ region: Optional[str] = None,
119
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWebHostOfferResult:
120
+ """
121
+ Gets information about a webhosting offer.
122
+
123
+ ## Example Usage
124
+
125
+ ```python
126
+ import pulumi
127
+ import pulumi_scaleway as scaleway
128
+
129
+ # Get info by offer name
130
+ by_name = scaleway.get_web_host_offer(name="performance")
131
+ # Get info by offer id
132
+ by_id = scaleway.get_web_host_offer(offer_id="de2426b4-a9e9-11ec-b909-0242ac120002")
133
+ ```
134
+
135
+
136
+ :param str name: The offer name. Only one of `name` and `offer_id` should be specified.
137
+ :param str offer_id: The offer id. Only one of `name` and `offer_id` should be specified.
138
+ :param str region: `region`) The region in which offer exists.
139
+ """
140
+ __args__ = dict()
141
+ __args__['name'] = name
142
+ __args__['offerId'] = offer_id
143
+ __args__['region'] = region
144
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
145
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getWebHostOffer:getWebHostOffer', __args__, opts=opts, typ=GetWebHostOfferResult).value
146
+
147
+ return AwaitableGetWebHostOfferResult(
148
+ billing_operation_path=pulumi.get(__ret__, 'billing_operation_path'),
149
+ id=pulumi.get(__ret__, 'id'),
150
+ name=pulumi.get(__ret__, 'name'),
151
+ offer_id=pulumi.get(__ret__, 'offer_id'),
152
+ price=pulumi.get(__ret__, 'price'),
153
+ products=pulumi.get(__ret__, 'products'),
154
+ region=pulumi.get(__ret__, 'region'))
155
+ def get_web_host_offer_output(name: Optional[pulumi.Input[Optional[str]]] = None,
156
+ offer_id: Optional[pulumi.Input[Optional[str]]] = None,
157
+ region: Optional[pulumi.Input[Optional[str]]] = None,
158
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebHostOfferResult]:
159
+ """
160
+ Gets information about a webhosting offer.
161
+
162
+ ## Example Usage
163
+
164
+ ```python
165
+ import pulumi
166
+ import pulumi_scaleway as scaleway
167
+
168
+ # Get info by offer name
169
+ by_name = scaleway.get_web_host_offer(name="performance")
170
+ # Get info by offer id
171
+ by_id = scaleway.get_web_host_offer(offer_id="de2426b4-a9e9-11ec-b909-0242ac120002")
172
+ ```
173
+
174
+
175
+ :param str name: The offer name. Only one of `name` and `offer_id` should be specified.
176
+ :param str offer_id: The offer id. Only one of `name` and `offer_id` should be specified.
177
+ :param str region: `region`) The region in which offer exists.
178
+ """
179
+ __args__ = dict()
180
+ __args__['name'] = name
181
+ __args__['offerId'] = offer_id
182
+ __args__['region'] = region
183
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
184
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getWebHostOffer:getWebHostOffer', __args__, opts=opts, typ=GetWebHostOfferResult)
185
+ return __ret__.apply(lambda __response__: GetWebHostOfferResult(
186
+ billing_operation_path=pulumi.get(__response__, 'billing_operation_path'),
187
+ id=pulumi.get(__response__, 'id'),
188
+ name=pulumi.get(__response__, 'name'),
189
+ offer_id=pulumi.get(__response__, 'offer_id'),
190
+ price=pulumi.get(__response__, 'price'),
191
+ products=pulumi.get(__response__, 'products'),
192
+ region=pulumi.get(__response__, 'region')))