@distilled.cloud/ovh 0.0.0 → 1.0.0-rc.10

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 (192) hide show
  1. package/LICENSE +201 -0
  2. package/lib/credentials.d.ts +38 -0
  3. package/lib/credentials.d.ts.map +1 -0
  4. package/lib/credentials.js +54 -0
  5. package/lib/credentials.js.map +1 -0
  6. package/lib/errors.d.ts +36 -0
  7. package/lib/errors.d.ts.map +1 -0
  8. package/lib/errors.js +26 -0
  9. package/lib/errors.js.map +1 -0
  10. package/lib/index.d.ts +22 -0
  11. package/lib/index.d.ts.map +1 -0
  12. package/lib/index.js +22 -0
  13. package/lib/index.js.map +1 -0
  14. package/lib/pagination.d.ts +8 -0
  15. package/lib/pagination.d.ts.map +1 -0
  16. package/lib/pagination.js +8 -0
  17. package/lib/pagination.js.map +1 -0
  18. package/lib/protocol.d.ts +18 -0
  19. package/lib/protocol.d.ts.map +1 -0
  20. package/lib/protocol.js +60 -0
  21. package/lib/protocol.js.map +1 -0
  22. package/lib/retry.d.ts +32 -0
  23. package/lib/retry.d.ts.map +1 -0
  24. package/lib/retry.js +32 -0
  25. package/lib/retry.js.map +1 -0
  26. package/lib/services/baremetal.d.ts +3551 -0
  27. package/lib/services/baremetal.d.ts.map +1 -0
  28. package/lib/services/baremetal.js +4187 -0
  29. package/lib/services/baremetal.js.map +1 -0
  30. package/lib/services/cloud.d.ts +26011 -0
  31. package/lib/services/cloud.d.ts.map +1 -0
  32. package/lib/services/cloud.js +31061 -0
  33. package/lib/services/cloud.js.map +1 -0
  34. package/lib/services/cloud_v2.d.ts +5642 -0
  35. package/lib/services/cloud_v2.d.ts.map +1 -0
  36. package/lib/services/cloud_v2.js +5733 -0
  37. package/lib/services/cloud_v2.js.map +1 -0
  38. package/lib/services/dedicatedceph.d.ts +747 -0
  39. package/lib/services/dedicatedceph.d.ts.map +1 -0
  40. package/lib/services/dedicatedceph.js +960 -0
  41. package/lib/services/dedicatedceph.js.map +1 -0
  42. package/lib/services/dedicatednasha.d.ts +755 -0
  43. package/lib/services/dedicatednasha.d.ts.map +1 -0
  44. package/lib/services/dedicatednasha.js +965 -0
  45. package/lib/services/dedicatednasha.js.map +1 -0
  46. package/lib/services/domain.d.ts +2995 -0
  47. package/lib/services/domain.d.ts.map +1 -0
  48. package/lib/services/domain.js +3078 -0
  49. package/lib/services/domain.js.map +1 -0
  50. package/lib/services/emaildomain.d.ts +1913 -0
  51. package/lib/services/emaildomain.d.ts.map +1 -0
  52. package/lib/services/emaildomain.js +2550 -0
  53. package/lib/services/emaildomain.js.map +1 -0
  54. package/lib/services/emailmxplan.d.ts +1012 -0
  55. package/lib/services/emailmxplan.d.ts.map +1 -0
  56. package/lib/services/emailmxplan.js +1155 -0
  57. package/lib/services/emailmxplan.js.map +1 -0
  58. package/lib/services/emailpro.d.ts +1287 -0
  59. package/lib/services/emailpro.d.ts.map +1 -0
  60. package/lib/services/emailpro.js +1471 -0
  61. package/lib/services/emailpro.js.map +1 -0
  62. package/lib/services/hostingprivatedatabase.d.ts +1402 -0
  63. package/lib/services/hostingprivatedatabase.d.ts.map +1 -0
  64. package/lib/services/hostingprivatedatabase.js +1829 -0
  65. package/lib/services/hostingprivatedatabase.js.map +1 -0
  66. package/lib/services/iam.d.ts +829 -0
  67. package/lib/services/iam.d.ts.map +1 -0
  68. package/lib/services/iam.js +793 -0
  69. package/lib/services/iam.js.map +1 -0
  70. package/lib/services/index.d.ts +31 -0
  71. package/lib/services/index.d.ts.map +1 -0
  72. package/lib/services/index.js +32 -0
  73. package/lib/services/index.js.map +1 -0
  74. package/lib/services/ip.d.ts +1417 -0
  75. package/lib/services/ip.d.ts.map +1 -0
  76. package/lib/services/ip.js +1690 -0
  77. package/lib/services/ip.js.map +1 -0
  78. package/lib/services/iploadbalancing.d.ts +3059 -0
  79. package/lib/services/iploadbalancing.d.ts.map +1 -0
  80. package/lib/services/iploadbalancing.js +3553 -0
  81. package/lib/services/iploadbalancing.js.map +1 -0
  82. package/lib/services/ldp.d.ts +2492 -0
  83. package/lib/services/ldp.d.ts.map +1 -0
  84. package/lib/services/ldp.js +3067 -0
  85. package/lib/services/ldp.js.map +1 -0
  86. package/lib/services/me.d.ts +7511 -0
  87. package/lib/services/me.d.ts.map +1 -0
  88. package/lib/services/me.js +8874 -0
  89. package/lib/services/me.js.map +1 -0
  90. package/lib/services/overthebox.d.ts +981 -0
  91. package/lib/services/overthebox.d.ts.map +1 -0
  92. package/lib/services/overthebox.js +1122 -0
  93. package/lib/services/overthebox.js.map +1 -0
  94. package/lib/services/ovhcloudconnect.d.ts +1123 -0
  95. package/lib/services/ovhcloudconnect.d.ts.map +1 -0
  96. package/lib/services/ovhcloudconnect.js +1351 -0
  97. package/lib/services/ovhcloudconnect.js.map +1 -0
  98. package/lib/services/packxdsl.d.ts +1583 -0
  99. package/lib/services/packxdsl.d.ts.map +1 -0
  100. package/lib/services/packxdsl.js +1787 -0
  101. package/lib/services/packxdsl.js.map +1 -0
  102. package/lib/services/sms.d.ts +2602 -0
  103. package/lib/services/sms.d.ts.map +1 -0
  104. package/lib/services/sms.js +2995 -0
  105. package/lib/services/sms.js.map +1 -0
  106. package/lib/services/sslgateway.d.ts +493 -0
  107. package/lib/services/sslgateway.d.ts.map +1 -0
  108. package/lib/services/sslgateway.js +569 -0
  109. package/lib/services/sslgateway.js.map +1 -0
  110. package/lib/services/storagenetapp.d.ts +859 -0
  111. package/lib/services/storagenetapp.d.ts.map +1 -0
  112. package/lib/services/storagenetapp.js +1020 -0
  113. package/lib/services/storagenetapp.js.map +1 -0
  114. package/lib/services/support.d.ts +233 -0
  115. package/lib/services/support.d.ts.map +1 -0
  116. package/lib/services/support.js +237 -0
  117. package/lib/services/support.js.map +1 -0
  118. package/lib/services/telephony.d.ts +10825 -0
  119. package/lib/services/telephony.d.ts.map +1 -0
  120. package/lib/services/telephony.js +14877 -0
  121. package/lib/services/telephony.js.map +1 -0
  122. package/lib/services/vmwareclouddirectorbackup.d.ts +784 -0
  123. package/lib/services/vmwareclouddirectorbackup.d.ts.map +1 -0
  124. package/lib/services/vmwareclouddirectorbackup.js +841 -0
  125. package/lib/services/vmwareclouddirectorbackup.js.map +1 -0
  126. package/lib/services/vmwareclouddirectororganization.d.ts +784 -0
  127. package/lib/services/vmwareclouddirectororganization.d.ts.map +1 -0
  128. package/lib/services/vmwareclouddirectororganization.js +841 -0
  129. package/lib/services/vmwareclouddirectororganization.js.map +1 -0
  130. package/lib/services/vps.d.ts +1579 -0
  131. package/lib/services/vps.d.ts.map +1 -0
  132. package/lib/services/vps.js +1914 -0
  133. package/lib/services/vps.js.map +1 -0
  134. package/lib/services/vrack.d.ts +1204 -0
  135. package/lib/services/vrack.d.ts.map +1 -0
  136. package/lib/services/vrack.js +1627 -0
  137. package/lib/services/vrack.js.map +1 -0
  138. package/lib/services/vrackservices.d.ts +394 -0
  139. package/lib/services/vrackservices.d.ts.map +1 -0
  140. package/lib/services/vrackservices.js +355 -0
  141. package/lib/services/vrackservices.js.map +1 -0
  142. package/lib/services/webhosting.d.ts +3986 -0
  143. package/lib/services/webhosting.d.ts.map +1 -0
  144. package/lib/services/webhosting.js +4522 -0
  145. package/lib/services/webhosting.js.map +1 -0
  146. package/lib/services/xdsl.d.ts +3433 -0
  147. package/lib/services/xdsl.d.ts.map +1 -0
  148. package/lib/services/xdsl.js +3681 -0
  149. package/lib/services/xdsl.js.map +1 -0
  150. package/lib/traits.d.ts +11 -0
  151. package/lib/traits.d.ts.map +1 -0
  152. package/lib/traits.js +11 -0
  153. package/lib/traits.js.map +1 -0
  154. package/package.json +77 -6
  155. package/src/credentials.ts +77 -0
  156. package/src/errors.ts +50 -0
  157. package/src/index.ts +21 -0
  158. package/src/pagination.ts +7 -0
  159. package/src/protocol.ts +86 -0
  160. package/src/retry.ts +54 -0
  161. package/src/services/baremetal.ts +10949 -0
  162. package/src/services/cloud.ts +75466 -0
  163. package/src/services/cloud_v2.ts +14725 -0
  164. package/src/services/dedicatedceph.ts +2231 -0
  165. package/src/services/dedicatednasha.ts +2268 -0
  166. package/src/services/domain.ts +7996 -0
  167. package/src/services/emaildomain.ts +5751 -0
  168. package/src/services/emailmxplan.ts +2764 -0
  169. package/src/services/emailpro.ts +3519 -0
  170. package/src/services/hostingprivatedatabase.ts +4214 -0
  171. package/src/services/iam.ts +2060 -0
  172. package/src/services/index.ts +31 -0
  173. package/src/services/ip.ts +4461 -0
  174. package/src/services/iploadbalancing.ts +8421 -0
  175. package/src/services/ldp.ts +7269 -0
  176. package/src/services/me.ts +21716 -0
  177. package/src/services/overthebox.ts +2693 -0
  178. package/src/services/ovhcloudconnect.ts +3224 -0
  179. package/src/services/packxdsl.ts +4619 -0
  180. package/src/services/sms.ts +7255 -0
  181. package/src/services/sslgateway.ts +1408 -0
  182. package/src/services/storagenetapp.ts +2431 -0
  183. package/src/services/support.ts +598 -0
  184. package/src/services/telephony.ts +32926 -0
  185. package/src/services/vmwareclouddirectorbackup.ts +2170 -0
  186. package/src/services/vmwareclouddirectororganization.ts +2170 -0
  187. package/src/services/vps.ts +5134 -0
  188. package/src/services/vrack.ts +3730 -0
  189. package/src/services/vrackservices.ts +939 -0
  190. package/src/services/webhosting.ts +11285 -0
  191. package/src/services/xdsl.ts +9277 -0
  192. package/src/traits.ts +44 -0
