@scaleway/sdk 0.1.0-beta.8 → 1.0.0

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.
Files changed (173) hide show
  1. package/README.md +1 -1
  2. package/dist/api/account/index.js +2 -2
  3. package/dist/api/account/v2/api.gen.js +5 -18
  4. package/dist/api/account/v2/index.gen.js +3 -0
  5. package/dist/api/account/v2/marshalling.gen.js +0 -2
  6. package/dist/api/account/v2alpha1/api.gen.js +3 -13
  7. package/dist/api/account/v2alpha1/marshalling.gen.js +0 -5
  8. package/dist/api/applesilicon/index.js +2 -2
  9. package/dist/api/applesilicon/v1alpha1/api.gen.js +7 -27
  10. package/dist/api/applesilicon/v1alpha1/index.gen.js +4 -0
  11. package/dist/api/applesilicon/v1alpha1/marshalling.gen.js +1 -14
  12. package/dist/api/baremetal/v1/api.gen.js +47 -49
  13. package/dist/api/baremetal/v1/api.utils.js +2 -10
  14. package/dist/api/baremetal/v1/content.gen.js +6 -3
  15. package/dist/api/baremetal/v1/index.js +4 -1
  16. package/dist/api/baremetal/v1/marshalling.gen.js +44 -45
  17. package/dist/api/baremetal/v1/validation-rules.gen.js +109 -0
  18. package/dist/api/container/index.js +2 -2
  19. package/dist/api/container/v1beta1/api.gen.js +5 -51
  20. package/dist/api/container/v1beta1/content.gen.js +4 -4
  21. package/dist/api/container/v1beta1/{index.js → index.gen.js} +3 -1
  22. package/dist/api/container/v1beta1/marshalling.gen.js +12 -26
  23. package/dist/api/domain/index.js +2 -2
  24. package/dist/api/domain/v2beta1/api.gen.js +55 -85
  25. package/dist/api/domain/v2beta1/content.gen.js +22 -1
  26. package/dist/api/domain/v2beta1/index.gen.js +4 -0
  27. package/dist/api/domain/v2beta1/marshalling.gen.js +47 -165
  28. package/dist/api/flexibleip/index.js +2 -2
  29. package/dist/api/flexibleip/v1alpha1/api.gen.js +5 -22
  30. package/dist/api/flexibleip/v1alpha1/content.gen.js +1 -1
  31. package/dist/api/flexibleip/v1alpha1/index.gen.js +6 -0
  32. package/dist/api/flexibleip/v1alpha1/marshalling.gen.js +0 -7
  33. package/dist/api/flexibleip/v1alpha1/validation-rules.gen.js +14 -0
  34. package/dist/api/function/index.js +2 -2
  35. package/dist/api/function/v1beta1/api.gen.js +54 -57
  36. package/dist/api/function/v1beta1/content.gen.js +8 -5
  37. package/dist/api/function/v1beta1/index.gen.js +4 -0
  38. package/dist/api/function/v1beta1/marshalling.gen.js +125 -33
  39. package/dist/api/iam/index.js +2 -2
  40. package/dist/api/iam/v1alpha1/api.gen.js +15 -62
  41. package/dist/api/iam/v1alpha1/index.gen.js +5 -0
  42. package/dist/api/iam/v1alpha1/marshalling.gen.js +7 -29
  43. package/dist/api/iam/v1alpha1/validation-rules.gen.js +184 -0
  44. package/dist/api/instance/v1/api.gen.js +38 -118
  45. package/dist/api/instance/v1/api.utils.js +59 -51
  46. package/dist/api/instance/v1/content.gen.js +7 -7
  47. package/dist/api/instance/v1/marshalling.gen.js +46 -168
  48. package/dist/api/instance/v1/marshalling.utils.js +63 -0
  49. package/dist/api/iot/index.js +2 -2
  50. package/dist/api/iot/v1/api.gen.js +5 -56
  51. package/dist/api/iot/v1/index.gen.js +4 -0
  52. package/dist/api/iot/v1/marshalling.gen.js +2 -51
  53. package/dist/api/k8s/index.js +2 -2
  54. package/dist/api/k8s/v1/api.gen.js +17 -43
  55. package/dist/api/k8s/v1/content.gen.js +2 -2
  56. package/dist/api/k8s/v1/index.gen.js +6 -0
  57. package/dist/api/k8s/v1/marshalling.gen.js +18 -36
  58. package/dist/api/k8s/v1/validation-rules.gen.js +92 -0
  59. package/dist/api/lb/v1/api.gen.js +8 -163
  60. package/dist/api/lb/v1/api.utils.js +3 -9
  61. package/dist/api/lb/v1/content.gen.js +3 -3
  62. package/dist/api/lb/v1/marshalling.gen.js +74 -101
  63. package/dist/api/marketplace/index.js +4 -2
  64. package/dist/api/marketplace/v1/api.gen.js +3 -13
  65. package/dist/api/marketplace/v1/index.gen.js +3 -0
  66. package/dist/api/marketplace/v1/marshalling.gen.js +0 -13
  67. package/dist/api/marketplace/v2/api.gen.js +85 -0
  68. package/dist/api/marketplace/v2/index.gen.js +3 -0
  69. package/dist/api/marketplace/v2/marshalling.gen.js +92 -0
  70. package/dist/api/mnq/index.js +2 -2
  71. package/dist/api/mnq/v1alpha1/api.gen.js +7 -25
  72. package/dist/api/mnq/v1alpha1/index.gen.js +3 -0
  73. package/dist/api/mnq/v1alpha1/marshalling.gen.js +7 -46
  74. package/dist/api/rdb/index.js +2 -2
  75. package/dist/api/rdb/v1/api.gen.js +15 -89
  76. package/dist/api/rdb/v1/content.gen.js +10 -4
  77. package/dist/api/rdb/v1/index.gen.js +4 -0
  78. package/dist/api/rdb/v1/marshalling.gen.js +25 -81
  79. package/dist/api/redis/index.js +2 -2
  80. package/dist/api/redis/{v1alpha1 → v1}/api.gen.js +45 -77
  81. package/dist/api/redis/{v1alpha1 → v1}/content.gen.js +1 -1
  82. package/dist/api/redis/v1/index.gen.js +4 -0
  83. package/dist/api/redis/{v1alpha1 → v1}/marshalling.gen.js +42 -59
  84. package/dist/api/registry/index.js +2 -2
  85. package/dist/api/registry/v1/api.gen.js +5 -29
  86. package/dist/api/registry/v1/content.gen.js +2 -2
  87. package/dist/api/registry/v1/{index.js → index.gen.js} +3 -1
  88. package/dist/api/registry/v1/marshalling.gen.js +2 -8
  89. package/dist/api/secret/index.js +2 -0
  90. package/dist/api/secret/v1alpha1/api.gen.js +135 -0
  91. package/dist/api/secret/v1alpha1/index.gen.js +3 -0
  92. package/dist/api/secret/v1alpha1/marshalling.gen.js +82 -0
  93. package/dist/api/tem/index.js +2 -0
  94. package/dist/api/tem/v1alpha1/api.gen.js +109 -0
  95. package/dist/api/tem/v1alpha1/content.gen.js +10 -0
  96. package/dist/api/tem/v1alpha1/index.gen.js +4 -0
  97. package/dist/api/tem/v1alpha1/marshalling.gen.js +132 -0
  98. package/dist/api/test/index.js +2 -2
  99. package/dist/api/test/v1/api.gen.js +6 -20
  100. package/dist/api/test/v1/index.gen.js +4 -0
  101. package/dist/api/test/v1/marshalling.gen.js +2 -5
  102. package/dist/api/vpc/index.js +2 -2
  103. package/dist/api/vpc/v1/api.gen.js +6 -17
  104. package/dist/api/vpc/v1/index.gen.js +3 -0
  105. package/dist/api/vpc/v1/marshalling.gen.js +1 -3
  106. package/dist/api/vpcgw/index.js +2 -2
  107. package/dist/api/vpcgw/v1/api.gen.js +5 -64
  108. package/dist/api/vpcgw/v1/content.gen.js +2 -2
  109. package/dist/api/vpcgw/v1/{index.js → index.gen.js} +3 -1
  110. package/dist/api/vpcgw/v1/marshalling.gen.js +3 -24
  111. package/dist/helpers/json.js +1 -2
  112. package/dist/helpers/marshalling.js +7 -20
  113. package/dist/index.cjs +3870 -2948
  114. package/dist/index.d.ts +7218 -4335
  115. package/dist/index.js +10 -6
  116. package/dist/internal/async/interval-retrier.js +10 -16
  117. package/dist/internal/interceptors/interceptor.js +3 -1
  118. package/dist/internal/interceptors/request.js +1 -3
  119. package/dist/internal/logger/console-logger.js +3 -5
  120. package/dist/internal/logger/index.js +3 -5
  121. package/dist/internal/logger/level-resolver.js +0 -3
  122. package/dist/internal/validations/string-validation.js +8 -10
  123. package/dist/node_modules/.pnpm/@scaleway_random-name@4.0.1/node_modules/@scaleway/random-name/dist/index.js +13 -0
  124. package/dist/scw/api.js +3 -4
  125. package/dist/scw/auth.js +3 -5
  126. package/dist/scw/client-ini-factory.js +32 -15
  127. package/dist/scw/client-ini-profile.js +10 -4
  128. package/dist/scw/client-settings.js +32 -15
  129. package/dist/scw/client.js +5 -6
  130. package/dist/scw/constants.js +1 -1
  131. package/dist/scw/custom-marshalling.js +8 -14
  132. package/dist/scw/errors/error-parser.js +2 -21
  133. package/dist/scw/errors/non-standard/invalid-request-mapper.js +17 -15
  134. package/dist/scw/errors/non-standard/unknown-resource-mapper.js +7 -6
  135. package/dist/scw/errors/scw-error.js +20 -20
  136. package/dist/scw/errors/standard/already-exists-error.js +3 -4
  137. package/dist/scw/errors/standard/denied-authentication-error.js +4 -11
  138. package/dist/scw/errors/standard/invalid-arguments-error.js +1 -10
  139. package/dist/scw/errors/standard/out-of-stock-error.js +0 -3
  140. package/dist/scw/errors/standard/permissions-denied-error.js +1 -4
  141. package/dist/scw/errors/standard/precondition-failed-error.js +4 -8
  142. package/dist/scw/errors/standard/quotas-exceeded-error.js +14 -14
  143. package/dist/scw/errors/standard/resource-expired-error.js +3 -4
  144. package/dist/scw/errors/standard/resource-locked-error.js +3 -4
  145. package/dist/scw/errors/standard/resource-not-found-error.js +3 -4
  146. package/dist/scw/errors/standard/too-many-requests-error.js +3 -16
  147. package/dist/scw/errors/standard/transient-state-error.js +3 -4
  148. package/dist/scw/errors/types.js +0 -3
  149. package/dist/scw/fetch/build-fetcher.js +1 -9
  150. package/dist/scw/fetch/http-dumper.js +4 -7
  151. package/dist/scw/fetch/http-interceptors.js +9 -12
  152. package/dist/scw/fetch/resource-paginator.js +18 -16
  153. package/dist/scw/fetch/response-parser.js +17 -23
  154. package/node_modules/@scaleway/random-name/CHANGELOG.md +42 -63
  155. package/node_modules/@scaleway/random-name/dist/index.js +5 -246
  156. package/node_modules/@scaleway/random-name/package.json +6 -5
  157. package/package.json +4 -5
  158. package/dist/api/account/v2/index.js +0 -1
  159. package/dist/api/applesilicon/v1alpha1/index.js +0 -2
  160. package/dist/api/domain/v2beta1/index.js +0 -2
  161. package/dist/api/flexibleip/v1alpha1/index.js +0 -2
  162. package/dist/api/function/v1beta1/index.js +0 -2
  163. package/dist/api/iam/v1alpha1/index.js +0 -1
  164. package/dist/api/iot/v1/index.js +0 -2
  165. package/dist/api/k8s/v1/index.js +0 -2
  166. package/dist/api/marketplace/v1/index.js +0 -1
  167. package/dist/api/mnq/v1alpha1/index.js +0 -1
  168. package/dist/api/rdb/v1/index.js +0 -2
  169. package/dist/api/redis/v1alpha1/index.js +0 -2
  170. package/dist/api/test/v1/index.js +0 -1
  171. package/dist/api/vpc/v1/index.js +0 -1
  172. package/dist/node_modules/.pnpm/@scaleway_random-name@3.0.2/node_modules/@scaleway/random-name/dist/index.js +0 -254
  173. package/node_modules/@scaleway/random-name/dist/index.browser.js +0 -256
