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,181 @@
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__ = [
18
+ 'GetDatabasePrivilegeResult',
19
+ 'AwaitableGetDatabasePrivilegeResult',
20
+ 'get_database_privilege',
21
+ 'get_database_privilege_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetDatabasePrivilegeResult:
26
+ """
27
+ A collection of values returned by getDatabasePrivilege.
28
+ """
29
+ def __init__(__self__, database_name=None, id=None, instance_id=None, permission=None, region=None, user_name=None):
30
+ if database_name and not isinstance(database_name, str):
31
+ raise TypeError("Expected argument 'database_name' to be a str")
32
+ pulumi.set(__self__, "database_name", database_name)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if instance_id and not isinstance(instance_id, str):
37
+ raise TypeError("Expected argument 'instance_id' to be a str")
38
+ pulumi.set(__self__, "instance_id", instance_id)
39
+ if permission and not isinstance(permission, str):
40
+ raise TypeError("Expected argument 'permission' to be a str")
41
+ pulumi.set(__self__, "permission", permission)
42
+ if region and not isinstance(region, str):
43
+ raise TypeError("Expected argument 'region' to be a str")
44
+ pulumi.set(__self__, "region", region)
45
+ if user_name and not isinstance(user_name, str):
46
+ raise TypeError("Expected argument 'user_name' to be a str")
47
+ pulumi.set(__self__, "user_name", user_name)
48
+
49
+ @property
50
+ @pulumi.getter(name="databaseName")
51
+ def database_name(self) -> str:
52
+ return pulumi.get(self, "database_name")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def id(self) -> str:
57
+ """
58
+ The provider-assigned unique ID for this managed resource.
59
+ """
60
+ return pulumi.get(self, "id")
61
+
62
+ @property
63
+ @pulumi.getter(name="instanceId")
64
+ def instance_id(self) -> str:
65
+ return pulumi.get(self, "instance_id")
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def permission(self) -> str:
70
+ """
71
+ The permission for this user on the database. Possible values are `readonly`, `readwrite`, `all`
72
+ , `custom` and `none`.
73
+ """
74
+ return pulumi.get(self, "permission")
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def region(self) -> Optional[str]:
79
+ return pulumi.get(self, "region")
80
+
81
+ @property
82
+ @pulumi.getter(name="userName")
83
+ def user_name(self) -> str:
84
+ return pulumi.get(self, "user_name")
85
+
86
+
87
+ class AwaitableGetDatabasePrivilegeResult(GetDatabasePrivilegeResult):
88
+ # pylint: disable=using-constant-test
89
+ def __await__(self):
90
+ if False:
91
+ yield self
92
+ return GetDatabasePrivilegeResult(
93
+ database_name=self.database_name,
94
+ id=self.id,
95
+ instance_id=self.instance_id,
96
+ permission=self.permission,
97
+ region=self.region,
98
+ user_name=self.user_name)
99
+
100
+
101
+ def get_database_privilege(database_name: Optional[str] = None,
102
+ instance_id: Optional[str] = None,
103
+ region: Optional[str] = None,
104
+ user_name: Optional[str] = None,
105
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabasePrivilegeResult:
106
+ """
107
+ Gets information about the privileges in a database.
108
+
109
+ ## Example Usage
110
+
111
+ ```python
112
+ import pulumi
113
+ import pulumi_scaleway as scaleway
114
+
115
+ # Get the database privilege for the user "my-user" on the database "my-database" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par
116
+ main = scaleway.get_database_privilege(instance_id="11111111-1111-111111111111",
117
+ user_name="my-user",
118
+ database_name="my-database")
119
+ ```
120
+
121
+
122
+ :param str database_name: The database name.
123
+ :param str instance_id: The Database Instance ID.
124
+ :param str region: `region`) The region in which the resource exists.
125
+ :param str user_name: The user name.
126
+ """
127
+ __args__ = dict()
128
+ __args__['databaseName'] = database_name
129
+ __args__['instanceId'] = instance_id
130
+ __args__['region'] = region
131
+ __args__['userName'] = user_name
132
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
133
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getDatabasePrivilege:getDatabasePrivilege', __args__, opts=opts, typ=GetDatabasePrivilegeResult).value
134
+
135
+ return AwaitableGetDatabasePrivilegeResult(
136
+ database_name=pulumi.get(__ret__, 'database_name'),
137
+ id=pulumi.get(__ret__, 'id'),
138
+ instance_id=pulumi.get(__ret__, 'instance_id'),
139
+ permission=pulumi.get(__ret__, 'permission'),
140
+ region=pulumi.get(__ret__, 'region'),
141
+ user_name=pulumi.get(__ret__, 'user_name'))
142
+ def get_database_privilege_output(database_name: Optional[pulumi.Input[str]] = None,
143
+ instance_id: Optional[pulumi.Input[str]] = None,
144
+ region: Optional[pulumi.Input[Optional[str]]] = None,
145
+ user_name: Optional[pulumi.Input[str]] = None,
146
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabasePrivilegeResult]:
147
+ """
148
+ Gets information about the privileges in a database.
149
+
150
+ ## Example Usage
151
+
152
+ ```python
153
+ import pulumi
154
+ import pulumi_scaleway as scaleway
155
+
156
+ # Get the database privilege for the user "my-user" on the database "my-database" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par
157
+ main = scaleway.get_database_privilege(instance_id="11111111-1111-111111111111",
158
+ user_name="my-user",
159
+ database_name="my-database")
160
+ ```
161
+
162
+
163
+ :param str database_name: The database name.
164
+ :param str instance_id: The Database Instance ID.
165
+ :param str region: `region`) The region in which the resource exists.
166
+ :param str user_name: The user name.
167
+ """
168
+ __args__ = dict()
169
+ __args__['databaseName'] = database_name
170
+ __args__['instanceId'] = instance_id
171
+ __args__['region'] = region
172
+ __args__['userName'] = user_name
173
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
174
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabasePrivilege:getDatabasePrivilege', __args__, opts=opts, typ=GetDatabasePrivilegeResult)
175
+ return __ret__.apply(lambda __response__: GetDatabasePrivilegeResult(
176
+ database_name=pulumi.get(__response__, 'database_name'),
177
+ id=pulumi.get(__response__, 'id'),
178
+ instance_id=pulumi.get(__response__, 'instance_id'),
179
+ permission=pulumi.get(__response__, 'permission'),
180
+ region=pulumi.get(__response__, 'region'),
181
+ user_name=pulumi.get(__response__, 'user_name')))
@@ -0,0 +1,340 @@
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
+ 'GetDomainRecordResult',
20
+ 'AwaitableGetDomainRecordResult',
21
+ 'get_domain_record',
22
+ 'get_domain_record_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetDomainRecordResult:
27
+ """
28
+ A collection of values returned by getDomainRecord.
29
+ """
30
+ def __init__(__self__, data=None, dns_zone=None, fqdn=None, geo_ips=None, http_services=None, id=None, keep_empty_zone=None, name=None, priority=None, project_id=None, record_id=None, root_zone=None, ttl=None, type=None, views=None, weighteds=None):
31
+ if data and not isinstance(data, str):
32
+ raise TypeError("Expected argument 'data' to be a str")
33
+ pulumi.set(__self__, "data", data)
34
+ if dns_zone and not isinstance(dns_zone, str):
35
+ raise TypeError("Expected argument 'dns_zone' to be a str")
36
+ pulumi.set(__self__, "dns_zone", dns_zone)
37
+ if fqdn and not isinstance(fqdn, str):
38
+ raise TypeError("Expected argument 'fqdn' to be a str")
39
+ pulumi.set(__self__, "fqdn", fqdn)
40
+ if geo_ips and not isinstance(geo_ips, list):
41
+ raise TypeError("Expected argument 'geo_ips' to be a list")
42
+ pulumi.set(__self__, "geo_ips", geo_ips)
43
+ if http_services and not isinstance(http_services, list):
44
+ raise TypeError("Expected argument 'http_services' to be a list")
45
+ pulumi.set(__self__, "http_services", http_services)
46
+ if id and not isinstance(id, str):
47
+ raise TypeError("Expected argument 'id' to be a str")
48
+ pulumi.set(__self__, "id", id)
49
+ if keep_empty_zone and not isinstance(keep_empty_zone, bool):
50
+ raise TypeError("Expected argument 'keep_empty_zone' to be a bool")
51
+ pulumi.set(__self__, "keep_empty_zone", keep_empty_zone)
52
+ if name and not isinstance(name, str):
53
+ raise TypeError("Expected argument 'name' to be a str")
54
+ pulumi.set(__self__, "name", name)
55
+ if priority and not isinstance(priority, int):
56
+ raise TypeError("Expected argument 'priority' to be a int")
57
+ pulumi.set(__self__, "priority", priority)
58
+ if project_id and not isinstance(project_id, str):
59
+ raise TypeError("Expected argument 'project_id' to be a str")
60
+ pulumi.set(__self__, "project_id", project_id)
61
+ if record_id and not isinstance(record_id, str):
62
+ raise TypeError("Expected argument 'record_id' to be a str")
63
+ pulumi.set(__self__, "record_id", record_id)
64
+ if root_zone and not isinstance(root_zone, bool):
65
+ raise TypeError("Expected argument 'root_zone' to be a bool")
66
+ pulumi.set(__self__, "root_zone", root_zone)
67
+ if ttl and not isinstance(ttl, int):
68
+ raise TypeError("Expected argument 'ttl' to be a int")
69
+ pulumi.set(__self__, "ttl", ttl)
70
+ if type and not isinstance(type, str):
71
+ raise TypeError("Expected argument 'type' to be a str")
72
+ pulumi.set(__self__, "type", type)
73
+ if views and not isinstance(views, list):
74
+ raise TypeError("Expected argument 'views' to be a list")
75
+ pulumi.set(__self__, "views", views)
76
+ if weighteds and not isinstance(weighteds, list):
77
+ raise TypeError("Expected argument 'weighteds' to be a list")
78
+ pulumi.set(__self__, "weighteds", weighteds)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def data(self) -> Optional[str]:
83
+ return pulumi.get(self, "data")
84
+
85
+ @property
86
+ @pulumi.getter(name="dnsZone")
87
+ def dns_zone(self) -> Optional[str]:
88
+ return pulumi.get(self, "dns_zone")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def fqdn(self) -> str:
93
+ return pulumi.get(self, "fqdn")
94
+
95
+ @property
96
+ @pulumi.getter(name="geoIps")
97
+ def geo_ips(self) -> Sequence['outputs.GetDomainRecordGeoIpResult']:
98
+ """
99
+ Information about dynamic records based on user geolocation. Find out more about dynamic records.
100
+ """
101
+ return pulumi.get(self, "geo_ips")
102
+
103
+ @property
104
+ @pulumi.getter(name="httpServices")
105
+ def http_services(self) -> Sequence['outputs.GetDomainRecordHttpServiceResult']:
106
+ """
107
+ Information about dynamic records based on URL resolution. Find out more about dynamic records.
108
+ """
109
+ return pulumi.get(self, "http_services")
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def id(self) -> str:
114
+ """
115
+ The provider-assigned unique ID for this managed resource.
116
+ """
117
+ return pulumi.get(self, "id")
118
+
119
+ @property
120
+ @pulumi.getter(name="keepEmptyZone")
121
+ def keep_empty_zone(self) -> bool:
122
+ return pulumi.get(self, "keep_empty_zone")
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def name(self) -> Optional[str]:
127
+ return pulumi.get(self, "name")
128
+
129
+ @property
130
+ @pulumi.getter
131
+ def priority(self) -> int:
132
+ """
133
+ The priority of the record, mainly used with `MX` records.
134
+ """
135
+ return pulumi.get(self, "priority")
136
+
137
+ @property
138
+ @pulumi.getter(name="projectId")
139
+ def project_id(self) -> Optional[str]:
140
+ return pulumi.get(self, "project_id")
141
+
142
+ @property
143
+ @pulumi.getter(name="recordId")
144
+ def record_id(self) -> Optional[str]:
145
+ return pulumi.get(self, "record_id")
146
+
147
+ @property
148
+ @pulumi.getter(name="rootZone")
149
+ def root_zone(self) -> bool:
150
+ return pulumi.get(self, "root_zone")
151
+
152
+ @property
153
+ @pulumi.getter
154
+ def ttl(self) -> int:
155
+ """
156
+ The Time To Live (TTL) of the record in seconds.
157
+ """
158
+ return pulumi.get(self, "ttl")
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def type(self) -> Optional[str]:
163
+ return pulumi.get(self, "type")
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def views(self) -> Sequence['outputs.GetDomainRecordViewResult']:
168
+ """
169
+ Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.
170
+ """
171
+ return pulumi.get(self, "views")
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def weighteds(self) -> Sequence['outputs.GetDomainRecordWeightedResult']:
176
+ """
177
+ Information about dynamic records based on IP weights. Find out more about dynamic records.
178
+ """
179
+ return pulumi.get(self, "weighteds")
180
+
181
+
182
+ class AwaitableGetDomainRecordResult(GetDomainRecordResult):
183
+ # pylint: disable=using-constant-test
184
+ def __await__(self):
185
+ if False:
186
+ yield self
187
+ return GetDomainRecordResult(
188
+ data=self.data,
189
+ dns_zone=self.dns_zone,
190
+ fqdn=self.fqdn,
191
+ geo_ips=self.geo_ips,
192
+ http_services=self.http_services,
193
+ id=self.id,
194
+ keep_empty_zone=self.keep_empty_zone,
195
+ name=self.name,
196
+ priority=self.priority,
197
+ project_id=self.project_id,
198
+ record_id=self.record_id,
199
+ root_zone=self.root_zone,
200
+ ttl=self.ttl,
201
+ type=self.type,
202
+ views=self.views,
203
+ weighteds=self.weighteds)
204
+
205
+
206
+ def get_domain_record(data: Optional[str] = None,
207
+ dns_zone: Optional[str] = None,
208
+ name: Optional[str] = None,
209
+ project_id: Optional[str] = None,
210
+ record_id: Optional[str] = None,
211
+ type: Optional[str] = None,
212
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainRecordResult:
213
+ """
214
+ The `DomainRecord` data source is used to get information about an existing domain record.
215
+
216
+ Refer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information.
217
+
218
+ ## Query domain records
219
+
220
+ The following commands allow you to:
221
+
222
+ - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`).
223
+ - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`).
224
+
225
+ ```python
226
+ import pulumi
227
+ import pulumi_scaleway as scaleway
228
+
229
+ # Query record by DNS zone, record name, type and content
230
+ by_content = scaleway.get_domain_record(dns_zone="domain.tld",
231
+ name="www",
232
+ type="A",
233
+ data="1.2.3.4")
234
+ # Query record by DNS zone and record ID
235
+ by_id = scaleway.get_domain_record(dns_zone="domain.tld",
236
+ record_id="11111111-1111-1111-1111-111111111111")
237
+ ```
238
+
239
+
240
+ :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
241
+ :param str dns_zone: The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
242
+ :param str name: The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`.
243
+ :param str project_id: ). The ID of the Project associated with the domain.
244
+ :param str record_id: The unique identifier of the record. Cannot be used with `name`, `type`, and `data`.
245
+ :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`.
246
+ """
247
+ __args__ = dict()
248
+ __args__['data'] = data
249
+ __args__['dnsZone'] = dns_zone
250
+ __args__['name'] = name
251
+ __args__['projectId'] = project_id
252
+ __args__['recordId'] = record_id
253
+ __args__['type'] = type
254
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
255
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getDomainRecord:getDomainRecord', __args__, opts=opts, typ=GetDomainRecordResult).value
256
+
257
+ return AwaitableGetDomainRecordResult(
258
+ data=pulumi.get(__ret__, 'data'),
259
+ dns_zone=pulumi.get(__ret__, 'dns_zone'),
260
+ fqdn=pulumi.get(__ret__, 'fqdn'),
261
+ geo_ips=pulumi.get(__ret__, 'geo_ips'),
262
+ http_services=pulumi.get(__ret__, 'http_services'),
263
+ id=pulumi.get(__ret__, 'id'),
264
+ keep_empty_zone=pulumi.get(__ret__, 'keep_empty_zone'),
265
+ name=pulumi.get(__ret__, 'name'),
266
+ priority=pulumi.get(__ret__, 'priority'),
267
+ project_id=pulumi.get(__ret__, 'project_id'),
268
+ record_id=pulumi.get(__ret__, 'record_id'),
269
+ root_zone=pulumi.get(__ret__, 'root_zone'),
270
+ ttl=pulumi.get(__ret__, 'ttl'),
271
+ type=pulumi.get(__ret__, 'type'),
272
+ views=pulumi.get(__ret__, 'views'),
273
+ weighteds=pulumi.get(__ret__, 'weighteds'))
274
+ def get_domain_record_output(data: Optional[pulumi.Input[Optional[str]]] = None,
275
+ dns_zone: Optional[pulumi.Input[Optional[str]]] = None,
276
+ name: Optional[pulumi.Input[Optional[str]]] = None,
277
+ project_id: Optional[pulumi.Input[Optional[str]]] = None,
278
+ record_id: Optional[pulumi.Input[Optional[str]]] = None,
279
+ type: Optional[pulumi.Input[Optional[str]]] = None,
280
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainRecordResult]:
281
+ """
282
+ The `DomainRecord` data source is used to get information about an existing domain record.
283
+
284
+ Refer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information.
285
+
286
+ ## Query domain records
287
+
288
+ The following commands allow you to:
289
+
290
+ - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`).
291
+ - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`).
292
+
293
+ ```python
294
+ import pulumi
295
+ import pulumi_scaleway as scaleway
296
+
297
+ # Query record by DNS zone, record name, type and content
298
+ by_content = scaleway.get_domain_record(dns_zone="domain.tld",
299
+ name="www",
300
+ type="A",
301
+ data="1.2.3.4")
302
+ # Query record by DNS zone and record ID
303
+ by_id = scaleway.get_domain_record(dns_zone="domain.tld",
304
+ record_id="11111111-1111-1111-1111-111111111111")
305
+ ```
306
+
307
+
308
+ :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
309
+ :param str dns_zone: The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.
310
+ :param str name: The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`.
311
+ :param str project_id: ). The ID of the Project associated with the domain.
312
+ :param str record_id: The unique identifier of the record. Cannot be used with `name`, `type`, and `data`.
313
+ :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`.
314
+ """
315
+ __args__ = dict()
316
+ __args__['data'] = data
317
+ __args__['dnsZone'] = dns_zone
318
+ __args__['name'] = name
319
+ __args__['projectId'] = project_id
320
+ __args__['recordId'] = record_id
321
+ __args__['type'] = type
322
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
323
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDomainRecord:getDomainRecord', __args__, opts=opts, typ=GetDomainRecordResult)
324
+ return __ret__.apply(lambda __response__: GetDomainRecordResult(
325
+ data=pulumi.get(__response__, 'data'),
326
+ dns_zone=pulumi.get(__response__, 'dns_zone'),
327
+ fqdn=pulumi.get(__response__, 'fqdn'),
328
+ geo_ips=pulumi.get(__response__, 'geo_ips'),
329
+ http_services=pulumi.get(__response__, 'http_services'),
330
+ id=pulumi.get(__response__, 'id'),
331
+ keep_empty_zone=pulumi.get(__response__, 'keep_empty_zone'),
332
+ name=pulumi.get(__response__, 'name'),
333
+ priority=pulumi.get(__response__, 'priority'),
334
+ project_id=pulumi.get(__response__, 'project_id'),
335
+ record_id=pulumi.get(__response__, 'record_id'),
336
+ root_zone=pulumi.get(__response__, 'root_zone'),
337
+ ttl=pulumi.get(__response__, 'ttl'),
338
+ type=pulumi.get(__response__, 'type'),
339
+ views=pulumi.get(__response__, 'views'),
340
+ weighteds=pulumi.get(__response__, 'weighteds')))