@@ -0,0 +1,2060 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-ovh). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as T from "../traits.ts";
5
+ import {
6
+ OvhProtocol,
7
+ type OvhOpError,
8
+ type OvhOpContext,
9
+ } from "../protocol.ts";
10
+ import { UnknownOvhError } from "../errors.ts";
11
+ import * as Retry from "../retry.ts";
12
+
13
+ export type { OvhOpError, OvhOpContext };
14
+
15
+ /** List of actions to check authorizations for */
16
+ export type CheckIamAuthorizationRequestActionsList = Array<string>;
17
+ export const CheckIamAuthorizationRequestActionsList = /*@__PURE__*/ S.Array(
18
+ S.String,
19
+ ) as any as S.Schema<CheckIamAuthorizationRequestActionsList>;
20
+
21
+ /** Resources on which accesses should be checked */
22
+ export type CheckIamAuthorizationRequestResourceURNsList = Array<string>;
23
+ export const CheckIamAuthorizationRequestResourceURNsList =
24
+ /*@__PURE__*/ S.Array(
25
+ S.String,
26
+ ) as any as S.Schema<CheckIamAuthorizationRequestResourceURNsList>;
27
+
28
+ export interface CheckIamAuthorizationRequest {
29
+ /** Pagination cursor */
30
+ xPaginationCursor?: string;
31
+ /** Pagination size */
32
+ xPaginationSize?: number;
33
+ /** List of actions to check authorizations for */
34
+ actions: CheckIamAuthorizationRequestActionsList;
35
+ /** Resources on which accesses should be checked */
36
+ resourceURNs: CheckIamAuthorizationRequestResourceURNsList;
37
+ }
38
+ export const CheckIamAuthorizationRequest = /*@__PURE__*/ S.suspend(() =>
39
+ S.Struct({
40
+ xPaginationCursor: S.optional(
41
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
42
+ ),
43
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
44
+ actions: CheckIamAuthorizationRequestActionsList,
45
+ resourceURNs: CheckIamAuthorizationRequestResourceURNsList,
46
+ }).pipe(
47
+ T.Http({ method: "POST", uri: "/iam/authorization/check", code: 200 }),
48
+ ),
49
+ ).annotate({
50
+ identifier: "CheckIamAuthorizationRequest",
51
+ }) as any as S.Schema<CheckIamAuthorizationRequest>;
52
+
53
+ /** Authorized actions */
54
+ export type IamAuthorizeBatchResponseAuthorizedActionsList = Array<string>;
55
+ export const IamAuthorizeBatchResponseAuthorizedActionsList =
56
+ /*@__PURE__*/ S.Array(
57
+ S.String,
58
+ ) as any as S.Schema<IamAuthorizeBatchResponseAuthorizedActionsList>;
59
+
60
+ /** Unauthorized actions */
61
+ export type IamAuthorizeBatchResponseUnauthorizedActionsList = Array<string>;
62
+ export const IamAuthorizeBatchResponseUnauthorizedActionsList =
63
+ /*@__PURE__*/ S.Array(
64
+ S.String,
65
+ ) as any as S.Schema<IamAuthorizeBatchResponseUnauthorizedActionsList>;
66
+
67
+ /** Result of an authorization request */
68
+ export interface IamAuthorizeBatchResponse {
69
+ /** Authorized actions */
70
+ authorizedActions?: IamAuthorizeBatchResponseAuthorizedActionsList;
71
+ /** URN of the resource */
72
+ resourceURN?: string;
73
+ /** Unauthorized actions */
74
+ unauthorizedActions?: IamAuthorizeBatchResponseUnauthorizedActionsList;
75
+ }
76
+ export const IamAuthorizeBatchResponse = /*@__PURE__*/ S.suspend(() =>
77
+ S.Struct({
78
+ authorizedActions: S.optional(
79
+ IamAuthorizeBatchResponseAuthorizedActionsList,
80
+ ),
81
+ resourceURN: S.optional(S.String),
82
+ unauthorizedActions: S.optional(
83
+ IamAuthorizeBatchResponseUnauthorizedActionsList,
84
+ ),
85
+ }),
86
+ ).annotate({
87
+ identifier: "IamAuthorizeBatchResponse",
88
+ }) as any as S.Schema<IamAuthorizeBatchResponse>;
89
+
90
+ export type CheckIamAuthorizationResponseBodyList =
91
+ Array<IamAuthorizeBatchResponse>;
92
+ export const CheckIamAuthorizationResponseBodyList = /*@__PURE__*/ S.Array(
93
+ IamAuthorizeBatchResponse,
94
+ ) as any as S.Schema<CheckIamAuthorizationResponseBodyList>;
95
+
96
+ export type CheckIamAuthorizationResponse =
97
+ CheckIamAuthorizationResponseBodyList;
98
+ export const CheckIamAuthorizationResponse = /*@__PURE__*/ S.suspend(() =>
99
+ CheckIamAuthorizationResponseBodyList.pipe(T.RawResponseRoot()),
100
+ ).annotate({
101
+ identifier: "CheckIamAuthorizationResponse",
102
+ }) as any as S.Schema<CheckIamAuthorizationResponse>;
103
+
104
+ /** List of actions to check authorizations for */
105
+ export type CheckIamResourceAuthorizationRequestActionsList = Array<string>;
106
+ export const CheckIamResourceAuthorizationRequestActionsList =
107
+ /*@__PURE__*/ S.Array(
108
+ S.String,
109
+ ) as any as S.Schema<CheckIamResourceAuthorizationRequestActionsList>;
110
+
111
+ export interface CheckIamResourceAuthorizationRequest {
112
+ /** ResourceURN */
113
+ resourceURN: string;
114
+ /** List of actions to check authorizations for */
115
+ actions: CheckIamResourceAuthorizationRequestActionsList;
116
+ }
117
+ export const CheckIamResourceAuthorizationRequest = /*@__PURE__*/ S.suspend(
118
+ () =>
119
+ S.Struct({
120
+ resourceURN: S.String.pipe(T.Label()),
121
+ actions: CheckIamResourceAuthorizationRequestActionsList,
122
+ }).pipe(
123
+ T.Http({
124
+ method: "POST",
125
+ uri: "/iam/resource/{resourceURN}/authorization/check",
126
+ code: 200,
127
+ }),
128
+ ),
129
+ ).annotate({
130
+ identifier: "CheckIamResourceAuthorizationRequest",
131
+ }) as any as S.Schema<CheckIamResourceAuthorizationRequest>;
132
+
133
+ /** Authorized actions */
134
+ export type IamAuthorizeResponseAuthorizedActionsList = Array<string>;
135
+ export const IamAuthorizeResponseAuthorizedActionsList = /*@__PURE__*/ S.Array(
136
+ S.String,
137
+ ) as any as S.Schema<IamAuthorizeResponseAuthorizedActionsList>;
138
+
139
+ /** Unauthorized actions */
140
+ export type IamAuthorizeResponseUnauthorizedActionsList = Array<string>;
141
+ export const IamAuthorizeResponseUnauthorizedActionsList =
142
+ /*@__PURE__*/ S.Array(
143
+ S.String,
144
+ ) as any as S.Schema<IamAuthorizeResponseUnauthorizedActionsList>;
145
+
146
+ /** Result of an authorization request */
147
+ export interface IamAuthorizeResponse {
148
+ /** Authorized actions */
149
+ authorizedActions?: IamAuthorizeResponseAuthorizedActionsList;
150
+ /** Unauthorized actions */
151
+ unauthorizedActions?: IamAuthorizeResponseUnauthorizedActionsList;
152
+ }
153
+ export const IamAuthorizeResponse = /*@__PURE__*/ S.suspend(() =>
154
+ S.Struct({
155
+ authorizedActions: S.optional(IamAuthorizeResponseAuthorizedActionsList),
156
+ unauthorizedActions: S.optional(
157
+ IamAuthorizeResponseUnauthorizedActionsList,
158
+ ),
159
+ }),
160
+ ).annotate({
161
+ identifier: "IamAuthorizeResponse",
162
+ }) as any as S.Schema<IamAuthorizeResponse>;
163
+
164
+ export interface CreateIamLogSubscriptionRequest {
165
+ /** Log kind name to subscribe to */
166
+ kind: string;
167
+ /** Customer log stream ID */
168
+ streamId: string;
169
+ }
170
+ export const CreateIamLogSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
171
+ S.Struct({
172
+ kind: S.String,
173
+ streamId: S.String,
174
+ }).pipe(T.Http({ method: "POST", uri: "/iam/log/subscription", code: 200 })),
175
+ ).annotate({
176
+ identifier: "CreateIamLogSubscriptionRequest",
177
+ }) as any as S.Schema<CreateIamLogSubscriptionRequest>;
178
+
179
+ /** Asynchronous operation after subscribing or unsubscribing to a resource logs */
180
+ export interface DbaasLogsLogSubscriptionResponse {
181
+ /** Identifier of the operation */
182
+ operationId?: string;
183
+ /** Operation owner's service name */
184
+ serviceName?: string;
185
+ }
186
+ export const DbaasLogsLogSubscriptionResponse = /*@__PURE__*/ S.suspend(() =>
187
+ S.Struct({
188
+ operationId: S.optional(S.String),
189
+ serviceName: S.optional(S.String),
190
+ }),
191
+ ).annotate({
192
+ identifier: "DbaasLogsLogSubscriptionResponse",
193
+ }) as any as S.Schema<DbaasLogsLogSubscriptionResponse>;
194
+
195
+ export interface CreateIamLogUrlRequest {
196
+ /** Log kind name */
197
+ kind: string;
198
+ }
199
+ export const CreateIamLogUrlRequest = /*@__PURE__*/ S.suspend(() =>
200
+ S.Struct({
201
+ kind: S.String,
202
+ }).pipe(T.Http({ method: "POST", uri: "/iam/log/url", code: 200 })),
203
+ ).annotate({
204
+ identifier: "CreateIamLogUrlRequest",
205
+ }) as any as S.Schema<CreateIamLogUrlRequest>;
206
+
207
+ /** Temporary url information */
208
+ export interface DbaasLogsTemporaryLogsLink {
209
+ /** Temporary url expiration date */
210
+ expirationDate?: string;
211
+ /** Temporary url */
212
+ url?: string;
213
+ }
214
+ export const DbaasLogsTemporaryLogsLink = /*@__PURE__*/ S.suspend(() =>
215
+ S.Struct({
216
+ expirationDate: S.optional(S.String),
217
+ url: S.optional(S.String),
218
+ }),
219
+ ).annotate({
220
+ identifier: "DbaasLogsTemporaryLogsLink",
221
+ }) as any as S.Schema<DbaasLogsTemporaryLogsLink>;
222
+
223
+ /** Action that can be allowed or denied on a resource */
224
+ export interface IamPolicyAction {
225
+ /** Name of the action */
226
+ action: string;
227
+ }
228
+ export const IamPolicyAction = /*@__PURE__*/ S.suspend(() =>
229
+ S.Struct({
230
+ action: S.String,
231
+ }),
232
+ ).annotate({
233
+ identifier: "IamPolicyAction",
234
+ }) as any as S.Schema<IamPolicyAction>;
235
+
236
+ /** List of allowed actions */
237
+ export type IamPolicyPermissionsAllowList = Array<IamPolicyAction>;
238
+ export const IamPolicyPermissionsAllowList = /*@__PURE__*/ S.Array(
239
+ IamPolicyAction,
240
+ ) as any as S.Schema<IamPolicyPermissionsAllowList>;
241
+
242
+ /** Actions to deny the access to */
243
+ export type IamPolicyPermissionsDenyList = Array<IamPolicyAction>;
244
+ export const IamPolicyPermissionsDenyList = /*@__PURE__*/ S.Array(
245
+ IamPolicyAction,
246
+ ) as any as S.Schema<IamPolicyPermissionsDenyList>;
247
+
248
+ /** Actions to filter from the allowed list */
249
+ export type IamPolicyPermissionsExceptList = Array<IamPolicyAction>;
250
+ export const IamPolicyPermissionsExceptList = /*@__PURE__*/ S.Array(
251
+ IamPolicyAction,
252
+ ) as any as S.Schema<IamPolicyPermissionsExceptList>;
253
+
254
+ /** Permissions included in a policy */
255
+ export interface IamPolicyPermissions {
256
+ /** List of allowed actions */
257
+ allow?: IamPolicyPermissionsAllowList | null;
258
+ /** Actions to deny the access to */
259
+ deny?: IamPolicyPermissionsDenyList | null;
260
+ /** Actions to filter from the allowed list */
261
+ except?: IamPolicyPermissionsExceptList | null;
262
+ }
263
+ export const IamPolicyPermissions = /*@__PURE__*/ S.suspend(() =>
264
+ S.Struct({
265
+ allow: S.optional(S.NullOr(IamPolicyPermissionsAllowList)),
266
+ deny: S.optional(S.NullOr(IamPolicyPermissionsDenyList)),
267
+ except: S.optional(S.NullOr(IamPolicyPermissionsExceptList)),
268
+ }),
269
+ ).annotate({
270
+ identifier: "IamPolicyPermissions",
271
+ }) as any as S.Schema<IamPolicyPermissions>;
272
+
273
+ export interface CreateIamPermissionsGroupRequest {
274
+ /** Description of the permissions group */
275
+ description: string;
276
+ /** Name of the permissions group */
277
+ name: string;
278
+ /** Permissions granted when using this permissions group */
279
+ permissions: IamPolicyPermissions;
280
+ }
281
+ export const CreateIamPermissionsGroupRequest = /*@__PURE__*/ S.suspend(() =>
282
+ S.Struct({
283
+ description: S.String,
284
+ name: S.String,
285
+ permissions: IamPolicyPermissions,
286
+ }).pipe(T.Http({ method: "POST", uri: "/iam/permissionsGroup", code: 200 })),
287
+ ).annotate({
288
+ identifier: "CreateIamPermissionsGroupRequest",
289
+ }) as any as S.Schema<CreateIamPermissionsGroupRequest>;
290
+
291
+ /** Permissions group defines a re-usable set of permissions */
292
+ export interface IamPermissionsGroup {
293
+ /** Creation time */
294
+ createdAt?: string;
295
+ /** Description of the permissions group */
296
+ description: string;
297
+ /** Unique identifier of the permissions group */
298
+ id?: string;
299
+ /** Name of the permissions group */
300
+ name: string;
301
+ /** Owner of the permissions group */
302
+ owner?: string;
303
+ /** Permissions granted when using this permissions group */
304
+ permissions: IamPolicyPermissions;
305
+ /** Last update time */
306
+ updatedAt?: string | null;
307
+ /** Unique resource name used in policies to include this permissions group */
308
+ urn?: string;
309
+ }
310
+ export const IamPermissionsGroup = /*@__PURE__*/ S.suspend(() =>
311
+ S.Struct({
312
+ createdAt: S.optional(S.String),
313
+ description: S.String,
314
+ id: S.optional(S.String),
315
+ name: S.String,
316
+ owner: S.optional(S.String),
317
+ permissions: IamPolicyPermissions,
318
+ updatedAt: S.optional(S.NullOr(S.String)),
319
+ urn: S.optional(S.String),
320
+ }),
321
+ ).annotate({
322
+ identifier: "IamPermissionsGroup",
323
+ }) as any as S.Schema<IamPermissionsGroup>;
324
+
325
+ /** conditions */
326
+ export type IamPolicyConditionConditionsList = Array<IamPolicyCondition>;
327
+ export const IamPolicyConditionConditionsList = /*@__PURE__*/ S.Array(
328
+ S.suspend(() => IamPolicyCondition),
329
+ ) as any as S.Schema<IamPolicyConditionConditionsList>;
330
+
331
+ /** Operator that can be used in order to restrict policy */
332
+ export type IamPolicyConditionOperatorEnum = "AND" | "MATCH" | "NOT" | "OR";
333
+ export const IamPolicyConditionOperatorEnum = S.String;
334
+
335
+ /** Conditions to apply */
336
+ export type IamPolicyConditionValuesMap = { [key: string]: string | undefined };
337
+ export const IamPolicyConditionValuesMap = /*@__PURE__*/ S.Record(
338
+ S.String,
339
+ S.String,
340
+ ) as any as S.Schema<IamPolicyConditionValuesMap>;
341
+
342
+ /** Condition included in a policy */
343
+ export interface IamPolicyCondition {
344
+ /** conditions */
345
+ conditions?: IamPolicyConditionConditionsList | null;
346
+ /** Operator used with conditions */
347
+ operator?: IamPolicyConditionOperatorEnum | (string & {});
348
+ /** Conditions to apply */
349
+ values?: IamPolicyConditionValuesMap | null;
350
+ }
351
+ export const IamPolicyCondition = /*@__PURE__*/ S.suspend(() =>
352
+ S.Struct({
353
+ conditions: S.optional(S.NullOr(IamPolicyConditionConditionsList)),
354
+ operator: S.optional(IamPolicyConditionOperatorEnum),
355
+ values: S.optional(S.NullOr(IamPolicyConditionValuesMap)),
356
+ }),
357
+ ).annotate({
358
+ identifier: "IamPolicyCondition",
359
+ }) as any as S.Schema<IamPolicyCondition>;
360
+
361
+ /** Recipients of the delegated resources */
362
+ export type CreateIamPolicyRequestIdentitiesList = Array<string>;
363
+ export const CreateIamPolicyRequestIdentitiesList = /*@__PURE__*/ S.Array(
364
+ S.String,
365
+ ) as any as S.Schema<CreateIamPolicyRequestIdentitiesList>;
366
+
367
+ /** Permissions group linked to a policy */
368
+ export interface IamPolicyPermissionsGroupInput {
369
+ /** URN of the permissions group */
370
+ urn?: string;
371
+ }
372
+ export const IamPolicyPermissionsGroupInput = /*@__PURE__*/ S.suspend(() =>
373
+ S.Struct({
374
+ urn: S.optional(S.String),
375
+ }),
376
+ ).annotate({
377
+ identifier: "IamPolicyPermissionsGroupInput",
378
+ }) as any as S.Schema<IamPolicyPermissionsGroupInput>;
379
+
380
+ /** Permissions groups accorded to the recipients on the given resources */
381
+ export type CreateIamPolicyRequestPermissionsGroupsList =
382
+ Array<IamPolicyPermissionsGroupInput>;
383
+ export const CreateIamPolicyRequestPermissionsGroupsList =
384
+ /*@__PURE__*/ S.Array(
385
+ IamPolicyPermissionsGroupInput,
386
+ ) as any as S.Schema<CreateIamPolicyRequestPermissionsGroupsList>;
387
+
388
+ /** Resource in a policy */
389
+ export interface IamPolicyResourceInput {
390
+ /** URN of the resource */
391
+ urn: string;
392
+ }
393
+ export const IamPolicyResourceInput = /*@__PURE__*/ S.suspend(() =>
394
+ S.Struct({
395
+ urn: S.String,
396
+ }),
397
+ ).annotate({
398
+ identifier: "IamPolicyResourceInput",
399
+ }) as any as S.Schema<IamPolicyResourceInput>;
400
+
401
+ /** Resources to delegate */
402
+ export type CreateIamPolicyRequestResourcesList = Array<IamPolicyResourceInput>;
403
+ export const CreateIamPolicyRequestResourcesList = /*@__PURE__*/ S.Array(
404
+ IamPolicyResourceInput,
405
+ ) as any as S.Schema<CreateIamPolicyRequestResourcesList>;
406
+
407
+ export interface CreateIamPolicyRequest {
408
+ /** Conditions restrict permissions following resources, date or customer's information */
409
+ conditions?: IamPolicyCondition | null;
410
+ /** Description of the policy */
411
+ description?: string;
412
+ /** Expiration date of the policy, after this date it will no longer be applied */
413
+ expiredAt?: string | null;
414
+ /** Recipients of the delegated resources */
415
+ identities: CreateIamPolicyRequestIdentitiesList;
416
+ /** Name of the policy */
417
+ name: string;
418
+ /** Permissions accorded to the recipients on the given resources */
419
+ permissions: IamPolicyPermissions;
420
+ /** Permissions groups accorded to the recipients on the given resources */
421
+ permissionsGroups?: CreateIamPolicyRequestPermissionsGroupsList | null;
422
+ /** Resources to delegate */
423
+ resources: CreateIamPolicyRequestResourcesList;
424
+ }
425
+ export const CreateIamPolicyRequest = /*@__PURE__*/ S.suspend(() =>
426
+ S.Struct({
427
+ conditions: S.optional(S.NullOr(IamPolicyCondition)),
428
+ description: S.optional(S.String),
429
+ expiredAt: S.optional(S.NullOr(S.String)),
430
+ identities: CreateIamPolicyRequestIdentitiesList,
431
+ name: S.String,
432
+ permissions: IamPolicyPermissions,
433
+ permissionsGroups: S.optional(
434
+ S.NullOr(CreateIamPolicyRequestPermissionsGroupsList),
435
+ ),
436
+ resources: CreateIamPolicyRequestResourcesList,
437
+ }).pipe(T.Http({ method: "POST", uri: "/iam/policy", code: 200 })),
438
+ ).annotate({
439
+ identifier: "CreateIamPolicyRequest",
440
+ }) as any as S.Schema<CreateIamPolicyRequest>;
441
+
442
+ /** Recipients of the delegated resources */
443
+ export type IamPolicyResponseIdentitiesList = Array<string>;
444
+ export const IamPolicyResponseIdentitiesList = /*@__PURE__*/ S.Array(
445
+ S.String,
446
+ ) as any as S.Schema<IamPolicyResponseIdentitiesList>;
447
+
448
+ /** Permissions group linked to a policy */
449
+ export interface IamPolicyPermissionsGroup {
450
+ /** Name of the permissions group */
451
+ name?: string | null;
452
+ /** Owner of the permissions group */
453
+ owner?: string | null;
454
+ /** Permissions embedded in the permissions group */
455
+ permissions?: IamPolicyPermissions | null;
456
+ /** URN of the permissions group */
457
+ urn?: string;
458
+ }
459
+ export const IamPolicyPermissionsGroup = /*@__PURE__*/ S.suspend(() =>
460
+ S.Struct({
461
+ name: S.optional(S.NullOr(S.String)),
462
+ owner: S.optional(S.NullOr(S.String)),
463
+ permissions: S.optional(S.NullOr(IamPolicyPermissions)),
464
+ urn: S.optional(S.String),
465
+ }),
466
+ ).annotate({
467
+ identifier: "IamPolicyPermissionsGroup",
468
+ }) as any as S.Schema<IamPolicyPermissionsGroup>;
469
+
470
+ /** Permissions groups accorded to the recipients on the given resources */
471
+ export type IamPolicyResponsePermissionsGroupsList =
472
+ Array<IamPolicyPermissionsGroup>;
473
+ export const IamPolicyResponsePermissionsGroupsList = /*@__PURE__*/ S.Array(
474
+ IamPolicyPermissionsGroup,
475
+ ) as any as S.Schema<IamPolicyResponsePermissionsGroupsList>;
476
+
477
+ /** Group defines a set of resources */
478
+ export interface IamPolicyGroup {
479
+ /** Unique identifier of the group */
480
+ id?: string;
481
+ /** Name of the group */
482
+ name?: string;
483
+ /** Whether you can add or remove resources */
484
+ readOnly?: boolean;
485
+ }
486
+ export const IamPolicyGroup = /*@__PURE__*/ S.suspend(() =>
487
+ S.Struct({
488
+ id: S.optional(S.String),
489
+ name: S.optional(S.String),
490
+ readOnly: S.optional(S.Boolean),
491
+ }),
492
+ ).annotate({ identifier: "IamPolicyGroup" }) as any as S.Schema<IamPolicyGroup>;
493
+
494
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
495
+ export type IamPolicySingleResourceTagsMap = {
496
+ [key: string]: string | undefined;
497
+ };
498
+ export const IamPolicySingleResourceTagsMap = /*@__PURE__*/ S.Record(
499
+ S.String,
500
+ S.String,
501
+ ) as any as S.Schema<IamPolicySingleResourceTagsMap>;
502
+
503
+ /** Single resource in a policy */
504
+ export interface IamPolicySingleResource {
505
+ /** Display name of the resource */
506
+ displayName?: string;
507
+ /** Unique identifier of the resource */
508
+ id?: string;
509
+ /** Name of the resource */
510
+ name?: string;
511
+ /** Owner of the resource */
512
+ owner?: string;
513
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
514
+ tags?: IamPolicySingleResourceTagsMap | null;
515
+ /** Resource type. All types can be retrieved at /reference/resource/type */
516
+ type?: string;
517
+ }
518
+ export const IamPolicySingleResource = /*@__PURE__*/ S.suspend(() =>
519
+ S.Struct({
520
+ displayName: S.optional(S.String),
521
+ id: S.optional(S.String),
522
+ name: S.optional(S.String),
523
+ owner: S.optional(S.String),
524
+ tags: S.optional(S.NullOr(IamPolicySingleResourceTagsMap)),
525
+ type: S.optional(S.String),
526
+ }),
527
+ ).annotate({
528
+ identifier: "IamPolicySingleResource",
529
+ }) as any as S.Schema<IamPolicySingleResource>;
530
+
531
+ /** Resource in a policy */
532
+ export interface IamPolicyResource {
533
+ /** Group object, if resource is a group */
534
+ group?: IamPolicyGroup | null;
535
+ /** Resource object, if resource is a single resource */
536
+ resource?: IamPolicySingleResource | null;
537
+ /** URN of the resource */
538
+ urn: string;
539
+ }
540
+ export const IamPolicyResource = /*@__PURE__*/ S.suspend(() =>
541
+ S.Struct({
542
+ group: S.optional(S.NullOr(IamPolicyGroup)),
543
+ resource: S.optional(S.NullOr(IamPolicySingleResource)),
544
+ urn: S.String,
545
+ }),
546
+ ).annotate({
547
+ identifier: "IamPolicyResource",
548
+ }) as any as S.Schema<IamPolicyResource>;
549
+
550
+ /** Resources to delegate */
551
+ export type IamPolicyResponseResourcesList = Array<IamPolicyResource>;
552
+ export const IamPolicyResponseResourcesList = /*@__PURE__*/ S.Array(
553
+ IamPolicyResource,
554
+ ) as any as S.Schema<IamPolicyResponseResourcesList>;
555
+
556
+ /** Policy definition */
557
+ export interface IamPolicyResponse {
558
+ /** Conditions restrict permissions following resources, date or customer's information */
559
+ conditions?: IamPolicyCondition | null;
560
+ /** Creation time */
561
+ createdAt?: string;
562
+ /** Description of the policy */
563
+ description?: string | null;
564
+ /** Expiration date of the policy, after this date it will no longer be applied */
565
+ expiredAt?: string | null;
566
+ /** Unique identifier of the policy */
567
+ id?: string;
568
+ /** Recipients of the delegated resources */
569
+ identities?: IamPolicyResponseIdentitiesList;
570
+ /** Name of the policy */
571
+ name?: string;
572
+ /** Owner of the policy */
573
+ owner?: string;
574
+ /** Permissions accorded to the recipients on the given resources */
575
+ permissions?: IamPolicyPermissions;
576
+ /** Permissions groups accorded to the recipients on the given resources */
577
+ permissionsGroups?: IamPolicyResponsePermissionsGroupsList;
578
+ /** Whether you can update policy */
579
+ readOnly?: boolean;
580
+ /** Resources to delegate */
581
+ resources?: IamPolicyResponseResourcesList;
582
+ /** Last update time */
583
+ updatedAt?: string | null;
584
+ }
585
+ export const IamPolicyResponse = /*@__PURE__*/ S.suspend(() =>
586
+ S.Struct({
587
+ conditions: S.optional(S.NullOr(IamPolicyCondition)),
588
+ createdAt: S.optional(S.String),
589
+ description: S.optional(S.NullOr(S.String)),
590
+ expiredAt: S.optional(S.NullOr(S.String)),
591
+ id: S.optional(S.String),
592
+ identities: S.optional(IamPolicyResponseIdentitiesList),
593
+ name: S.optional(S.String),
594
+ owner: S.optional(S.String),
595
+ permissions: S.optional(IamPolicyPermissions),
596
+ permissionsGroups: S.optional(IamPolicyResponsePermissionsGroupsList),
597
+ readOnly: S.optional(S.Boolean),
598
+ resources: S.optional(IamPolicyResponseResourcesList),
599
+ updatedAt: S.optional(S.NullOr(S.String)),
600
+ }),
601
+ ).annotate({
602
+ identifier: "IamPolicyResponse",
603
+ }) as any as S.Schema<IamPolicyResponse>;
604
+
605
+ /** Resource is an entity standing for a product. It is used for right delegation */
606
+ export interface IamGroupResourceInput {
607
+ /** Unique identifier of the resource */
608
+ id?: string;
609
+ /** Unique resource name used in policies */
610
+ urn?: string | null;
611
+ }
612
+ export const IamGroupResourceInput = /*@__PURE__*/ S.suspend(() =>
613
+ S.Struct({
614
+ id: S.optional(S.String),
615
+ urn: S.optional(S.NullOr(S.String)),
616
+ }),
617
+ ).annotate({
618
+ identifier: "IamGroupResourceInput",
619
+ }) as any as S.Schema<IamGroupResourceInput>;
620
+
621
+ /** Resources to add in the created group */
622
+ export type CreateIamResourceGroupRequestResourcesList =
623
+ Array<IamGroupResourceInput>;
624
+ export const CreateIamResourceGroupRequestResourcesList = /*@__PURE__*/ S.Array(
625
+ IamGroupResourceInput,
626
+ ) as any as S.Schema<CreateIamResourceGroupRequestResourcesList>;
627
+
628
+ export interface CreateIamResourceGroupRequest {
629
+ /** Name of the group */
630
+ name: string;
631
+ /** Resources to add in the created group */
632
+ resources?: CreateIamResourceGroupRequestResourcesList;
633
+ }
634
+ export const CreateIamResourceGroupRequest = /*@__PURE__*/ S.suspend(() =>
635
+ S.Struct({
636
+ name: S.String,
637
+ resources: S.optional(CreateIamResourceGroupRequestResourcesList),
638
+ }).pipe(T.Http({ method: "POST", uri: "/iam/resourceGroup", code: 200 })),
639
+ ).annotate({
640
+ identifier: "CreateIamResourceGroupRequest",
641
+ }) as any as S.Schema<CreateIamResourceGroupRequest>;
642
+
643
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
644
+ export type IamGroupResourceTagsMap = { [key: string]: string | undefined };
645
+ export const IamGroupResourceTagsMap = /*@__PURE__*/ S.Record(
646
+ S.String,
647
+ S.String,
648
+ ) as any as S.Schema<IamGroupResourceTagsMap>;
649
+
650
+ /** Resource is an entity standing for a product. It is used for right delegation */
651
+ export interface IamGroupResource {
652
+ /** Resource display name */
653
+ displayName?: string | null;
654
+ /** Unique identifier of the resource */
655
+ id?: string;
656
+ /** Resource name */
657
+ name?: string | null;
658
+ /** Resource owner */
659
+ owner?: string | null;
660
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
661
+ tags?: IamGroupResourceTagsMap | null;
662
+ /** Resource type. All types can be retrieved at /reference/resource/type */
663
+ type?: string | null;
664
+ /** Unique resource name used in policies */
665
+ urn?: string | null;
666
+ }
667
+ export const IamGroupResource = /*@__PURE__*/ S.suspend(() =>
668
+ S.Struct({
669
+ displayName: S.optional(S.NullOr(S.String)),
670
+ id: S.optional(S.String),
671
+ name: S.optional(S.NullOr(S.String)),
672
+ owner: S.optional(S.NullOr(S.String)),
673
+ tags: S.optional(S.NullOr(IamGroupResourceTagsMap)),
674
+ type: S.optional(S.NullOr(S.String)),
675
+ urn: S.optional(S.NullOr(S.String)),
676
+ }),
677
+ ).annotate({
678
+ identifier: "IamGroupResource",
679
+ }) as any as S.Schema<IamGroupResource>;
680
+
681
+ /** Resources included in the group */
682
+ export type IamGroupResponseResourcesList = Array<IamGroupResource>;
683
+ export const IamGroupResponseResourcesList = /*@__PURE__*/ S.Array(
684
+ IamGroupResource,
685
+ ) as any as S.Schema<IamGroupResponseResourcesList>;
686
+
687
+ /** Group defines a set of resources */
688
+ export interface IamGroupResponse {
689
+ /** Creation time */
690
+ createdAt?: string;
691
+ /** Unique identifier of the group */
692
+ id?: string;
693
+ /** Name of the group */
694
+ name?: string;
695
+ /** Owner of the group */
696
+ owner?: string;
697
+ /** Whether you can add or remove resources */
698
+ readOnly?: boolean;
699
+ /** Resources included in the group */
700
+ resources?: IamGroupResponseResourcesList;
701
+ /** Last update time */
702
+ updatedAt?: string | null;
703
+ /** Unique resource name used in policies */
704
+ urn?: string;
705
+ }
706
+ export const IamGroupResponse = /*@__PURE__*/ S.suspend(() =>
707
+ S.Struct({
708
+ createdAt: S.optional(S.String),
709
+ id: S.optional(S.String),
710
+ name: S.optional(S.String),
711
+ owner: S.optional(S.String),
712
+ readOnly: S.optional(S.Boolean),
713
+ resources: S.optional(IamGroupResponseResourcesList),
714
+ updatedAt: S.optional(S.NullOr(S.String)),
715
+ urn: S.optional(S.String),
716
+ }),
717
+ ).annotate({
718
+ identifier: "IamGroupResponse",
719
+ }) as any as S.Schema<IamGroupResponse>;
720
+
721
+ export interface CreateIamResourceTagRequest {
722
+ /** ResourceURN */
723
+ resourceURN: string;
724
+ /** Resource tag key. It must comply with '^[a-zA-Z0-9_.:/=+@-]{1,128}\z' */
725
+ key: string;
726
+ /** Resource tag value. It must comply with '^[a-zA-Z0-9_.:/=+@-]{0,256}\z' */
727
+ value: string;
728
+ }
729
+ export const CreateIamResourceTagRequest = /*@__PURE__*/ S.suspend(() =>
730
+ S.Struct({
731
+ resourceURN: S.String.pipe(T.Label()),
732
+ key: S.String,
733
+ value: S.String,
734
+ }).pipe(
735
+ T.Http({
736
+ method: "POST",
737
+ uri: "/iam/resource/{resourceURN}/tag",
738
+ code: 200,
739
+ }),
740
+ ),
741
+ ).annotate({
742
+ identifier: "CreateIamResourceTagRequest",
743
+ }) as any as S.Schema<CreateIamResourceTagRequest>;
744
+
745
+ export interface CreateIamResourceTagResponse {}
746
+ export const CreateIamResourceTagResponse = /*@__PURE__*/ S.suspend(() =>
747
+ S.Struct({}),
748
+ ).annotate({
749
+ identifier: "CreateIamResourceTagResponse",
750
+ }) as any as S.Schema<CreateIamResourceTagResponse>;
751
+
752
+ export interface DeleteIamLogSubscriptionRequest {
753
+ /** Subscription ID */
754
+ subscriptionId: string;
755
+ }
756
+ export const DeleteIamLogSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
757
+ S.Struct({
758
+ subscriptionId: S.String.pipe(T.Label()),
759
+ }).pipe(
760
+ T.Http({
761
+ method: "DELETE",
762
+ uri: "/iam/log/subscription/{subscriptionId}",
763
+ code: 200,
764
+ }),
765
+ ),
766
+ ).annotate({
767
+ identifier: "DeleteIamLogSubscriptionRequest",
768
+ }) as any as S.Schema<DeleteIamLogSubscriptionRequest>;
769
+
770
+ export interface DeleteIamPermissionsGroupRequest {
771
+ /** Permissions groupurn */
772
+ permissionsGroupURN: string;
773
+ }
774
+ export const DeleteIamPermissionsGroupRequest = /*@__PURE__*/ S.suspend(() =>
775
+ S.Struct({
776
+ permissionsGroupURN: S.String.pipe(T.Label()),
777
+ }).pipe(
778
+ T.Http({
779
+ method: "DELETE",
780
+ uri: "/iam/permissionsGroup/{permissionsGroupURN}",
781
+ code: 200,
782
+ }),
783
+ ),
784
+ ).annotate({
785
+ identifier: "DeleteIamPermissionsGroupRequest",
786
+ }) as any as S.Schema<DeleteIamPermissionsGroupRequest>;
787
+
788
+ export interface DeleteIamPermissionsGroupResponse {}
789
+ export const DeleteIamPermissionsGroupResponse = /*@__PURE__*/ S.suspend(() =>
790
+ S.Struct({}),
791
+ ).annotate({
792
+ identifier: "DeleteIamPermissionsGroupResponse",
793
+ }) as any as S.Schema<DeleteIamPermissionsGroupResponse>;
794
+
795
+ export interface DeleteIamPolicyRequest {
796
+ /** Policy ID */
797
+ policyId: string;
798
+ }
799
+ export const DeleteIamPolicyRequest = /*@__PURE__*/ S.suspend(() =>
800
+ S.Struct({
801
+ policyId: S.String.pipe(T.Label()),
802
+ }).pipe(
803
+ T.Http({ method: "DELETE", uri: "/iam/policy/{policyId}", code: 200 }),
804
+ ),
805
+ ).annotate({
806
+ identifier: "DeleteIamPolicyRequest",
807
+ }) as any as S.Schema<DeleteIamPolicyRequest>;
808
+
809
+ export interface DeleteIamPolicyResponse {}
810
+ export const DeleteIamPolicyResponse = /*@__PURE__*/ S.suspend(() =>
811
+ S.Struct({}),
812
+ ).annotate({
813
+ identifier: "DeleteIamPolicyResponse",
814
+ }) as any as S.Schema<DeleteIamPolicyResponse>;
815
+
816
+ export interface DeleteIamResourceGroupRequest {
817
+ /** Group ID */
818
+ groupId: string;
819
+ }
820
+ export const DeleteIamResourceGroupRequest = /*@__PURE__*/ S.suspend(() =>
821
+ S.Struct({
822
+ groupId: S.String.pipe(T.Label()),
823
+ }).pipe(
824
+ T.Http({
825
+ method: "DELETE",
826
+ uri: "/iam/resourceGroup/{groupId}",
827
+ code: 200,
828
+ }),
829
+ ),
830
+ ).annotate({
831
+ identifier: "DeleteIamResourceGroupRequest",
832
+ }) as any as S.Schema<DeleteIamResourceGroupRequest>;
833
+
834
+ export interface DeleteIamResourceGroupResponse {}
835
+ export const DeleteIamResourceGroupResponse = /*@__PURE__*/ S.suspend(() =>
836
+ S.Struct({}),
837
+ ).annotate({
838
+ identifier: "DeleteIamResourceGroupResponse",
839
+ }) as any as S.Schema<DeleteIamResourceGroupResponse>;
840
+
841
+ export interface DeleteIamResourceTagRequest {
842
+ /** ResourceURN */
843
+ resourceURN: string;
844
+ /** Key */
845
+ key: string;
846
+ }
847
+ export const DeleteIamResourceTagRequest = /*@__PURE__*/ S.suspend(() =>
848
+ S.Struct({
849
+ resourceURN: S.String.pipe(T.Label()),
850
+ key: S.String.pipe(T.Label()),
851
+ }).pipe(
852
+ T.Http({
853
+ method: "DELETE",
854
+ uri: "/iam/resource/{resourceURN}/tag/{key}",
855
+ code: 200,
856
+ }),
857
+ ),
858
+ ).annotate({
859
+ identifier: "DeleteIamResourceTagRequest",
860
+ }) as any as S.Schema<DeleteIamResourceTagRequest>;
861
+
862
+ export interface DeleteIamResourceTagResponse {}
863
+ export const DeleteIamResourceTagResponse = /*@__PURE__*/ S.suspend(() =>
864
+ S.Struct({}),
865
+ ).annotate({
866
+ identifier: "DeleteIamResourceTagResponse",
867
+ }) as any as S.Schema<DeleteIamResourceTagResponse>;
868
+
869
+ export interface GetIamLogKindRequest {
870
+ /** Name */
871
+ name: string;
872
+ }
873
+ export const GetIamLogKindRequest = /*@__PURE__*/ S.suspend(() =>
874
+ S.Struct({
875
+ name: S.String.pipe(T.Label()),
876
+ }).pipe(T.Http({ method: "GET", uri: "/iam/log/kind/{name}", code: 200 })),
877
+ ).annotate({
878
+ identifier: "GetIamLogKindRequest",
879
+ }) as any as S.Schema<GetIamLogKindRequest>;
880
+
881
+ /** List of additional log fields managed in this log kind */
882
+ export type DbaasLogsLogKindAdditionalReturnedFieldsList = Array<string>;
883
+ export const DbaasLogsLogKindAdditionalReturnedFieldsList =
884
+ /*@__PURE__*/ S.Array(
885
+ S.String,
886
+ ) as any as S.Schema<DbaasLogsLogKindAdditionalReturnedFieldsList>;
887
+
888
+ /** Log kind */
889
+ export interface DbaasLogsLogKind {
890
+ /** List of additional log fields managed in this log kind */
891
+ additionalReturnedFields?: DbaasLogsLogKindAdditionalReturnedFieldsList;
892
+ /** Creation date of the log kind */
893
+ createdAt?: string;
894
+ /** Log kind display name */
895
+ displayName?: string;
896
+ /** Log kind ID */
897
+ kindId?: string;
898
+ /** Log kind name */
899
+ name?: string;
900
+ /** Last update date of the log kind */
901
+ updatedAt?: string;
902
+ }
903
+ export const DbaasLogsLogKind = /*@__PURE__*/ S.suspend(() =>
904
+ S.Struct({
905
+ additionalReturnedFields: S.optional(
906
+ DbaasLogsLogKindAdditionalReturnedFieldsList,
907
+ ),
908
+ createdAt: S.optional(S.String),
909
+ displayName: S.optional(S.String),
910
+ kindId: S.optional(S.String),
911
+ name: S.optional(S.String),
912
+ updatedAt: S.optional(S.String),
913
+ }),
914
+ ).annotate({
915
+ identifier: "DbaasLogsLogKind",
916
+ }) as any as S.Schema<DbaasLogsLogKind>;
917
+
918
+ export interface GetIamLogSubscriptionRequest {
919
+ /** Subscription ID */
920
+ subscriptionId: string;
921
+ }
922
+ export const GetIamLogSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
923
+ S.Struct({
924
+ subscriptionId: S.String.pipe(T.Label()),
925
+ }).pipe(
926
+ T.Http({
927
+ method: "GET",
928
+ uri: "/iam/log/subscription/{subscriptionId}",
929
+ code: 200,
930
+ }),
931
+ ),
932
+ ).annotate({
933
+ identifier: "GetIamLogSubscriptionRequest",
934
+ }) as any as S.Schema<GetIamLogSubscriptionRequest>;
935
+
936
+ /** Log subscription resource */
937
+ export interface DbaasLogsLogSubscriptionResource {
938
+ /** Name of subscribed resource */
939
+ name?: string;
940
+ /** Type of subscribed resource */
941
+ type?: string;
942
+ }
943
+ export const DbaasLogsLogSubscriptionResource = /*@__PURE__*/ S.suspend(() =>
944
+ S.Struct({
945
+ name: S.optional(S.String),
946
+ type: S.optional(S.String),
947
+ }),
948
+ ).annotate({
949
+ identifier: "DbaasLogsLogSubscriptionResource",
950
+ }) as any as S.Schema<DbaasLogsLogSubscriptionResource>;
951
+
952
+ /** Log subscription */
953
+ export interface DbaasLogsLogSubscription {
954
+ /** Creation date of the subscription */
955
+ createdAt?: string;
956
+ /** Log kind name of this subscription */
957
+ kind?: string;
958
+ /** Subscribed resource, where the logs come from */
959
+ resource?: DbaasLogsLogSubscriptionResource;
960
+ /** Name of the destination log service */
961
+ serviceName?: string;
962
+ /** Id of the destination log stream */
963
+ streamId?: string;
964
+ /** Subscription ID */
965
+ subscriptionId?: string;
966
+ /** Last update date of the subscription */
967
+ updatedAt?: string;
968
+ }
969
+ export const DbaasLogsLogSubscription = /*@__PURE__*/ S.suspend(() =>
970
+ S.Struct({
971
+ createdAt: S.optional(S.String),
972
+ kind: S.optional(S.String),
973
+ resource: S.optional(DbaasLogsLogSubscriptionResource),
974
+ serviceName: S.optional(S.String),
975
+ streamId: S.optional(S.String),
976
+ subscriptionId: S.optional(S.String),
977
+ updatedAt: S.optional(S.String),
978
+ }),
979
+ ).annotate({
980
+ identifier: "DbaasLogsLogSubscription",
981
+ }) as any as S.Schema<DbaasLogsLogSubscription>;
982
+
983
+ export interface GetIamPermissionsGroupRequest {
984
+ /** Permissions groupurn */
985
+ permissionsGroupURN: string;
986
+ }
987
+ export const GetIamPermissionsGroupRequest = /*@__PURE__*/ S.suspend(() =>
988
+ S.Struct({
989
+ permissionsGroupURN: S.String.pipe(T.Label()),
990
+ }).pipe(
991
+ T.Http({
992
+ method: "GET",
993
+ uri: "/iam/permissionsGroup/{permissionsGroupURN}",
994
+ code: 200,
995
+ }),
996
+ ),
997
+ ).annotate({
998
+ identifier: "GetIamPermissionsGroupRequest",
999
+ }) as any as S.Schema<GetIamPermissionsGroupRequest>;
1000
+
1001
+ export interface GetIamPolicyRequest {
1002
+ /** Policy ID */
1003
+ policyId: string;
1004
+ /** Add extra information about resources in output */
1005
+ details?: boolean;
1006
+ }
1007
+ export const GetIamPolicyRequest = /*@__PURE__*/ S.suspend(() =>
1008
+ S.Struct({
1009
+ policyId: S.String.pipe(T.Label()),
1010
+ details: S.optional(S.Boolean.pipe(T.Query())),
1011
+ }).pipe(T.Http({ method: "GET", uri: "/iam/policy/{policyId}", code: 200 })),
1012
+ ).annotate({
1013
+ identifier: "GetIamPolicyRequest",
1014
+ }) as any as S.Schema<GetIamPolicyRequest>;
1015
+
1016
+ export interface GetIamResourceRequest {
1017
+ /** ResourceURN */
1018
+ resourceURN: string;
1019
+ }
1020
+ export const GetIamResourceRequest = /*@__PURE__*/ S.suspend(() =>
1021
+ S.Struct({
1022
+ resourceURN: S.String.pipe(T.Label()),
1023
+ }).pipe(
1024
+ T.Http({ method: "GET", uri: "/iam/resource/{resourceURN}", code: 200 }),
1025
+ ),
1026
+ ).annotate({
1027
+ identifier: "GetIamResourceRequest",
1028
+ }) as any as S.Schema<GetIamResourceRequest>;
1029
+
1030
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
1031
+ export type IamResourceResourceTagsMap = { [key: string]: string | undefined };
1032
+ export const IamResourceResourceTagsMap = /*@__PURE__*/ S.Record(
1033
+ S.String,
1034
+ S.String,
1035
+ ) as any as S.Schema<IamResourceResourceTagsMap>;
1036
+
1037
+ /** Resource is an entity standing for a product. It is used for right delegation */
1038
+ export interface IamResourceResource {
1039
+ /** Resource display name */
1040
+ displayName?: string;
1041
+ /** Unique identifier of the resource */
1042
+ id?: string;
1043
+ /** Resource name */
1044
+ name?: string;
1045
+ /** Resource owner */
1046
+ owner?: string;
1047
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
1048
+ tags?: IamResourceResourceTagsMap | null;
1049
+ /** Resource type. All types can be retrieved at /reference/resource/type */
1050
+ type?: string;
1051
+ /** Unique resource name used in policies */
1052
+ urn?: string;
1053
+ }
1054
+ export const IamResourceResource = /*@__PURE__*/ S.suspend(() =>
1055
+ S.Struct({
1056
+ displayName: S.optional(S.String),
1057
+ id: S.optional(S.String),
1058
+ name: S.optional(S.String),
1059
+ owner: S.optional(S.String),
1060
+ tags: S.optional(S.NullOr(IamResourceResourceTagsMap)),
1061
+ type: S.optional(S.String),
1062
+ urn: S.optional(S.String),
1063
+ }),
1064
+ ).annotate({
1065
+ identifier: "IamResourceResource",
1066
+ }) as any as S.Schema<IamResourceResource>;
1067
+
1068
+ export interface GetIamResourceGroupRequest {
1069
+ /** Group ID */
1070
+ groupId: string;
1071
+ /** Add extra information about resources in output */
1072
+ details?: boolean;
1073
+ }
1074
+ export const GetIamResourceGroupRequest = /*@__PURE__*/ S.suspend(() =>
1075
+ S.Struct({
1076
+ groupId: S.String.pipe(T.Label()),
1077
+ details: S.optional(S.Boolean.pipe(T.Query())),
1078
+ }).pipe(
1079
+ T.Http({ method: "GET", uri: "/iam/resourceGroup/{groupId}", code: 200 }),
1080
+ ),
1081
+ ).annotate({
1082
+ identifier: "GetIamResourceGroupRequest",
1083
+ }) as any as S.Schema<GetIamResourceGroupRequest>;
1084
+
1085
+ export interface ListIamLogKindRequest {
1086
+ /** Pagination cursor */
1087
+ xPaginationCursor?: string;
1088
+ /** Pagination size */
1089
+ xPaginationSize?: number;
1090
+ }
1091
+ export const ListIamLogKindRequest = /*@__PURE__*/ S.suspend(() =>
1092
+ S.Struct({
1093
+ xPaginationCursor: S.optional(
1094
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1095
+ ),
1096
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1097
+ }).pipe(T.Http({ method: "GET", uri: "/iam/log/kind", code: 200 })),
1098
+ ).annotate({
1099
+ identifier: "ListIamLogKindRequest",
1100
+ }) as any as S.Schema<ListIamLogKindRequest>;
1101
+
1102
+ export type ListIamLogKindResponseBodyList = Array<string>;
1103
+ export const ListIamLogKindResponseBodyList = /*@__PURE__*/ S.Array(
1104
+ S.String,
1105
+ ) as any as S.Schema<ListIamLogKindResponseBodyList>;
1106
+
1107
+ export type ListIamLogKindResponse = ListIamLogKindResponseBodyList;
1108
+ export const ListIamLogKindResponse = /*@__PURE__*/ S.suspend(() =>
1109
+ ListIamLogKindResponseBodyList.pipe(T.RawResponseRoot()),
1110
+ ).annotate({
1111
+ identifier: "ListIamLogKindResponse",
1112
+ }) as any as S.Schema<ListIamLogKindResponse>;
1113
+
1114
+ export interface ListIamLogSubscriptionRequest {
1115
+ /** Filter on a specific kind (e.g., default) */
1116
+ kind?: string;
1117
+ /** Pagination cursor */
1118
+ xPaginationCursor?: string;
1119
+ /** Pagination size */
1120
+ xPaginationSize?: number;
1121
+ }
1122
+ export const ListIamLogSubscriptionRequest = /*@__PURE__*/ S.suspend(() =>
1123
+ S.Struct({
1124
+ kind: S.optional(S.String.pipe(T.Query())),
1125
+ xPaginationCursor: S.optional(
1126
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1127
+ ),
1128
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1129
+ }).pipe(T.Http({ method: "GET", uri: "/iam/log/subscription", code: 200 })),
1130
+ ).annotate({
1131
+ identifier: "ListIamLogSubscriptionRequest",
1132
+ }) as any as S.Schema<ListIamLogSubscriptionRequest>;
1133
+
1134
+ export type ListIamLogSubscriptionResponseBodyList = Array<string>;
1135
+ export const ListIamLogSubscriptionResponseBodyList = /*@__PURE__*/ S.Array(
1136
+ S.String,
1137
+ ) as any as S.Schema<ListIamLogSubscriptionResponseBodyList>;
1138
+
1139
+ export type ListIamLogSubscriptionResponse =
1140
+ ListIamLogSubscriptionResponseBodyList;
1141
+ export const ListIamLogSubscriptionResponse = /*@__PURE__*/ S.suspend(() =>
1142
+ ListIamLogSubscriptionResponseBodyList.pipe(T.RawResponseRoot()),
1143
+ ).annotate({
1144
+ identifier: "ListIamLogSubscriptionResponse",
1145
+ }) as any as S.Schema<ListIamLogSubscriptionResponse>;
1146
+
1147
+ export interface ListIamPermissionsGroupRequest {
1148
+ /** Pagination cursor */
1149
+ xPaginationCursor?: string;
1150
+ /** Pagination size */
1151
+ xPaginationSize?: number;
1152
+ }
1153
+ export const ListIamPermissionsGroupRequest = /*@__PURE__*/ S.suspend(() =>
1154
+ S.Struct({
1155
+ xPaginationCursor: S.optional(
1156
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1157
+ ),
1158
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1159
+ }).pipe(T.Http({ method: "GET", uri: "/iam/permissionsGroup", code: 200 })),
1160
+ ).annotate({
1161
+ identifier: "ListIamPermissionsGroupRequest",
1162
+ }) as any as S.Schema<ListIamPermissionsGroupRequest>;
1163
+
1164
+ export type ListIamPermissionsGroupResponseBodyList =
1165
+ Array<IamPermissionsGroup>;
1166
+ export const ListIamPermissionsGroupResponseBodyList = /*@__PURE__*/ S.Array(
1167
+ IamPermissionsGroup,
1168
+ ) as any as S.Schema<ListIamPermissionsGroupResponseBodyList>;
1169
+
1170
+ export type ListIamPermissionsGroupResponse =
1171
+ ListIamPermissionsGroupResponseBodyList;
1172
+ export const ListIamPermissionsGroupResponse = /*@__PURE__*/ S.suspend(() =>
1173
+ ListIamPermissionsGroupResponseBodyList.pipe(T.RawResponseRoot()),
1174
+ ).annotate({
1175
+ identifier: "ListIamPermissionsGroupResponse",
1176
+ }) as any as S.Schema<ListIamPermissionsGroupResponse>;
1177
+
1178
+ export type ListIamPolicyRequestActionList = Array<string>;
1179
+ export const ListIamPolicyRequestActionList = /*@__PURE__*/ S.Array(
1180
+ S.String,
1181
+ ) as any as S.Schema<ListIamPolicyRequestActionList>;
1182
+
1183
+ export type ListIamPolicyRequestIdentityList = Array<string>;
1184
+ export const ListIamPolicyRequestIdentityList = /*@__PURE__*/ S.Array(
1185
+ S.String,
1186
+ ) as any as S.Schema<ListIamPolicyRequestIdentityList>;
1187
+
1188
+ export type ListIamPolicyRequestResourceURNList = Array<string>;
1189
+ export const ListIamPolicyRequestResourceURNList = /*@__PURE__*/ S.Array(
1190
+ S.String,
1191
+ ) as any as S.Schema<ListIamPolicyRequestResourceURNList>;
1192
+
1193
+ export interface ListIamPolicyRequest {
1194
+ /** Filter on policies embedding the given IAM action */
1195
+ action?: ListIamPolicyRequestActionList;
1196
+ /** Add extra information about resources in output */
1197
+ details?: boolean;
1198
+ /** Filter on policies embedding the given identity */
1199
+ identity?: ListIamPolicyRequestIdentityList;
1200
+ /** Filter on the readOnly attribute */
1201
+ readOnly?: boolean;
1202
+ /** Filter on policies embedding the given resource URN */
1203
+ resourceURN?: ListIamPolicyRequestResourceURNList;
1204
+ /** Pagination cursor */
1205
+ xPaginationCursor?: string;
1206
+ /** Pagination size */
1207
+ xPaginationSize?: number;
1208
+ }
1209
+ export const ListIamPolicyRequest = /*@__PURE__*/ S.suspend(() =>
1210
+ S.Struct({
1211
+ action: S.optional(ListIamPolicyRequestActionList.pipe(T.Query())),
1212
+ details: S.optional(S.Boolean.pipe(T.Query())),
1213
+ identity: S.optional(ListIamPolicyRequestIdentityList.pipe(T.Query())),
1214
+ readOnly: S.optional(S.Boolean.pipe(T.Query())),
1215
+ resourceURN: S.optional(
1216
+ ListIamPolicyRequestResourceURNList.pipe(T.Query()),
1217
+ ),
1218
+ xPaginationCursor: S.optional(
1219
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1220
+ ),
1221
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1222
+ }).pipe(T.Http({ method: "GET", uri: "/iam/policy", code: 200 })),
1223
+ ).annotate({
1224
+ identifier: "ListIamPolicyRequest",
1225
+ }) as any as S.Schema<ListIamPolicyRequest>;
1226
+
1227
+ export type ListIamPolicyResponseBodyList = Array<IamPolicyResponse>;
1228
+ export const ListIamPolicyResponseBodyList = /*@__PURE__*/ S.Array(
1229
+ IamPolicyResponse,
1230
+ ) as any as S.Schema<ListIamPolicyResponseBodyList>;
1231
+
1232
+ export type ListIamPolicyResponse = ListIamPolicyResponseBodyList;
1233
+ export const ListIamPolicyResponse = /*@__PURE__*/ S.suspend(() =>
1234
+ ListIamPolicyResponseBodyList.pipe(T.RawResponseRoot()),
1235
+ ).annotate({
1236
+ identifier: "ListIamPolicyResponse",
1237
+ }) as any as S.Schema<ListIamPolicyResponse>;
1238
+
1239
+ export type ListIamReferenceActionRequestResourceTypeList = Array<string>;
1240
+ export const ListIamReferenceActionRequestResourceTypeList =
1241
+ /*@__PURE__*/ S.Array(
1242
+ S.String,
1243
+ ) as any as S.Schema<ListIamReferenceActionRequestResourceTypeList>;
1244
+
1245
+ export interface ListIamReferenceActionRequest {
1246
+ /** Filter actions for specific resource types */
1247
+ resourceType?: ListIamReferenceActionRequestResourceTypeList;
1248
+ /** Pagination cursor */
1249
+ xPaginationCursor?: string;
1250
+ /** Pagination size */
1251
+ xPaginationSize?: number;
1252
+ }
1253
+ export const ListIamReferenceActionRequest = /*@__PURE__*/ S.suspend(() =>
1254
+ S.Struct({
1255
+ resourceType: S.optional(
1256
+ ListIamReferenceActionRequestResourceTypeList.pipe(T.Query()),
1257
+ ),
1258
+ xPaginationCursor: S.optional(
1259
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1260
+ ),
1261
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1262
+ }).pipe(T.Http({ method: "GET", uri: "/iam/reference/action", code: 200 })),
1263
+ ).annotate({
1264
+ identifier: "ListIamReferenceActionRequest",
1265
+ }) as any as S.Schema<ListIamReferenceActionRequest>;
1266
+
1267
+ /** List of categories the action belongs to */
1268
+ export type IamReferenceActionCategoriesList = Array<string>;
1269
+ export const IamReferenceActionCategoriesList = /*@__PURE__*/ S.Array(
1270
+ S.String,
1271
+ ) as any as S.Schema<IamReferenceActionCategoriesList>;
1272
+
1273
+ /** Action that can be allowed or denied on a resource */
1274
+ export interface IamReferenceAction {
1275
+ /** Name of the action */
1276
+ action?: string;
1277
+ /** List of categories the action belongs to */
1278
+ categories?: IamReferenceActionCategoriesList;
1279
+ /** Description of the action */
1280
+ description?: string;
1281
+ /** Whether you can use the action with additional parameters */
1282
+ hasQueryParameters?: boolean;
1283
+ /** Resource type related to the action */
1284
+ resourceType?: string;
1285
+ }
1286
+ export const IamReferenceAction = /*@__PURE__*/ S.suspend(() =>
1287
+ S.Struct({
1288
+ action: S.optional(S.String),
1289
+ categories: S.optional(IamReferenceActionCategoriesList),
1290
+ description: S.optional(S.String),
1291
+ hasQueryParameters: S.optional(S.Boolean),
1292
+ resourceType: S.optional(S.String),
1293
+ }),
1294
+ ).annotate({
1295
+ identifier: "IamReferenceAction",
1296
+ }) as any as S.Schema<IamReferenceAction>;
1297
+
1298
+ export type ListIamReferenceActionResponseBodyList = Array<IamReferenceAction>;
1299
+ export const ListIamReferenceActionResponseBodyList = /*@__PURE__*/ S.Array(
1300
+ IamReferenceAction,
1301
+ ) as any as S.Schema<ListIamReferenceActionResponseBodyList>;
1302
+
1303
+ export type ListIamReferenceActionResponse =
1304
+ ListIamReferenceActionResponseBodyList;
1305
+ export const ListIamReferenceActionResponse = /*@__PURE__*/ S.suspend(() =>
1306
+ ListIamReferenceActionResponseBodyList.pipe(T.RawResponseRoot()),
1307
+ ).annotate({
1308
+ identifier: "ListIamReferenceActionResponse",
1309
+ }) as any as S.Schema<ListIamReferenceActionResponse>;
1310
+
1311
+ export interface ListIamReferenceResourceTypeRequest {
1312
+ /** Pagination cursor */
1313
+ xPaginationCursor?: string;
1314
+ /** Pagination size */
1315
+ xPaginationSize?: number;
1316
+ }
1317
+ export const ListIamReferenceResourceTypeRequest = /*@__PURE__*/ S.suspend(() =>
1318
+ S.Struct({
1319
+ xPaginationCursor: S.optional(
1320
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1321
+ ),
1322
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1323
+ }).pipe(
1324
+ T.Http({ method: "GET", uri: "/iam/reference/resource/type", code: 200 }),
1325
+ ),
1326
+ ).annotate({
1327
+ identifier: "ListIamReferenceResourceTypeRequest",
1328
+ }) as any as S.Schema<ListIamReferenceResourceTypeRequest>;
1329
+
1330
+ export type ListIamReferenceResourceTypeResponseBodyList = Array<string>;
1331
+ export const ListIamReferenceResourceTypeResponseBodyList =
1332
+ /*@__PURE__*/ S.Array(
1333
+ S.String,
1334
+ ) as any as S.Schema<ListIamReferenceResourceTypeResponseBodyList>;
1335
+
1336
+ export type ListIamReferenceResourceTypeResponse =
1337
+ ListIamReferenceResourceTypeResponseBodyList;
1338
+ export const ListIamReferenceResourceTypeResponse = /*@__PURE__*/ S.suspend(
1339
+ () => ListIamReferenceResourceTypeResponseBodyList.pipe(T.RawResponseRoot()),
1340
+ ).annotate({
1341
+ identifier: "ListIamReferenceResourceTypeResponse",
1342
+ }) as any as S.Schema<ListIamReferenceResourceTypeResponse>;
1343
+
1344
+ export type ListIamResourceRequestResourceNameList = Array<string>;
1345
+ export const ListIamResourceRequestResourceNameList = /*@__PURE__*/ S.Array(
1346
+ S.String,
1347
+ ) as any as S.Schema<ListIamResourceRequestResourceNameList>;
1348
+
1349
+ export type ListIamResourceRequestResourceTypeList = Array<string>;
1350
+ export const ListIamResourceRequestResourceTypeList = /*@__PURE__*/ S.Array(
1351
+ S.String,
1352
+ ) as any as S.Schema<ListIamResourceRequestResourceTypeList>;
1353
+
1354
+ export type ListIamResourceRequestResourceURNList = Array<string>;
1355
+ export const ListIamResourceRequestResourceURNList = /*@__PURE__*/ S.Array(
1356
+ S.String,
1357
+ ) as any as S.Schema<ListIamResourceRequestResourceURNList>;
1358
+
1359
+ /** Resource tag filter */
1360
+ export interface IamResourceTagFilterInput {}
1361
+ export const IamResourceTagFilterInput = /*@__PURE__*/ S.suspend(() =>
1362
+ S.Struct({}),
1363
+ ).annotate({
1364
+ identifier: "IamResourceTagFilterInput",
1365
+ }) as any as S.Schema<IamResourceTagFilterInput>;
1366
+
1367
+ export type ListIamResourceRequestTagsValueList =
1368
+ Array<IamResourceTagFilterInput>;
1369
+ export const ListIamResourceRequestTagsValueList = /*@__PURE__*/ S.Array(
1370
+ IamResourceTagFilterInput,
1371
+ ) as any as S.Schema<ListIamResourceRequestTagsValueList>;
1372
+
1373
+ export type ListIamResourceRequestTagsMap = {
1374
+ [key: string]: ListIamResourceRequestTagsValueList | undefined;
1375
+ };
1376
+ export const ListIamResourceRequestTagsMap = /*@__PURE__*/ S.Record(
1377
+ S.String,
1378
+ ListIamResourceRequestTagsValueList,
1379
+ ) as any as S.Schema<ListIamResourceRequestTagsMap>;
1380
+
1381
+ export interface ListIamResourceRequest {
1382
+ /** Filter resources for specific resource names */
1383
+ resourceName?: ListIamResourceRequestResourceNameList;
1384
+ /** Filter resources for specific resource types */
1385
+ resourceType?: ListIamResourceRequestResourceTypeList;
1386
+ /** Filter resources for specific resource URN patterns */
1387
+ resourceURN?: ListIamResourceRequestResourceURNList;
1388
+ /** Filter resources using tag filters */
1389
+ tags?: ListIamResourceRequestTagsMap;
1390
+ /** Pagination cursor */
1391
+ xPaginationCursor?: string;
1392
+ /** Pagination size */
1393
+ xPaginationSize?: number;
1394
+ }
1395
+ export const ListIamResourceRequest = /*@__PURE__*/ S.suspend(() =>
1396
+ S.Struct({
1397
+ resourceName: S.optional(
1398
+ ListIamResourceRequestResourceNameList.pipe(T.Query()),
1399
+ ),
1400
+ resourceType: S.optional(
1401
+ ListIamResourceRequestResourceTypeList.pipe(T.Query()),
1402
+ ),
1403
+ resourceURN: S.optional(
1404
+ ListIamResourceRequestResourceURNList.pipe(T.Query()),
1405
+ ),
1406
+ tags: S.optional(ListIamResourceRequestTagsMap.pipe(T.Query())),
1407
+ xPaginationCursor: S.optional(
1408
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1409
+ ),
1410
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1411
+ }).pipe(T.Http({ method: "GET", uri: "/iam/resource", code: 200 })),
1412
+ ).annotate({
1413
+ identifier: "ListIamResourceRequest",
1414
+ }) as any as S.Schema<ListIamResourceRequest>;
1415
+
1416
+ export type ListIamResourceResponseBodyList = Array<IamResourceResource>;
1417
+ export const ListIamResourceResponseBodyList = /*@__PURE__*/ S.Array(
1418
+ IamResourceResource,
1419
+ ) as any as S.Schema<ListIamResourceResponseBodyList>;
1420
+
1421
+ export type ListIamResourceResponse = ListIamResourceResponseBodyList;
1422
+ export const ListIamResourceResponse = /*@__PURE__*/ S.suspend(() =>
1423
+ ListIamResourceResponseBodyList.pipe(T.RawResponseRoot()),
1424
+ ).annotate({
1425
+ identifier: "ListIamResourceResponse",
1426
+ }) as any as S.Schema<ListIamResourceResponse>;
1427
+
1428
+ export interface ListIamResourceGroupRequest {
1429
+ /** Add extra information about resources in output */
1430
+ details?: boolean;
1431
+ /** Pagination cursor */
1432
+ xPaginationCursor?: string;
1433
+ /** Pagination size */
1434
+ xPaginationSize?: number;
1435
+ }
1436
+ export const ListIamResourceGroupRequest = /*@__PURE__*/ S.suspend(() =>
1437
+ S.Struct({
1438
+ details: S.optional(S.Boolean.pipe(T.Query())),
1439
+ xPaginationCursor: S.optional(
1440
+ S.String.pipe(T.Header("X-Pagination-Cursor")),
1441
+ ),
1442
+ xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
1443
+ }).pipe(T.Http({ method: "GET", uri: "/iam/resourceGroup", code: 200 })),
1444
+ ).annotate({
1445
+ identifier: "ListIamResourceGroupRequest",
1446
+ }) as any as S.Schema<ListIamResourceGroupRequest>;
1447
+
1448
+ export type ListIamResourceGroupResponseBodyList = Array<IamGroupResponse>;
1449
+ export const ListIamResourceGroupResponseBodyList = /*@__PURE__*/ S.Array(
1450
+ IamGroupResponse,
1451
+ ) as any as S.Schema<ListIamResourceGroupResponseBodyList>;
1452
+
1453
+ export type ListIamResourceGroupResponse = ListIamResourceGroupResponseBodyList;
1454
+ export const ListIamResourceGroupResponse = /*@__PURE__*/ S.suspend(() =>
1455
+ ListIamResourceGroupResponseBodyList.pipe(T.RawResponseRoot()),
1456
+ ).annotate({
1457
+ identifier: "ListIamResourceGroupResponse",
1458
+ }) as any as S.Schema<ListIamResourceGroupResponse>;
1459
+
1460
+ export interface PutIamPermissionsGroupRequest {
1461
+ /** Permissions groupurn */
1462
+ permissionsGroupURN: string;
1463
+ /** Description of the permissions group */
1464
+ description: string;
1465
+ /** Name of the permissions group */
1466
+ name: string;
1467
+ /** Permissions granted when using this permissions group */
1468
+ permissions: IamPolicyPermissions;
1469
+ }
1470
+ export const PutIamPermissionsGroupRequest = /*@__PURE__*/ S.suspend(() =>
1471
+ S.Struct({
1472
+ permissionsGroupURN: S.String.pipe(T.Label()),
1473
+ description: S.String,
1474
+ name: S.String,
1475
+ permissions: IamPolicyPermissions,
1476
+ }).pipe(
1477
+ T.Http({
1478
+ method: "PUT",
1479
+ uri: "/iam/permissionsGroup/{permissionsGroupURN}",
1480
+ code: 200,
1481
+ }),
1482
+ ),
1483
+ ).annotate({
1484
+ identifier: "PutIamPermissionsGroupRequest",
1485
+ }) as any as S.Schema<PutIamPermissionsGroupRequest>;
1486
+
1487
+ /** Recipients of the delegated resources */
1488
+ export type PutIamPolicyRequestIdentitiesList = Array<string>;
1489
+ export const PutIamPolicyRequestIdentitiesList = /*@__PURE__*/ S.Array(
1490
+ S.String,
1491
+ ) as any as S.Schema<PutIamPolicyRequestIdentitiesList>;
1492
+
1493
+ /** Permissions groups accorded to the recipients on the given resources */
1494
+ export type PutIamPolicyRequestPermissionsGroupsList =
1495
+ Array<IamPolicyPermissionsGroupInput>;
1496
+ export const PutIamPolicyRequestPermissionsGroupsList = /*@__PURE__*/ S.Array(
1497
+ IamPolicyPermissionsGroupInput,
1498
+ ) as any as S.Schema<PutIamPolicyRequestPermissionsGroupsList>;
1499
+
1500
+ /** Resources to delegate */
1501
+ export type PutIamPolicyRequestResourcesList = Array<IamPolicyResourceInput>;
1502
+ export const PutIamPolicyRequestResourcesList = /*@__PURE__*/ S.Array(
1503
+ IamPolicyResourceInput,
1504
+ ) as any as S.Schema<PutIamPolicyRequestResourcesList>;
1505
+
1506
+ export interface PutIamPolicyRequest {
1507
+ /** Policy ID */
1508
+ policyId: string;
1509
+ /** Conditions restrict permissions following resources, date or customer's information */
1510
+ conditions?: IamPolicyCondition | null;
1511
+ /** Description of the policy */
1512
+ description?: string;
1513
+ /** Expiration date of the policy, after this date it will no longer be applied */
1514
+ expiredAt?: string | null;
1515
+ /** Recipients of the delegated resources */
1516
+ identities: PutIamPolicyRequestIdentitiesList;
1517
+ /** Name of the policy */
1518
+ name: string;
1519
+ /** Permissions accorded to the recipients on the given resources */
1520
+ permissions: IamPolicyPermissions;
1521
+ /** Permissions groups accorded to the recipients on the given resources */
1522
+ permissionsGroups?: PutIamPolicyRequestPermissionsGroupsList | null;
1523
+ /** Resources to delegate */
1524
+ resources: PutIamPolicyRequestResourcesList;
1525
+ }
1526
+ export const PutIamPolicyRequest = /*@__PURE__*/ S.suspend(() =>
1527
+ S.Struct({
1528
+ policyId: S.String.pipe(T.Label()),
1529
+ conditions: S.optional(S.NullOr(IamPolicyCondition)),
1530
+ description: S.optional(S.String),
1531
+ expiredAt: S.optional(S.NullOr(S.String)),
1532
+ identities: PutIamPolicyRequestIdentitiesList,
1533
+ name: S.String,
1534
+ permissions: IamPolicyPermissions,
1535
+ permissionsGroups: S.optional(
1536
+ S.NullOr(PutIamPolicyRequestPermissionsGroupsList),
1537
+ ),
1538
+ resources: PutIamPolicyRequestResourcesList,
1539
+ }).pipe(T.Http({ method: "PUT", uri: "/iam/policy/{policyId}", code: 200 })),
1540
+ ).annotate({
1541
+ identifier: "PutIamPolicyRequest",
1542
+ }) as any as S.Schema<PutIamPolicyRequest>;
1543
+
1544
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
1545
+ export type PutIamResourceRequestTagsMap = {
1546
+ [key: string]: string | undefined;
1547
+ };
1548
+ export const PutIamResourceRequestTagsMap = /*@__PURE__*/ S.Record(
1549
+ S.String,
1550
+ S.String,
1551
+ ) as any as S.Schema<PutIamResourceRequestTagsMap>;
1552
+
1553
+ export interface PutIamResourceRequest {
1554
+ /** ResourceURN */
1555
+ resourceURN: string;
1556
+ /** Resource tags. Tags that were internally computed are prefixed with ovh: */
1557
+ tags?: PutIamResourceRequestTagsMap | null;
1558
+ }
1559
+ export const PutIamResourceRequest = /*@__PURE__*/ S.suspend(() =>
1560
+ S.Struct({
1561
+ resourceURN: S.String.pipe(T.Label()),
1562
+ tags: S.optional(S.NullOr(PutIamResourceRequestTagsMap)),
1563
+ }).pipe(
1564
+ T.Http({ method: "PUT", uri: "/iam/resource/{resourceURN}", code: 200 }),
1565
+ ),
1566
+ ).annotate({
1567
+ identifier: "PutIamResourceRequest",
1568
+ }) as any as S.Schema<PutIamResourceRequest>;
1569
+
1570
+ /** New list of resources of the group */
1571
+ export type PutIamResourceGroupRequestResourcesList =
1572
+ Array<IamGroupResourceInput>;
1573
+ export const PutIamResourceGroupRequestResourcesList = /*@__PURE__*/ S.Array(
1574
+ IamGroupResourceInput,
1575
+ ) as any as S.Schema<PutIamResourceGroupRequestResourcesList>;
1576
+
1577
+ export interface PutIamResourceGroupRequest {
1578
+ /** Group ID */
1579
+ groupId: string;
1580
+ /** New name of the group */
1581
+ name: string;
1582
+ /** New list of resources of the group */
1583
+ resources: PutIamResourceGroupRequestResourcesList;
1584
+ }
1585
+ export const PutIamResourceGroupRequest = /*@__PURE__*/ S.suspend(() =>
1586
+ S.Struct({
1587
+ groupId: S.String.pipe(T.Label()),
1588
+ name: S.String,
1589
+ resources: PutIamResourceGroupRequestResourcesList,
1590
+ }).pipe(
1591
+ T.Http({ method: "PUT", uri: "/iam/resourceGroup/{groupId}", code: 200 }),
1592
+ ),
1593
+ ).annotate({
1594
+ identifier: "PutIamResourceGroupRequest",
1595
+ }) as any as S.Schema<PutIamResourceGroupRequest>;
1596
+
1597
+ export type CheckIamAuthorizationError = OvhOpError;
1598
+ /** Validate your authorizations on given resources */
1599
+ export const checkIamAuthorization: API.OperationMethod<
1600
+ CheckIamAuthorizationRequest,
1601
+ CheckIamAuthorizationResponse,
1602
+ CheckIamAuthorizationError,
1603
+ OvhOpContext
1604
+ > = /*@__PURE__*/ API.make(() => ({
1605
+ input: CheckIamAuthorizationRequest,
1606
+ output: CheckIamAuthorizationResponse,
1607
+ errors: [UnknownOvhError],
1608
+ protocol: OvhProtocol,
1609
+ retry: Retry.Retry,
1610
+ }));
1611
+
1612
+ export type CheckIamResourceAuthorizationError = OvhOpError;
1613
+ /** Validate authorizations on a given resource */
1614
+ export const checkIamResourceAuthorization: API.OperationMethod<
1615
+ CheckIamResourceAuthorizationRequest,
1616
+ IamAuthorizeResponse,
1617
+ CheckIamResourceAuthorizationError,
1618
+ OvhOpContext
1619
+ > = /*@__PURE__*/ API.make(() => ({
1620
+ input: CheckIamResourceAuthorizationRequest,
1621
+ output: IamAuthorizeResponse,
1622
+ errors: [UnknownOvhError],
1623
+ protocol: OvhProtocol,
1624
+ retry: Retry.Retry,
1625
+ }));
1626
+
1627
+ export type CreateIamLogSubscriptionError = OvhOpError;
1628
+ /** Create a subscription from logs to a pre-existing LDP stream */
1629
+ export const createIamLogSubscription: API.OperationMethod<
1630
+ CreateIamLogSubscriptionRequest,
1631
+ DbaasLogsLogSubscriptionResponse,
1632
+ CreateIamLogSubscriptionError,
1633
+ OvhOpContext
1634
+ > = /*@__PURE__*/ API.make(() => ({
1635
+ input: CreateIamLogSubscriptionRequest,
1636
+ output: DbaasLogsLogSubscriptionResponse,
1637
+ errors: [UnknownOvhError],
1638
+ protocol: OvhProtocol,
1639
+ retry: Retry.Retry,
1640
+ }));
1641
+
1642
+ export type CreateIamLogUrlError = OvhOpError;
1643
+ /** Generate a temporary URL to retrieve logs */
1644
+ export const createIamLogUrl: API.OperationMethod<
1645
+ CreateIamLogUrlRequest,
1646
+ DbaasLogsTemporaryLogsLink,
1647
+ CreateIamLogUrlError,
1648
+ OvhOpContext
1649
+ > = /*@__PURE__*/ API.make(() => ({
1650
+ input: CreateIamLogUrlRequest,
1651
+ output: DbaasLogsTemporaryLogsLink,
1652
+ errors: [UnknownOvhError],
1653
+ protocol: OvhProtocol,
1654
+ retry: Retry.Retry,
1655
+ }));
1656
+
1657
+ export type CreateIamPermissionsGroupError = OvhOpError;
1658
+ /** Create a permissions group */
1659
+ export const createIamPermissionsGroup: API.OperationMethod<
1660
+ CreateIamPermissionsGroupRequest,
1661
+ IamPermissionsGroup,
1662
+ CreateIamPermissionsGroupError,
1663
+ OvhOpContext
1664
+ > = /*@__PURE__*/ API.make(() => ({
1665
+ input: CreateIamPermissionsGroupRequest,
1666
+ output: IamPermissionsGroup,
1667
+ errors: [UnknownOvhError],
1668
+ protocol: OvhProtocol,
1669
+ retry: Retry.Retry,
1670
+ }));
1671
+
1672
+ export type CreateIamPolicyError = OvhOpError;
1673
+ /** Create a new policy */
1674
+ export const createIamPolicy: API.OperationMethod<
1675
+ CreateIamPolicyRequest,
1676
+ IamPolicyResponse,
1677
+ CreateIamPolicyError,
1678
+ OvhOpContext
1679
+ > = /*@__PURE__*/ API.make(() => ({
1680
+ input: CreateIamPolicyRequest,
1681
+ output: IamPolicyResponse,
1682
+ errors: [UnknownOvhError],
1683
+ protocol: OvhProtocol,
1684
+ retry: Retry.Retry,
1685
+ }));
1686
+
1687
+ export type CreateIamResourceGroupError = OvhOpError;
1688
+ /** Create a new resource group */
1689
+ export const createIamResourceGroup: API.OperationMethod<
1690
+ CreateIamResourceGroupRequest,
1691
+ IamGroupResponse,
1692
+ CreateIamResourceGroupError,
1693
+ OvhOpContext
1694
+ > = /*@__PURE__*/ API.make(() => ({
1695
+ input: CreateIamResourceGroupRequest,
1696
+ output: IamGroupResponse,
1697
+ errors: [UnknownOvhError],
1698
+ protocol: OvhProtocol,
1699
+ retry: Retry.Retry,
1700
+ }));
1701
+
1702
+ export type CreateIamResourceTagError = OvhOpError;
1703
+ /** Add a tag to a resource Add a tag to a resource\ This action requires to be granted on action '$resourceType:apiovh:iam/resource/tag/add' (with $resourceType the type of the updated resource) */
1704
+ export const createIamResourceTag: API.OperationMethod<
1705
+ CreateIamResourceTagRequest,
1706
+ CreateIamResourceTagResponse,
1707
+ CreateIamResourceTagError,
1708
+ OvhOpContext
1709
+ > = /*@__PURE__*/ API.make(() => ({
1710
+ input: CreateIamResourceTagRequest,
1711
+ output: CreateIamResourceTagResponse,
1712
+ errors: [UnknownOvhError],
1713
+ protocol: OvhProtocol,
1714
+ retry: Retry.Retry,
1715
+ }));
1716
+
1717
+ export type DeleteIamLogSubscriptionError = OvhOpError;
1718
+ /** Delete a subscription */
1719
+ export const deleteIamLogSubscription: API.OperationMethod<
1720
+ DeleteIamLogSubscriptionRequest,
1721
+ DbaasLogsLogSubscriptionResponse,
1722
+ DeleteIamLogSubscriptionError,
1723
+ OvhOpContext
1724
+ > = /*@__PURE__*/ API.make(() => ({
1725
+ input: DeleteIamLogSubscriptionRequest,
1726
+ output: DbaasLogsLogSubscriptionResponse,
1727
+ errors: [UnknownOvhError],
1728
+ protocol: OvhProtocol,
1729
+ retry: Retry.Retry,
1730
+ }));
1731
+
1732
+ export type DeleteIamPermissionsGroupError = OvhOpError;
1733
+ /** Delete the given permissions group */
1734
+ export const deleteIamPermissionsGroup: API.OperationMethod<
1735
+ DeleteIamPermissionsGroupRequest,
1736
+ DeleteIamPermissionsGroupResponse,
1737
+ DeleteIamPermissionsGroupError,
1738
+ OvhOpContext
1739
+ > = /*@__PURE__*/ API.make(() => ({
1740
+ input: DeleteIamPermissionsGroupRequest,
1741
+ output: DeleteIamPermissionsGroupResponse,
1742
+ errors: [UnknownOvhError],
1743
+ protocol: OvhProtocol,
1744
+ retry: Retry.Retry,
1745
+ }));
1746
+
1747
+ export type DeleteIamPolicyError = OvhOpError;
1748
+ /** Delete the given policy */
1749
+ export const deleteIamPolicy: API.OperationMethod<
1750
+ DeleteIamPolicyRequest,
1751
+ DeleteIamPolicyResponse,
1752
+ DeleteIamPolicyError,
1753
+ OvhOpContext
1754
+ > = /*@__PURE__*/ API.make(() => ({
1755
+ input: DeleteIamPolicyRequest,
1756
+ output: DeleteIamPolicyResponse,
1757
+ errors: [UnknownOvhError],
1758
+ protocol: OvhProtocol,
1759
+ retry: Retry.Retry,
1760
+ }));
1761
+
1762
+ export type DeleteIamResourceGroupError = OvhOpError;
1763
+ /** Delete the given resource group */
1764
+ export const deleteIamResourceGroup: API.OperationMethod<
1765
+ DeleteIamResourceGroupRequest,
1766
+ DeleteIamResourceGroupResponse,
1767
+ DeleteIamResourceGroupError,
1768
+ OvhOpContext
1769
+ > = /*@__PURE__*/ API.make(() => ({
1770
+ input: DeleteIamResourceGroupRequest,
1771
+ output: DeleteIamResourceGroupResponse,
1772
+ errors: [UnknownOvhError],
1773
+ protocol: OvhProtocol,
1774
+ retry: Retry.Retry,
1775
+ }));
1776
+
1777
+ export type DeleteIamResourceTagError = OvhOpError;
1778
+ /** Remove a tag from a resource Remove a tag from a resource\ This action requires to be granted on action '$resourceType:apiovh:iam/resource/tag/remove' (with $resourceType the type of the updated resource) */
1779
+ export const deleteIamResourceTag: API.OperationMethod<
1780
+ DeleteIamResourceTagRequest,
1781
+ DeleteIamResourceTagResponse,
1782
+ DeleteIamResourceTagError,
1783
+ OvhOpContext
1784
+ > = /*@__PURE__*/ API.make(() => ({
1785
+ input: DeleteIamResourceTagRequest,
1786
+ output: DeleteIamResourceTagResponse,
1787
+ errors: [UnknownOvhError],
1788
+ protocol: OvhProtocol,
1789
+ retry: Retry.Retry,
1790
+ }));
1791
+
1792
+ export type GetIamLogKindError = OvhOpError;
1793
+ /** Get a log kind */
1794
+ export const getIamLogKind: API.OperationMethod<
1795
+ GetIamLogKindRequest,
1796
+ DbaasLogsLogKind,
1797
+ GetIamLogKindError,
1798
+ OvhOpContext
1799
+ > = /*@__PURE__*/ API.make(() => ({
1800
+ input: GetIamLogKindRequest,
1801
+ output: DbaasLogsLogKind,
1802
+ errors: [UnknownOvhError],
1803
+ protocol: OvhProtocol,
1804
+ retry: Retry.Retry,
1805
+ }));
1806
+
1807
+ export type GetIamLogSubscriptionError = OvhOpError;
1808
+ /** Get subscription details */
1809
+ export const getIamLogSubscription: API.OperationMethod<
1810
+ GetIamLogSubscriptionRequest,
1811
+ DbaasLogsLogSubscription,
1812
+ GetIamLogSubscriptionError,
1813
+ OvhOpContext
1814
+ > = /*@__PURE__*/ API.make(() => ({
1815
+ input: GetIamLogSubscriptionRequest,
1816
+ output: DbaasLogsLogSubscription,
1817
+ errors: [UnknownOvhError],
1818
+ protocol: OvhProtocol,
1819
+ retry: Retry.Retry,
1820
+ }));
1821
+
1822
+ export type GetIamPermissionsGroupError = OvhOpError;
1823
+ /** Retrieve the given permissions group */
1824
+ export const getIamPermissionsGroup: API.OperationMethod<
1825
+ GetIamPermissionsGroupRequest,
1826
+ IamPermissionsGroup,
1827
+ GetIamPermissionsGroupError,
1828
+ OvhOpContext
1829
+ > = /*@__PURE__*/ API.make(() => ({
1830
+ input: GetIamPermissionsGroupRequest,
1831
+ output: IamPermissionsGroup,
1832
+ errors: [UnknownOvhError],
1833
+ protocol: OvhProtocol,
1834
+ retry: Retry.Retry,
1835
+ }));
1836
+
1837
+ export type GetIamPolicyError = OvhOpError;
1838
+ /** Retrieve the given policy */
1839
+ export const getIamPolicy: API.OperationMethod<
1840
+ GetIamPolicyRequest,
1841
+ IamPolicyResponse,
1842
+ GetIamPolicyError,
1843
+ OvhOpContext
1844
+ > = /*@__PURE__*/ API.make(() => ({
1845
+ input: GetIamPolicyRequest,
1846
+ output: IamPolicyResponse,
1847
+ errors: [UnknownOvhError],
1848
+ protocol: OvhProtocol,
1849
+ retry: Retry.Retry,
1850
+ }));
1851
+
1852
+ export type GetIamResourceError = OvhOpError;
1853
+ /** Retrieve a resource */
1854
+ export const getIamResource: API.OperationMethod<
1855
+ GetIamResourceRequest,
1856
+ IamResourceResource,
1857
+ GetIamResourceError,
1858
+ OvhOpContext
1859
+ > = /*@__PURE__*/ API.make(() => ({
1860
+ input: GetIamResourceRequest,
1861
+ output: IamResourceResource,
1862
+ errors: [UnknownOvhError],
1863
+ protocol: OvhProtocol,
1864
+ retry: Retry.Retry,
1865
+ }));
1866
+
1867
+ export type GetIamResourceGroupError = OvhOpError;
1868
+ /** Retrieve the given resource group */
1869
+ export const getIamResourceGroup: API.OperationMethod<
1870
+ GetIamResourceGroupRequest,
1871
+ IamGroupResponse,
1872
+ GetIamResourceGroupError,
1873
+ OvhOpContext
1874
+ > = /*@__PURE__*/ API.make(() => ({
1875
+ input: GetIamResourceGroupRequest,
1876
+ output: IamGroupResponse,
1877
+ errors: [UnknownOvhError],
1878
+ protocol: OvhProtocol,
1879
+ retry: Retry.Retry,
1880
+ }));
1881
+
1882
+ export type ListIamLogKindError = OvhOpError;
1883
+ /** List available log kinds */
1884
+ export const listIamLogKind: API.OperationMethod<
1885
+ ListIamLogKindRequest,
1886
+ ListIamLogKindResponse,
1887
+ ListIamLogKindError,
1888
+ OvhOpContext
1889
+ > = /*@__PURE__*/ API.make(() => ({
1890
+ input: ListIamLogKindRequest,
1891
+ output: ListIamLogKindResponse,
1892
+ errors: [UnknownOvhError],
1893
+ protocol: OvhProtocol,
1894
+ retry: Retry.Retry,
1895
+ }));
1896
+
1897
+ export type ListIamLogSubscriptionError = OvhOpError;
1898
+ /** List subscription IDs for a cluster */
1899
+ export const listIamLogSubscription: API.OperationMethod<
1900
+ ListIamLogSubscriptionRequest,
1901
+ ListIamLogSubscriptionResponse,
1902
+ ListIamLogSubscriptionError,
1903
+ OvhOpContext
1904
+ > = /*@__PURE__*/ API.make(() => ({
1905
+ input: ListIamLogSubscriptionRequest,
1906
+ output: ListIamLogSubscriptionResponse,
1907
+ errors: [UnknownOvhError],
1908
+ protocol: OvhProtocol,
1909
+ retry: Retry.Retry,
1910
+ }));
1911
+
1912
+ export type ListIamPermissionsGroupError = OvhOpError;
1913
+ /** Retrieve all permissions groups */
1914
+ export const listIamPermissionsGroup: API.OperationMethod<
1915
+ ListIamPermissionsGroupRequest,
1916
+ ListIamPermissionsGroupResponse,
1917
+ ListIamPermissionsGroupError,
1918
+ OvhOpContext
1919
+ > = /*@__PURE__*/ API.make(() => ({
1920
+ input: ListIamPermissionsGroupRequest,
1921
+ output: ListIamPermissionsGroupResponse,
1922
+ errors: [UnknownOvhError],
1923
+ protocol: OvhProtocol,
1924
+ retry: Retry.Retry,
1925
+ }));
1926
+
1927
+ export type ListIamPolicyError = OvhOpError;
1928
+ /** Retrieve all policies */
1929
+ export const listIamPolicy: API.OperationMethod<
1930
+ ListIamPolicyRequest,
1931
+ ListIamPolicyResponse,
1932
+ ListIamPolicyError,
1933
+ OvhOpContext
1934
+ > = /*@__PURE__*/ API.make(() => ({
1935
+ input: ListIamPolicyRequest,
1936
+ output: ListIamPolicyResponse,
1937
+ errors: [UnknownOvhError],
1938
+ protocol: OvhProtocol,
1939
+ retry: Retry.Retry,
1940
+ }));
1941
+
1942
+ export type ListIamReferenceActionError = OvhOpError;
1943
+ /** Retrieve all actions */
1944
+ export const listIamReferenceAction: API.OperationMethod<
1945
+ ListIamReferenceActionRequest,
1946
+ ListIamReferenceActionResponse,
1947
+ ListIamReferenceActionError,
1948
+ OvhOpContext
1949
+ > = /*@__PURE__*/ API.make(() => ({
1950
+ input: ListIamReferenceActionRequest,
1951
+ output: ListIamReferenceActionResponse,
1952
+ errors: [UnknownOvhError],
1953
+ protocol: OvhProtocol,
1954
+ retry: Retry.Retry,
1955
+ }));
1956
+
1957
+ export type ListIamReferenceResourceTypeError = OvhOpError;
1958
+ /** Retrieve all resource types */
1959
+ export const listIamReferenceResourceType: API.OperationMethod<
1960
+ ListIamReferenceResourceTypeRequest,
1961
+ ListIamReferenceResourceTypeResponse,
1962
+ ListIamReferenceResourceTypeError,
1963
+ OvhOpContext
1964
+ > = /*@__PURE__*/ API.make(() => ({
1965
+ input: ListIamReferenceResourceTypeRequest,
1966
+ output: ListIamReferenceResourceTypeResponse,
1967
+ errors: [UnknownOvhError],
1968
+ protocol: OvhProtocol,
1969
+ retry: Retry.Retry,
1970
+ }));
1971
+
1972
+ export type ListIamResourceError = OvhOpError;
1973
+ /** List all resources */
1974
+ export const listIamResource: API.OperationMethod<
1975
+ ListIamResourceRequest,
1976
+ ListIamResourceResponse,
1977
+ ListIamResourceError,
1978
+ OvhOpContext
1979
+ > = /*@__PURE__*/ API.make(() => ({
1980
+ input: ListIamResourceRequest,
1981
+ output: ListIamResourceResponse,
1982
+ errors: [UnknownOvhError],
1983
+ protocol: OvhProtocol,
1984
+ retry: Retry.Retry,
1985
+ }));
1986
+
1987
+ export type ListIamResourceGroupError = OvhOpError;
1988
+ /** Retrieve all resource groups */
1989
+ export const listIamResourceGroup: API.OperationMethod<
1990
+ ListIamResourceGroupRequest,
1991
+ ListIamResourceGroupResponse,
1992
+ ListIamResourceGroupError,
1993
+ OvhOpContext
1994
+ > = /*@__PURE__*/ API.make(() => ({
1995
+ input: ListIamResourceGroupRequest,
1996
+ output: ListIamResourceGroupResponse,
1997
+ errors: [UnknownOvhError],
1998
+ protocol: OvhProtocol,
1999
+ retry: Retry.Retry,
2000
+ }));
2001
+
2002
+ export type PutIamPermissionsGroupError = OvhOpError;
2003
+ /** Update a permissions group */
2004
+ export const putIamPermissionsGroup: API.OperationMethod<
2005
+ PutIamPermissionsGroupRequest,
2006
+ IamPermissionsGroup,
2007
+ PutIamPermissionsGroupError,
2008
+ OvhOpContext
2009
+ > = /*@__PURE__*/ API.make(() => ({
2010
+ input: PutIamPermissionsGroupRequest,
2011
+ output: IamPermissionsGroup,
2012
+ errors: [UnknownOvhError],
2013
+ protocol: OvhProtocol,
2014
+ retry: Retry.Retry,
2015
+ }));
2016
+
2017
+ export type PutIamPolicyError = OvhOpError;
2018
+ /** Update an existing policy */
2019
+ export const putIamPolicy: API.OperationMethod<
2020
+ PutIamPolicyRequest,
2021
+ IamPolicyResponse,
2022
+ PutIamPolicyError,
2023
+ OvhOpContext
2024
+ > = /*@__PURE__*/ API.make(() => ({
2025
+ input: PutIamPolicyRequest,
2026
+ output: IamPolicyResponse,
2027
+ errors: [UnknownOvhError],
2028
+ protocol: OvhProtocol,
2029
+ retry: Retry.Retry,
2030
+ }));
2031
+
2032
+ export type PutIamResourceError = OvhOpError;
2033
+ /** Update an existing resource Update an existing resource\ Depending on the update, you will require specific grants on this resource: - Adding tag(s) requires action '$resourceType:apiovh:iam/resource/tag/add' - Removing tag(s) requires action '$resourceType:apiovh:iam/resource/tag/remove' (with $resourceType the type of the updated resource) */
2034
+ export const putIamResource: API.OperationMethod<
2035
+ PutIamResourceRequest,
2036
+ IamResourceResource,
2037
+ PutIamResourceError,
2038
+ OvhOpContext
2039
+ > = /*@__PURE__*/ API.make(() => ({
2040
+ input: PutIamResourceRequest,
2041
+ output: IamResourceResource,
2042
+ errors: [UnknownOvhError],
2043
+ protocol: OvhProtocol,
2044
+ retry: Retry.Retry,
2045
+ }));
2046
+
2047
+ export type PutIamResourceGroupError = OvhOpError;
2048
+ /** Update an existing resource group */
2049
+ export const putIamResourceGroup: API.OperationMethod<
2050
+ PutIamResourceGroupRequest,
2051
+ IamGroupResponse,
2052
+ PutIamResourceGroupError,
2053
+ OvhOpContext
2054
+ > = /*@__PURE__*/ API.make(() => ({
2055
+ input: PutIamResourceGroupRequest,
2056
+ output: IamGroupResponse,
2057
+ errors: [UnknownOvhError],
2058
+ protocol: OvhProtocol,
2059
+ retry: Retry.Retry,
2060
+ }));