@@ -1,249 +1,221 @@
1
- import { API } from '../../../scw/api.js';
2
- import { unmarshalScwFile } from '../../../scw/custom-marshalling.js';
3
- import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
1
+ import { waitForResource } from '../../../internal/async/interval-retrier.js';
2
+ import { API as API$1 } from '../../../scw/api.js';
4
3
  import { urlParams, validatePathParam } from '../../../helpers/marshalling.js';
5
- import { unmarshalListDNSZonesResponse, marshalCreateDNSZoneRequest, unmarshalDNSZone, marshalUpdateDNSZoneRequest, marshalCloneDNSZoneRequest, unmarshalDeleteDNSZoneResponse, unmarshalListDNSZoneRecordsResponse, marshalUpdateDNSZoneRecordsRequest, unmarshalUpdateDNSZoneRecordsResponse, unmarshalListDNSZoneNameserversResponse, marshalUpdateDNSZoneNameserversRequest, unmarshalUpdateDNSZoneNameserversResponse, unmarshalClearDNSZoneRecordsResponse, marshalImportRawDNSZoneRequest, unmarshalImportRawDNSZoneResponse, marshalImportProviderDNSZoneRequest, unmarshalImportProviderDNSZoneResponse, marshalRefreshDNSZoneRequest, unmarshalRefreshDNSZoneResponse, unmarshalListDNSZoneVersionsResponse, unmarshalListDNSZoneVersionRecordsResponse, unmarshalGetDNSZoneVersionDiffResponse, unmarshalRestoreDNSZoneVersionResponse, unmarshalSSLCertificate, marshalCreateSSLCertificateRequest, unmarshalListSSLCertificatesResponse, unmarshalDeleteSSLCertificateResponse, unmarshalGetDNSZoneTsigKeyResponse, unmarshalListTasksResponse, marshalRegistrarApiBuyDomainsRequest, unmarshalOrderResponse, marshalRegistrarApiRenewDomainsRequest, marshalRegistrarApiTransferInDomainRequest, marshalRegistrarApiTradeDomainRequest, marshalRegistrarApiRegisterExternalDomainRequest, unmarshalRegisterExternalDomainResponse, unmarshalDeleteExternalDomainResponse, marshalRegistrarApiCheckContactsCompatibilityRequest, unmarshalCheckContactsCompatibilityResponse, unmarshalListContactsResponse, unmarshalContact, marshalRegistrarApiUpdateContactRequest, unmarshalListDomainsResponse, unmarshalListRenewableDomainsResponse, unmarshalDomain, marshalRegistrarApiUpdateDomainRequest, unmarshalGetDomainAuthCodeResponse, marshalRegistrarApiEnableDomainDNSSECRequest, unmarshalSearchAvailableDomainsResponse } from './marshalling.gen.js';
4
+ import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
5
+ import { SSL_CERTIFICATE_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES } from './content.gen.js';
6
+ import { unmarshalListDNSZonesResponse, marshalCreateDNSZoneRequest, unmarshalDNSZone, marshalUpdateDNSZoneRequest, marshalCloneDNSZoneRequest, unmarshalDeleteDNSZoneResponse, unmarshalListDNSZoneRecordsResponse, marshalUpdateDNSZoneRecordsRequest, unmarshalUpdateDNSZoneRecordsResponse, unmarshalListDNSZoneNameserversResponse, marshalUpdateDNSZoneNameserversRequest, unmarshalUpdateDNSZoneNameserversResponse, unmarshalClearDNSZoneRecordsResponse, marshalImportRawDNSZoneRequest, unmarshalImportRawDNSZoneResponse, marshalImportProviderDNSZoneRequest, unmarshalImportProviderDNSZoneResponse, marshalRefreshDNSZoneRequest, unmarshalRefreshDNSZoneResponse, unmarshalListDNSZoneVersionsResponse, unmarshalListDNSZoneVersionRecordsResponse, unmarshalGetDNSZoneVersionDiffResponse, unmarshalRestoreDNSZoneVersionResponse, unmarshalSSLCertificate, marshalCreateSSLCertificateRequest, unmarshalListSSLCertificatesResponse, unmarshalDeleteSSLCertificateResponse, unmarshalGetDNSZoneTsigKeyResponse, unmarshalListTasksResponse, marshalRegistrarApiBuyDomainsRequest, unmarshalOrderResponse, marshalRegistrarApiRenewDomainsRequest, marshalRegistrarApiTransferInDomainRequest, marshalRegistrarApiTradeDomainRequest, marshalRegistrarApiRegisterExternalDomainRequest, unmarshalRegisterExternalDomainResponse, unmarshalDeleteExternalDomainResponse, marshalRegistrarApiCheckContactsCompatibilityRequest, unmarshalCheckContactsCompatibilityResponse, unmarshalListContactsResponse, unmarshalContact, marshalRegistrarApiUpdateContactRequest, unmarshalListDomainsResponse, unmarshalListRenewableDomainsResponse, unmarshalDomain, marshalRegistrarApiUpdateDomainRequest, unmarshalGetDomainAuthCodeResponse, marshalRegistrarApiEnableDomainDNSSECRequest, unmarshalSearchAvailableDomainsResponse, marshalRegistrarApiCreateDomainHostRequest, unmarshalHost, unmarshalListDomainHostsResponse, marshalRegistrarApiUpdateDomainHostRequest } from './marshalling.gen.js';
6
7
 
7
8
  // This file was automatically generated. DO NOT EDIT.
8
9
  const jsonContentHeaders = {
9
10
  'Content-Type': 'application/json; charset=utf-8'
10
11
  };
12
+
11
13
  /**
12
14
  * DNS API.
13
15
  *
14
16
  * Manage your DNS zones and records.
15
17
  */
16
-
17
- class DomainV2Beta1GenAPI extends API {
18
+ class API extends API$1 {
18
19
  constructor() {
19
20
  super(...arguments);
20
-
21
21
  this.pageOfListDNSZones = request => this.client.fetch({
22
22
  method: 'GET',
23
23
  path: `/domain/v2beta1/dns-zones`,
24
24
  urlParams: urlParams(['dns_zone', request.dnsZone], ['domain', request.domain], ['order_by', request.orderBy ?? 'domain_asc'], ['organization_id', request.organizationId ?? this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId ?? this.client.settings.defaultProjectId])
25
25
  }, unmarshalListDNSZonesResponse);
26
-
27
26
  this.listDNSZones = request => enrichForPagination('dnsZones', this.pageOfListDNSZones, request);
28
-
29
27
  this.createDNSZone = request => this.client.fetch({
30
28
  body: JSON.stringify(marshalCreateDNSZoneRequest(request, this.client.settings)),
31
29
  headers: jsonContentHeaders,
32
30
  method: 'POST',
33
31
  path: `/domain/v2beta1/dns-zones`
34
32
  }, unmarshalDNSZone);
35
-
36
33
  this.updateDNSZone = request => this.client.fetch({
37
34
  body: JSON.stringify(marshalUpdateDNSZoneRequest(request, this.client.settings)),
38
35
  headers: jsonContentHeaders,
39
36
  method: 'PATCH',
40
37
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}`
41
38
  }, unmarshalDNSZone);
42
-
43
39
  this.cloneDNSZone = request => this.client.fetch({
44
40
  body: JSON.stringify(marshalCloneDNSZoneRequest(request, this.client.settings)),
45
41
  headers: jsonContentHeaders,
46
42
  method: 'POST',
47
43
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/clone`
48
44
  }, unmarshalDNSZone);
49
-
50
45
  this.deleteDNSZone = request => this.client.fetch({
51
46
  method: 'DELETE',
52
47
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}`,
53
48
  urlParams: urlParams(['project_id', request.projectId ?? this.client.settings.defaultProjectId])
54
49
  }, unmarshalDeleteDNSZoneResponse);
55
-
56
50
  this.pageOfListDNSZoneRecords = request => this.client.fetch({
57
51
  method: 'GET',
58
52
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/records`,
59
53
  urlParams: urlParams(['id', request.id], ['name', request.name], ['order_by', request.orderBy ?? 'name_asc'], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId ?? this.client.settings.defaultProjectId], ['type', request.type ?? 'unknown'])
60
54
  }, unmarshalListDNSZoneRecordsResponse);
61
-
62
55
  this.listDNSZoneRecords = request => enrichForPagination('records', this.pageOfListDNSZoneRecords, request);
63
-
64
56
  this.updateDNSZoneRecords = request => this.client.fetch({
65
57
  body: JSON.stringify(marshalUpdateDNSZoneRecordsRequest(request, this.client.settings)),
66
58
  headers: jsonContentHeaders,
67
59
  method: 'PATCH',
68
60
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/records`
69
61
  }, unmarshalUpdateDNSZoneRecordsResponse);
70
-
71
62
  this.listDNSZoneNameservers = request => this.client.fetch({
72
63
  method: 'GET',
73
64
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/nameservers`,
74
65
  urlParams: urlParams(['project_id', request.projectId ?? this.client.settings.defaultProjectId])
75
66
  }, unmarshalListDNSZoneNameserversResponse);
76
-
77
67
  this.updateDNSZoneNameservers = request => this.client.fetch({
78
68
  body: JSON.stringify(marshalUpdateDNSZoneNameserversRequest(request, this.client.settings)),
79
69
  headers: jsonContentHeaders,
80
70
  method: 'PUT',
81
71
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/nameservers`
82
72
  }, unmarshalUpdateDNSZoneNameserversResponse);
83
-
84
73
  this.clearDNSZoneRecords = request => this.client.fetch({
85
74
  method: 'DELETE',
86
75
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/records`
87
76
  }, unmarshalClearDNSZoneRecordsResponse);
88
-
89
77
  this.exportRawDNSZone = request => this.client.fetch({
90
78
  method: 'GET',
91
79
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/raw`,
92
- urlParams: urlParams(['format', request.format])
93
- }, unmarshalScwFile);
94
-
80
+ urlParams: urlParams(['dl', 1], ['format', request.format ?? 'unknown_raw_format']),
81
+ responseType: 'blob'
82
+ });
95
83
  this.importRawDNSZone = request => this.client.fetch({
96
84
  body: JSON.stringify(marshalImportRawDNSZoneRequest(request, this.client.settings)),
97
85
  headers: jsonContentHeaders,
98
86
  method: 'POST',
99
87
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/raw`
100
88
  }, unmarshalImportRawDNSZoneResponse);
101
-
102
89
  this.importProviderDNSZone = request => this.client.fetch({
103
90
  body: JSON.stringify(marshalImportProviderDNSZoneRequest(request, this.client.settings)),
104
91
  headers: jsonContentHeaders,
105
92
  method: 'POST',
106
93
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/import-provider`
107
94
  }, unmarshalImportProviderDNSZoneResponse);
108
-
109
95
  this.refreshDNSZone = request => this.client.fetch({
110
96
  body: JSON.stringify(marshalRefreshDNSZoneRequest(request, this.client.settings)),
111
97
  headers: jsonContentHeaders,
112
98
  method: 'POST',
113
99
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/refresh`
114
100
  }, unmarshalRefreshDNSZoneResponse);
115
-
116
101
  this.pageOfListDNSZoneVersions = request => this.client.fetch({
117
102
  method: 'GET',
118
103
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/versions`,
119
104
  urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
120
105
  }, unmarshalListDNSZoneVersionsResponse);
121
-
122
106
  this.listDNSZoneVersions = request => enrichForPagination('versions', this.pageOfListDNSZoneVersions, request);
123
-
124
107
  this.pageOfListDNSZoneVersionRecords = request => this.client.fetch({
125
108
  method: 'GET',
126
109
  path: `/domain/v2beta1/dns-zones/version/${validatePathParam('dnsZoneVersionId', request.dnsZoneVersionId)}`,
127
110
  urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
128
111
  }, unmarshalListDNSZoneVersionRecordsResponse);
129
-
130
112
  this.listDNSZoneVersionRecords = request => enrichForPagination('records', this.pageOfListDNSZoneVersionRecords, request);
131
-
132
113
  this.getDNSZoneVersionDiff = request => this.client.fetch({
133
114
  method: 'GET',
134
115
  path: `/domain/v2beta1/dns-zones/version/${validatePathParam('dnsZoneVersionId', request.dnsZoneVersionId)}/diff`
135
116
  }, unmarshalGetDNSZoneVersionDiffResponse);
136
-
137
117
  this.restoreDNSZoneVersion = request => this.client.fetch({
138
118
  body: '{}',
139
119
  headers: jsonContentHeaders,
140
120
  method: 'POST',
141
121
  path: `/domain/v2beta1/dns-zones/version/${validatePathParam('dnsZoneVersionId', request.dnsZoneVersionId)}/restore`
142
122
  }, unmarshalRestoreDNSZoneVersionResponse);
143
-
144
123
  this.getSSLCertificate = request => this.client.fetch({
145
124
  method: 'GET',
146
125
  path: `/domain/v2beta1/ssl-certificates/${validatePathParam('dnsZone', request.dnsZone)}`
147
126
  }, unmarshalSSLCertificate);
148
-
127
+ this.waitForSSLCertificate = (request, options) => waitForResource((options == null ? void 0 : options.stop) ?? (res => Promise.resolve(!SSL_CERTIFICATE_TRANSIENT_STATUSES.includes(res.status))), this.getSSLCertificate, request, options);
149
128
  this.createSSLCertificate = request => this.client.fetch({
150
129
  body: JSON.stringify(marshalCreateSSLCertificateRequest(request, this.client.settings)),
151
130
  headers: jsonContentHeaders,
152
131
  method: 'POST',
153
132
  path: `/domain/v2beta1/ssl-certificates`
154
133
  }, unmarshalSSLCertificate);
155
-
156
134
  this.pageOfListSSLCertificates = request => this.client.fetch({
157
135
  method: 'GET',
158
136
  path: `/domain/v2beta1/ssl-certificates`,
159
137
  urlParams: urlParams(['dns_zone', request.dnsZone], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId ?? this.client.settings.defaultProjectId])
160
138
  }, unmarshalListSSLCertificatesResponse);
161
-
162
139
  this.listSSLCertificates = request => enrichForPagination('certificates', this.pageOfListSSLCertificates, request);
163
-
164
140
  this.deleteSSLCertificate = request => this.client.fetch({
165
141
  method: 'DELETE',
166
142
  path: `/domain/v2beta1/ssl-certificates/${validatePathParam('dnsZone', request.dnsZone)}`
167
143
  }, unmarshalDeleteSSLCertificateResponse);
168
-
169
144
  this.getDNSZoneTsigKey = request => this.client.fetch({
170
145
  method: 'GET',
171
146
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/tsig-key`
172
147
  }, unmarshalGetDNSZoneTsigKeyResponse);
173
-
174
148
  this.deleteDNSZoneTsigKey = request => this.client.fetch({
175
149
  method: 'DELETE',
176
150
  path: `/domain/v2beta1/dns-zones/${validatePathParam('dnsZone', request.dnsZone)}/tsig-key`
177
151
  });
178
152
  }
179
-
180
153
  }
154
+
181
155
  /**
182
156
  * Domains registrar API.
183
157
  *
184
158
  * Manage your domains and contacts.
185
159
  */
186
-
187
- class DomainRegistrarV2Beta1GenAPI extends API {
160
+ class RegistrarAPI extends API$1 {
188
161
  constructor() {
189
162
  var _this;
190
-
191
163
  super(...arguments);
192
164
  _this = this;
193
-
194
- this.pageOfListTasks = request => this.client.fetch({
195
- method: 'GET',
196
- path: `/domain/v2beta1/tasks`,
197
- urlParams: urlParams(['domain', request.domain], ['organization_id', request.organizationId ?? this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize], ['project_id', request.projectId ?? this.client.settings.defaultProjectId])
198
- }, unmarshalListTasksResponse);
199
-
200
- this.listTasks = request => enrichForPagination('tasks', this.pageOfListTasks, request);
201
-
165
+ this.pageOfListTasks = function (request) {
166
+ if (request === void 0) {
167
+ request = {};
168
+ }
169
+ return _this.client.fetch({
170
+ method: 'GET',
171
+ path: `/domain/v2beta1/tasks`,
172
+ urlParams: urlParams(['domain', request.domain], ['order_by', request.orderBy ?? 'domain_desc'], ['organization_id', request.organizationId ?? _this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId ?? _this.client.settings.defaultProjectId], ['statuses', request.statuses], ['types', request.types])
173
+ }, unmarshalListTasksResponse);
174
+ };
175
+ this.listTasks = function (request) {
176
+ if (request === void 0) {
177
+ request = {};
178
+ }
179
+ return enrichForPagination('tasks', _this.pageOfListTasks, request);
180
+ };
202
181
  this.buyDomains = request => this.client.fetch({
203
182
  body: JSON.stringify(marshalRegistrarApiBuyDomainsRequest(request, this.client.settings)),
204
183
  headers: jsonContentHeaders,
205
184
  method: 'POST',
206
185
  path: `/domain/v2beta1/buy-domains`
207
186
  }, unmarshalOrderResponse);
208
-
209
187
  this.renewDomains = request => this.client.fetch({
210
188
  body: JSON.stringify(marshalRegistrarApiRenewDomainsRequest(request, this.client.settings)),
211
189
  headers: jsonContentHeaders,
212
190
  method: 'POST',
213
191
  path: `/domain/v2beta1/renew-domains`
214
192
  }, unmarshalOrderResponse);
215
-
216
193
  this.transferInDomain = request => this.client.fetch({
217
194
  body: JSON.stringify(marshalRegistrarApiTransferInDomainRequest(request, this.client.settings)),
218
195
  headers: jsonContentHeaders,
219
196
  method: 'POST',
220
197
  path: `/domain/v2beta1/domains/transfer-domains`
221
198
  }, unmarshalOrderResponse);
222
-
223
199
  this.tradeDomain = request => this.client.fetch({
224
200
  body: JSON.stringify(marshalRegistrarApiTradeDomainRequest(request, this.client.settings)),
225
201
  headers: jsonContentHeaders,
226
202
  method: 'POST',
227
203
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/trade`
228
204
  }, unmarshalOrderResponse);
229
-
230
205
  this.registerExternalDomain = request => this.client.fetch({
231
206
  body: JSON.stringify(marshalRegistrarApiRegisterExternalDomainRequest(request, this.client.settings)),
232
207
  headers: jsonContentHeaders,
233
208
  method: 'POST',
234
209
  path: `/domain/v2beta1/external-domains`
235
210
  }, unmarshalRegisterExternalDomainResponse);
236
-
237
211
  this.deleteExternalDomain = request => this.client.fetch({
238
212
  method: 'DELETE',
239
213
  path: `/domain/v2beta1/external-domains/${validatePathParam('domain', request.domain)}`
240
214
  }, unmarshalDeleteExternalDomainResponse);
241
-
242
215
  this.checkContactsCompatibility = function (request) {
243
216
  if (request === void 0) {
244
217
  request = {};
245
218
  }
246
-
247
219
  return _this.client.fetch({
248
220
  body: JSON.stringify(marshalRegistrarApiCheckContactsCompatibilityRequest(request, _this.client.settings)),
249
221
  headers: jsonContentHeaders,
@@ -251,145 +223,143 @@ class DomainRegistrarV2Beta1GenAPI extends API {
251
223
  path: `/domain/v2beta1/check-contacts-compatibility`
252
224
  }, unmarshalCheckContactsCompatibilityResponse);
253
225
  };
254
-
255
226
  this.pageOfListContacts = function (request) {
256
227
  if (request === void 0) {
257
228
  request = {};
258
229
  }
259
-
260
230
  return _this.client.fetch({
261
231
  method: 'GET',
262
232
  path: `/domain/v2beta1/contacts`,
263
233
  urlParams: urlParams(['domain', request.domain], ['organization_id', request.organizationId ?? _this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId ?? _this.client.settings.defaultProjectId])
264
234
  }, unmarshalListContactsResponse);
265
235
  };
266
-
267
236
  this.listContacts = function (request) {
268
237
  if (request === void 0) {
269
238
  request = {};
270
239
  }
271
-
272
240
  return enrichForPagination('contacts', _this.pageOfListContacts, request);
273
241
  };
274
-
275
242
  this.getContact = request => this.client.fetch({
276
243
  method: 'GET',
277
244
  path: `/domain/v2beta1/contacts/${validatePathParam('contactId', request.contactId)}`
278
245
  }, unmarshalContact);
279
-
280
246
  this.updateContact = request => this.client.fetch({
281
247
  body: JSON.stringify(marshalRegistrarApiUpdateContactRequest(request, this.client.settings)),
282
248
  headers: jsonContentHeaders,
283
249
  method: 'PATCH',
284
250
  path: `/domain/v2beta1/contacts/${validatePathParam('contactId', request.contactId)}`
285
251
  }, unmarshalContact);
286
-
287
252
  this.pageOfListDomains = function (request) {
288
253
  if (request === void 0) {
289
254
  request = {};
290
255
  }
291
-
292
256
  return _this.client.fetch({
293
257
  method: 'GET',
294
258
  path: `/domain/v2beta1/domains`,
295
- urlParams: urlParams(['is_external', request.isExternal], ['order_by', request.orderBy ?? 'domain_asc'], ['organization_id', request.organizationId ?? _this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId ?? _this.client.settings.defaultProjectId], ['registrar', request.registrar], ['status', request.status ?? 'status_unknown'])
259
+ urlParams: urlParams(['domain', request.domain], ['is_external', request.isExternal], ['order_by', request.orderBy ?? 'domain_asc'], ['organization_id', request.organizationId ?? _this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId ?? _this.client.settings.defaultProjectId], ['registrar', request.registrar], ['status', request.status ?? 'status_unknown'])
296
260
  }, unmarshalListDomainsResponse);
297
261
  };
298
-
299
262
  this.listDomains = function (request) {
300
263
  if (request === void 0) {
301
264
  request = {};
302
265
  }
303
-
304
266
  return enrichForPagination('domains', _this.pageOfListDomains, request);
305
267
  };
306
-
307
268
  this.pageOfListRenewableDomains = function (request) {
308
269
  if (request === void 0) {
309
270
  request = {};
310
271
  }
311
-
312
272
  return _this.client.fetch({
313
273
  method: 'GET',
314
274
  path: `/domain/v2beta1/renewable-domains`,
315
275
  urlParams: urlParams(['order_by', request.orderBy ?? 'domain_asc'], ['organization_id', request.organizationId ?? _this.client.settings.defaultOrganizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId ?? _this.client.settings.defaultProjectId])
316
276
  }, unmarshalListRenewableDomainsResponse);
317
277
  };
318
-
319
278
  this.listRenewableDomains = function (request) {
320
279
  if (request === void 0) {
321
280
  request = {};
322
281
  }
323
-
324
282
  return enrichForPagination('domains', _this.pageOfListRenewableDomains, request);
325
283
  };
326
-
327
284
  this.getDomain = request => this.client.fetch({
328
285
  method: 'GET',
329
286
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}`
330
287
  }, unmarshalDomain);
331
-
288
+ this.waitForDomain = (request, options) => waitForResource((options == null ? void 0 : options.stop) ?? (res => Promise.resolve(!DOMAIN_TRANSIENT_STATUSES.includes(res.status))), this.getDomain, request, options);
332
289
  this.updateDomain = request => this.client.fetch({
333
290
  body: JSON.stringify(marshalRegistrarApiUpdateDomainRequest(request, this.client.settings)),
334
291
  headers: jsonContentHeaders,
335
292
  method: 'PATCH',
336
293
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}`
337
294
  }, unmarshalDomain);
338
-
339
295
  this.lockDomainTransfer = request => this.client.fetch({
340
296
  body: '{}',
341
297
  headers: jsonContentHeaders,
342
298
  method: 'POST',
343
299
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/lock-transfer`
344
300
  }, unmarshalDomain);
345
-
346
301
  this.unlockDomainTransfer = request => this.client.fetch({
347
302
  body: '{}',
348
303
  headers: jsonContentHeaders,
349
304
  method: 'POST',
350
305
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/unlock-transfer`
351
306
  }, unmarshalDomain);
352
-
353
307
  this.enableDomainAutoRenew = request => this.client.fetch({
354
308
  body: '{}',
355
309
  headers: jsonContentHeaders,
356
310
  method: 'POST',
357
311
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/enable-auto-renew`
358
312
  }, unmarshalDomain);
359
-
360
313
  this.disableDomainAutoRenew = request => this.client.fetch({
361
314
  body: '{}',
362
315
  headers: jsonContentHeaders,
363
316
  method: 'POST',
364
317
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/disable-auto-renew`
365
318
  }, unmarshalDomain);
366
-
367
319
  this.getDomainAuthCode = request => this.client.fetch({
368
320
  method: 'GET',
369
321
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/auth-code`
370
322
  }, unmarshalGetDomainAuthCodeResponse);
371
-
372
323
  this.enableDomainDNSSEC = request => this.client.fetch({
373
324
  body: JSON.stringify(marshalRegistrarApiEnableDomainDNSSECRequest(request, this.client.settings)),
374
325
  headers: jsonContentHeaders,
375
326
  method: 'POST',
376
327
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/enable-dnssec`
377
328
  }, unmarshalDomain);
378
-
379
329
  this.disableDomainDNSSEC = request => this.client.fetch({
380
330
  body: '{}',
381
331
  headers: jsonContentHeaders,
382
332
  method: 'POST',
383
333
  path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/disable-dnssec`
384
334
  }, unmarshalDomain);
385
-
386
335
  this.searchAvailableDomains = request => this.client.fetch({
387
336
  method: 'GET',
388
337
  path: `/domain/v2beta1/search-domains`,
389
- urlParams: urlParams(['domains', request.domains], ['tlds', request.tlds])
338
+ urlParams: urlParams(['domains', request.domains], ['strict_search', request.strictSearch], ['tlds', request.tlds])
390
339
  }, unmarshalSearchAvailableDomainsResponse);
340
+ this.createDomainHost = request => this.client.fetch({
341
+ body: JSON.stringify(marshalRegistrarApiCreateDomainHostRequest(request, this.client.settings)),
342
+ headers: jsonContentHeaders,
343
+ method: 'POST',
344
+ path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/hosts`
345
+ }, unmarshalHost);
346
+ this.pageOfListDomainHosts = request => this.client.fetch({
347
+ method: 'GET',
348
+ path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/hosts`,
349
+ urlParams: urlParams(['page', request.page], ['page_size', request.pageSize ?? this.client.settings.defaultPageSize])
350
+ }, unmarshalListDomainHostsResponse);
351
+ this.listDomainHosts = request => enrichForPagination('hosts', this.pageOfListDomainHosts, request);
352
+ this.updateDomainHost = request => this.client.fetch({
353
+ body: JSON.stringify(marshalRegistrarApiUpdateDomainHostRequest(request, this.client.settings)),
354
+ headers: jsonContentHeaders,
355
+ method: 'PATCH',
356
+ path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/hosts/${validatePathParam('name', request.name)}`
357
+ }, unmarshalHost);
358
+ this.deleteDomainHost = request => this.client.fetch({
359
+ method: 'DELETE',
360
+ path: `/domain/v2beta1/domains/${validatePathParam('domain', request.domain)}/hosts/${validatePathParam('name', request.name)}`
361
+ }, unmarshalHost);
391
362
  }
392
-
393
363
  }
394
364
 
395
- export { DomainRegistrarV2Beta1GenAPI, DomainV2Beta1GenAPI };
365
+ export { API, RegistrarAPI };
@@ -4,4 +4,25 @@
4
4
  /** Lists transient statutes of the enum {@link DNSZoneStatus}. */
5
5
  const DNS_ZONE_TRANSIENT_STATUSES = ['pending'];
6
6
 
7
- export { DNS_ZONE_TRANSIENT_STATUSES };
7
+ /** Lists transient statutes of the enum {@link DomainFeatureStatus}. */
8
+ const DOMAIN_FEATURE_TRANSIENT_STATUSES = ['enabling', 'disabling'];
9
+
10
+ /**
11
+ * Lists transient statutes of the enum
12
+ * {@link DomainRegistrationStatusTransferStatus}.
13
+ */
14
+ const DOMAIN_REGISTRATION_STATUS_TRANSFER_TRANSIENT_STATUSES = ['pending', 'processing'];
15
+
16
+ /** Lists transient statutes of the enum {@link DomainStatus}. */
17
+ const DOMAIN_TRANSIENT_STATUSES = ['creating', 'renewing', 'xfering', 'expiring', 'updating', 'checking', 'deleting'];
18
+
19
+ /** Lists transient statutes of the enum {@link HostStatus}. */
20
+ const HOST_TRANSIENT_STATUSES = ['updating', 'deleting'];
21
+
22
+ /** Lists transient statutes of the enum {@link SSLCertificateStatus}. */
23
+ const SSL_CERTIFICATE_TRANSIENT_STATUSES = ['pending'];
24
+
25
+ /** Lists transient statutes of the enum {@link TaskStatus}. */
26
+ const TASK_TRANSIENT_STATUSES = ['pending'];
27
+
28
+ export { DNS_ZONE_TRANSIENT_STATUSES, DOMAIN_FEATURE_TRANSIENT_STATUSES, DOMAIN_REGISTRATION_STATUS_TRANSFER_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES, HOST_TRANSIENT_STATUSES, SSL_CERTIFICATE_TRANSIENT_STATUSES, TASK_TRANSIENT_STATUSES };
@@ -0,0 +1,4 @@
1
+ export { API, RegistrarAPI } from './api.gen.js';
2
+ export { DNS_ZONE_TRANSIENT_STATUSES, DOMAIN_FEATURE_TRANSIENT_STATUSES, DOMAIN_REGISTRATION_STATUS_TRANSFER_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES, HOST_TRANSIENT_STATUSES, SSL_CERTIFICATE_TRANSIENT_STATUSES, TASK_TRANSIENT_STATUSES } from './content.gen.js';
3
+
4
+ // This file was automatically generated. DO NOT EDIT.