@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.
- package/LICENSE +201 -0
- package/lib/credentials.d.ts +38 -0
- package/lib/credentials.d.ts.map +1 -0
- package/lib/credentials.js +54 -0
- package/lib/credentials.js.map +1 -0
- package/lib/errors.d.ts +36 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +26 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +22 -0
- package/lib/index.js.map +1 -0
- package/lib/pagination.d.ts +8 -0
- package/lib/pagination.d.ts.map +1 -0
- package/lib/pagination.js +8 -0
- package/lib/pagination.js.map +1 -0
- package/lib/protocol.d.ts +18 -0
- package/lib/protocol.d.ts.map +1 -0
- package/lib/protocol.js +60 -0
- package/lib/protocol.js.map +1 -0
- package/lib/retry.d.ts +32 -0
- package/lib/retry.d.ts.map +1 -0
- package/lib/retry.js +32 -0
- package/lib/retry.js.map +1 -0
- package/lib/services/baremetal.d.ts +3551 -0
- package/lib/services/baremetal.d.ts.map +1 -0
- package/lib/services/baremetal.js +4187 -0
- package/lib/services/baremetal.js.map +1 -0
- package/lib/services/cloud.d.ts +26011 -0
- package/lib/services/cloud.d.ts.map +1 -0
- package/lib/services/cloud.js +31061 -0
- package/lib/services/cloud.js.map +1 -0
- package/lib/services/cloud_v2.d.ts +5642 -0
- package/lib/services/cloud_v2.d.ts.map +1 -0
- package/lib/services/cloud_v2.js +5733 -0
- package/lib/services/cloud_v2.js.map +1 -0
- package/lib/services/dedicatedceph.d.ts +747 -0
- package/lib/services/dedicatedceph.d.ts.map +1 -0
- package/lib/services/dedicatedceph.js +960 -0
- package/lib/services/dedicatedceph.js.map +1 -0
- package/lib/services/dedicatednasha.d.ts +755 -0
- package/lib/services/dedicatednasha.d.ts.map +1 -0
- package/lib/services/dedicatednasha.js +965 -0
- package/lib/services/dedicatednasha.js.map +1 -0
- package/lib/services/domain.d.ts +2995 -0
- package/lib/services/domain.d.ts.map +1 -0
- package/lib/services/domain.js +3078 -0
- package/lib/services/domain.js.map +1 -0
- package/lib/services/emaildomain.d.ts +1913 -0
- package/lib/services/emaildomain.d.ts.map +1 -0
- package/lib/services/emaildomain.js +2550 -0
- package/lib/services/emaildomain.js.map +1 -0
- package/lib/services/emailmxplan.d.ts +1012 -0
- package/lib/services/emailmxplan.d.ts.map +1 -0
- package/lib/services/emailmxplan.js +1155 -0
- package/lib/services/emailmxplan.js.map +1 -0
- package/lib/services/emailpro.d.ts +1287 -0
- package/lib/services/emailpro.d.ts.map +1 -0
- package/lib/services/emailpro.js +1471 -0
- package/lib/services/emailpro.js.map +1 -0
- package/lib/services/hostingprivatedatabase.d.ts +1402 -0
- package/lib/services/hostingprivatedatabase.d.ts.map +1 -0
- package/lib/services/hostingprivatedatabase.js +1829 -0
- package/lib/services/hostingprivatedatabase.js.map +1 -0
- package/lib/services/iam.d.ts +829 -0
- package/lib/services/iam.d.ts.map +1 -0
- package/lib/services/iam.js +793 -0
- package/lib/services/iam.js.map +1 -0
- package/lib/services/index.d.ts +31 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +32 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/ip.d.ts +1417 -0
- package/lib/services/ip.d.ts.map +1 -0
- package/lib/services/ip.js +1690 -0
- package/lib/services/ip.js.map +1 -0
- package/lib/services/iploadbalancing.d.ts +3059 -0
- package/lib/services/iploadbalancing.d.ts.map +1 -0
- package/lib/services/iploadbalancing.js +3553 -0
- package/lib/services/iploadbalancing.js.map +1 -0
- package/lib/services/ldp.d.ts +2492 -0
- package/lib/services/ldp.d.ts.map +1 -0
- package/lib/services/ldp.js +3067 -0
- package/lib/services/ldp.js.map +1 -0
- package/lib/services/me.d.ts +7511 -0
- package/lib/services/me.d.ts.map +1 -0
- package/lib/services/me.js +8874 -0
- package/lib/services/me.js.map +1 -0
- package/lib/services/overthebox.d.ts +981 -0
- package/lib/services/overthebox.d.ts.map +1 -0
- package/lib/services/overthebox.js +1122 -0
- package/lib/services/overthebox.js.map +1 -0
- package/lib/services/ovhcloudconnect.d.ts +1123 -0
- package/lib/services/ovhcloudconnect.d.ts.map +1 -0
- package/lib/services/ovhcloudconnect.js +1351 -0
- package/lib/services/ovhcloudconnect.js.map +1 -0
- package/lib/services/packxdsl.d.ts +1583 -0
- package/lib/services/packxdsl.d.ts.map +1 -0
- package/lib/services/packxdsl.js +1787 -0
- package/lib/services/packxdsl.js.map +1 -0
- package/lib/services/sms.d.ts +2602 -0
- package/lib/services/sms.d.ts.map +1 -0
- package/lib/services/sms.js +2995 -0
- package/lib/services/sms.js.map +1 -0
- package/lib/services/sslgateway.d.ts +493 -0
- package/lib/services/sslgateway.d.ts.map +1 -0
- package/lib/services/sslgateway.js +569 -0
- package/lib/services/sslgateway.js.map +1 -0
- package/lib/services/storagenetapp.d.ts +859 -0
- package/lib/services/storagenetapp.d.ts.map +1 -0
- package/lib/services/storagenetapp.js +1020 -0
- package/lib/services/storagenetapp.js.map +1 -0
- package/lib/services/support.d.ts +233 -0
- package/lib/services/support.d.ts.map +1 -0
- package/lib/services/support.js +237 -0
- package/lib/services/support.js.map +1 -0
- package/lib/services/telephony.d.ts +10825 -0
- package/lib/services/telephony.d.ts.map +1 -0
- package/lib/services/telephony.js +14877 -0
- package/lib/services/telephony.js.map +1 -0
- package/lib/services/vmwareclouddirectorbackup.d.ts +784 -0
- package/lib/services/vmwareclouddirectorbackup.d.ts.map +1 -0
- package/lib/services/vmwareclouddirectorbackup.js +841 -0
- package/lib/services/vmwareclouddirectorbackup.js.map +1 -0
- package/lib/services/vmwareclouddirectororganization.d.ts +784 -0
- package/lib/services/vmwareclouddirectororganization.d.ts.map +1 -0
- package/lib/services/vmwareclouddirectororganization.js +841 -0
- package/lib/services/vmwareclouddirectororganization.js.map +1 -0
- package/lib/services/vps.d.ts +1579 -0
- package/lib/services/vps.d.ts.map +1 -0
- package/lib/services/vps.js +1914 -0
- package/lib/services/vps.js.map +1 -0
- package/lib/services/vrack.d.ts +1204 -0
- package/lib/services/vrack.d.ts.map +1 -0
- package/lib/services/vrack.js +1627 -0
- package/lib/services/vrack.js.map +1 -0
- package/lib/services/vrackservices.d.ts +394 -0
- package/lib/services/vrackservices.d.ts.map +1 -0
- package/lib/services/vrackservices.js +355 -0
- package/lib/services/vrackservices.js.map +1 -0
- package/lib/services/webhosting.d.ts +3986 -0
- package/lib/services/webhosting.d.ts.map +1 -0
- package/lib/services/webhosting.js +4522 -0
- package/lib/services/webhosting.js.map +1 -0
- package/lib/services/xdsl.d.ts +3433 -0
- package/lib/services/xdsl.d.ts.map +1 -0
- package/lib/services/xdsl.js +3681 -0
- package/lib/services/xdsl.js.map +1 -0
- package/lib/traits.d.ts +11 -0
- package/lib/traits.d.ts.map +1 -0
- package/lib/traits.js +11 -0
- package/lib/traits.js.map +1 -0
- package/package.json +77 -6
- package/src/credentials.ts +77 -0
- package/src/errors.ts +50 -0
- package/src/index.ts +21 -0
- package/src/pagination.ts +7 -0
- package/src/protocol.ts +86 -0
- package/src/retry.ts +54 -0
- package/src/services/baremetal.ts +10949 -0
- package/src/services/cloud.ts +75466 -0
- package/src/services/cloud_v2.ts +14725 -0
- package/src/services/dedicatedceph.ts +2231 -0
- package/src/services/dedicatednasha.ts +2268 -0
- package/src/services/domain.ts +7996 -0
- package/src/services/emaildomain.ts +5751 -0
- package/src/services/emailmxplan.ts +2764 -0
- package/src/services/emailpro.ts +3519 -0
- package/src/services/hostingprivatedatabase.ts +4214 -0
- package/src/services/iam.ts +2060 -0
- package/src/services/index.ts +31 -0
- package/src/services/ip.ts +4461 -0
- package/src/services/iploadbalancing.ts +8421 -0
- package/src/services/ldp.ts +7269 -0
- package/src/services/me.ts +21716 -0
- package/src/services/overthebox.ts +2693 -0
- package/src/services/ovhcloudconnect.ts +3224 -0
- package/src/services/packxdsl.ts +4619 -0
- package/src/services/sms.ts +7255 -0
- package/src/services/sslgateway.ts +1408 -0
- package/src/services/storagenetapp.ts +2431 -0
- package/src/services/support.ts +598 -0
- package/src/services/telephony.ts +32926 -0
- package/src/services/vmwareclouddirectorbackup.ts +2170 -0
- package/src/services/vmwareclouddirectororganization.ts +2170 -0
- package/src/services/vps.ts +5134 -0
- package/src/services/vrack.ts +3730 -0
- package/src/services/vrackservices.ts +939 -0
- package/src/services/webhosting.ts +11285 -0
- package/src/services/xdsl.ts +9277 -0
- package/src/traits.ts +44 -0
|
@@ -0,0 +1,939 @@
|
|
|
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 C from "@distilled.cloud/core/category";
|
|
5
|
+
import * as T from "../traits.ts";
|
|
6
|
+
import {
|
|
7
|
+
OvhProtocol,
|
|
8
|
+
type OvhOpError,
|
|
9
|
+
type OvhOpContext,
|
|
10
|
+
} from "../protocol.ts";
|
|
11
|
+
import { UnknownOvhError } from "../errors.ts";
|
|
12
|
+
import * as Retry from "../retry.ts";
|
|
13
|
+
|
|
14
|
+
export type { OvhOpError, OvhOpContext };
|
|
15
|
+
|
|
16
|
+
export class BadRequest
|
|
17
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
18
|
+
/*@__PURE__*/ S.TaggedError<BadRequest>()("BadRequest", {
|
|
19
|
+
code: S.Number,
|
|
20
|
+
message: S.String,
|
|
21
|
+
}).pipe(C.withBadRequestError),
|
|
22
|
+
[{ status: 400 }],
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
export class NotFound
|
|
26
|
+
extends /*@__PURE__*/ T.applyErrorMatchers(
|
|
27
|
+
/*@__PURE__*/ S.TaggedError<NotFound>()("NotFound", {
|
|
28
|
+
code: S.Number,
|
|
29
|
+
message: S.String,
|
|
30
|
+
}).pipe(C.withBadRequestError),
|
|
31
|
+
[{ status: 404 }],
|
|
32
|
+
) {}
|
|
33
|
+
|
|
34
|
+
export interface GetVrackServiceResourceRequest {
|
|
35
|
+
/** Vrack services ID */
|
|
36
|
+
vrackServicesId: string;
|
|
37
|
+
}
|
|
38
|
+
export const GetVrackServiceResourceRequest = /*@__PURE__*/ S.suspend(() =>
|
|
39
|
+
S.Struct({
|
|
40
|
+
vrackServicesId: S.String.pipe(T.Label()),
|
|
41
|
+
}).pipe(
|
|
42
|
+
T.Http({
|
|
43
|
+
method: "GET",
|
|
44
|
+
uri: "/vrackServices/resource/{vrackServicesId}",
|
|
45
|
+
code: 200,
|
|
46
|
+
}),
|
|
47
|
+
),
|
|
48
|
+
).annotate({
|
|
49
|
+
identifier: "GetVrackServiceResourceRequest",
|
|
50
|
+
}) as any as S.Schema<GetVrackServiceResourceRequest>;
|
|
51
|
+
|
|
52
|
+
/** ProductStatusEnum */
|
|
53
|
+
export type VrackServicesProductStatusEnum = "ACTIVE" | "DRAFT" | "SUSPENDED";
|
|
54
|
+
export const VrackServicesProductStatusEnum = S.String;
|
|
55
|
+
|
|
56
|
+
/** Endpoint holding a managed service IP */
|
|
57
|
+
export interface VrackServicesEndpoint {
|
|
58
|
+
/** IP description defined in the managed service */
|
|
59
|
+
description?: string;
|
|
60
|
+
/** IP address assigned by OVHcloud */
|
|
61
|
+
ip?: string;
|
|
62
|
+
}
|
|
63
|
+
export const VrackServicesEndpoint = /*@__PURE__*/ S.suspend(() =>
|
|
64
|
+
S.Struct({
|
|
65
|
+
description: S.optional(S.String),
|
|
66
|
+
ip: S.optional(S.String),
|
|
67
|
+
}),
|
|
68
|
+
).annotate({
|
|
69
|
+
identifier: "VrackServicesEndpoint",
|
|
70
|
+
}) as any as S.Schema<VrackServicesEndpoint>;
|
|
71
|
+
|
|
72
|
+
/** Endpoints representing the IPs assigned to the managed services */
|
|
73
|
+
export type VrackServicesServiceEndpointEndpointsList =
|
|
74
|
+
Array<VrackServicesEndpoint>;
|
|
75
|
+
export const VrackServicesServiceEndpointEndpointsList = /*@__PURE__*/ S.Array(
|
|
76
|
+
VrackServicesEndpoint,
|
|
77
|
+
) as any as S.Schema<VrackServicesServiceEndpointEndpointsList>;
|
|
78
|
+
|
|
79
|
+
/** A Service Endpoint provides an access to managed services directly from one or several private IPs in the associated vRack */
|
|
80
|
+
export interface VrackServicesServiceEndpoint {
|
|
81
|
+
/** Endpoints representing the IPs assigned to the managed services */
|
|
82
|
+
endpoints?: VrackServicesServiceEndpointEndpointsList;
|
|
83
|
+
/** IAM Resource URN of the managed service. Compatible managed service types are listed by /reference/compatibleManagedServiceType call. */
|
|
84
|
+
managedServiceURN?: string;
|
|
85
|
+
}
|
|
86
|
+
export const VrackServicesServiceEndpoint = /*@__PURE__*/ S.suspend(() =>
|
|
87
|
+
S.Struct({
|
|
88
|
+
endpoints: S.optional(VrackServicesServiceEndpointEndpointsList),
|
|
89
|
+
managedServiceURN: S.optional(S.String),
|
|
90
|
+
}),
|
|
91
|
+
).annotate({
|
|
92
|
+
identifier: "VrackServicesServiceEndpoint",
|
|
93
|
+
}) as any as S.Schema<VrackServicesServiceEndpoint>;
|
|
94
|
+
|
|
95
|
+
/** Service endpoints of the subnet */
|
|
96
|
+
export type VrackServicesSubnetServiceEndpointsList =
|
|
97
|
+
Array<VrackServicesServiceEndpoint>;
|
|
98
|
+
export const VrackServicesSubnetServiceEndpointsList = /*@__PURE__*/ S.Array(
|
|
99
|
+
VrackServicesServiceEndpoint,
|
|
100
|
+
) as any as S.Schema<VrackServicesSubnetServiceEndpointsList>;
|
|
101
|
+
|
|
102
|
+
/** Definition of the range dedicated to the subnet's services */
|
|
103
|
+
export interface VrackServicesServiceRange {
|
|
104
|
+
/** CIDR dedicated to the subnet's services */
|
|
105
|
+
cidr?: string;
|
|
106
|
+
/** Number of remaining IPs in the service range */
|
|
107
|
+
remainingIps?: number;
|
|
108
|
+
/** Number of service range IPs reserved by OVHcloud */
|
|
109
|
+
reservedIps?: number;
|
|
110
|
+
/** Number of service range IPs assigned to the managed services */
|
|
111
|
+
usedIps?: number;
|
|
112
|
+
}
|
|
113
|
+
export const VrackServicesServiceRange = /*@__PURE__*/ S.suspend(() =>
|
|
114
|
+
S.Struct({
|
|
115
|
+
cidr: S.optional(S.String),
|
|
116
|
+
remainingIps: S.optional(S.Number),
|
|
117
|
+
reservedIps: S.optional(S.Number),
|
|
118
|
+
usedIps: S.optional(S.Number),
|
|
119
|
+
}),
|
|
120
|
+
).annotate({
|
|
121
|
+
identifier: "VrackServicesServiceRange",
|
|
122
|
+
}) as any as S.Schema<VrackServicesServiceRange>;
|
|
123
|
+
|
|
124
|
+
/** A network segment of the associated vRack. It represents an IP addressing scheme inside the private network */
|
|
125
|
+
export interface VrackServicesSubnet {
|
|
126
|
+
/** IP address range of the subnet in CIDR format */
|
|
127
|
+
cidr?: string;
|
|
128
|
+
/** Display name of the subnet */
|
|
129
|
+
displayName?: string | null;
|
|
130
|
+
/** Service endpoints of the subnet */
|
|
131
|
+
serviceEndpoints?: VrackServicesSubnetServiceEndpointsList;
|
|
132
|
+
/** Defines a smaller subnet dedicated to the managed services IPs */
|
|
133
|
+
serviceRange?: VrackServicesServiceRange;
|
|
134
|
+
/** Unique inner VLAN that allows subnets segregation */
|
|
135
|
+
vlan?: number | null;
|
|
136
|
+
}
|
|
137
|
+
export const VrackServicesSubnet = /*@__PURE__*/ S.suspend(() =>
|
|
138
|
+
S.Struct({
|
|
139
|
+
cidr: S.optional(S.String),
|
|
140
|
+
displayName: S.optional(S.NullOr(S.String)),
|
|
141
|
+
serviceEndpoints: S.optional(VrackServicesSubnetServiceEndpointsList),
|
|
142
|
+
serviceRange: S.optional(VrackServicesServiceRange),
|
|
143
|
+
vlan: S.optional(S.NullOr(S.Number)),
|
|
144
|
+
}),
|
|
145
|
+
).annotate({
|
|
146
|
+
identifier: "VrackServicesSubnet",
|
|
147
|
+
}) as any as S.Schema<VrackServicesSubnet>;
|
|
148
|
+
|
|
149
|
+
/** Subnets of the current vRack Services */
|
|
150
|
+
export type VrackServicesVrackServicesCurrentStateSubnetsList =
|
|
151
|
+
Array<VrackServicesSubnet>;
|
|
152
|
+
export const VrackServicesVrackServicesCurrentStateSubnetsList =
|
|
153
|
+
/*@__PURE__*/ S.Array(
|
|
154
|
+
VrackServicesSubnet,
|
|
155
|
+
) as any as S.Schema<VrackServicesVrackServicesCurrentStateSubnetsList>;
|
|
156
|
+
|
|
157
|
+
/** Current state of the vRack Services */
|
|
158
|
+
export interface VrackServicesVrackServicesCurrentState {
|
|
159
|
+
/** Product status of the vRack Services */
|
|
160
|
+
productStatus?: VrackServicesProductStatusEnum;
|
|
161
|
+
/** Region of the vRack Services. List of compatible regions can be retrieved from /reference/region */
|
|
162
|
+
region?: string;
|
|
163
|
+
/** Subnets of the current vRack Services */
|
|
164
|
+
subnets?: VrackServicesVrackServicesCurrentStateSubnetsList;
|
|
165
|
+
/** vRack associated to the vRack Services */
|
|
166
|
+
vrackId?: string | null;
|
|
167
|
+
}
|
|
168
|
+
export const VrackServicesVrackServicesCurrentState = /*@__PURE__*/ S.suspend(
|
|
169
|
+
() =>
|
|
170
|
+
S.Struct({
|
|
171
|
+
productStatus: S.optional(VrackServicesProductStatusEnum),
|
|
172
|
+
region: S.optional(S.String),
|
|
173
|
+
subnets: S.optional(VrackServicesVrackServicesCurrentStateSubnetsList),
|
|
174
|
+
vrackId: S.optional(S.NullOr(S.String)),
|
|
175
|
+
}),
|
|
176
|
+
).annotate({
|
|
177
|
+
identifier: "VrackServicesVrackServicesCurrentState",
|
|
178
|
+
}) as any as S.Schema<VrackServicesVrackServicesCurrentState>;
|
|
179
|
+
|
|
180
|
+
/** Current status of a task. A task in ERROR cannot be retried without your inputs. PENDING tasks will be executed as soon as possible. A RUNNING task is currently executing your original request. SCHEDULED is used for tasks that will be executed in the future */
|
|
181
|
+
export type CommonCurrentTaskStatusEnum =
|
|
182
|
+
| "ERROR"
|
|
183
|
+
| "PENDING"
|
|
184
|
+
| "RUNNING"
|
|
185
|
+
| "SCHEDULED";
|
|
186
|
+
export const CommonCurrentTaskStatusEnum = S.String;
|
|
187
|
+
|
|
188
|
+
/** Asynchronous operation currently running */
|
|
189
|
+
export interface CommonCurrentTask {
|
|
190
|
+
/** Identifier of the current task */
|
|
191
|
+
id?: string;
|
|
192
|
+
/** Link to the task details */
|
|
193
|
+
link?: string;
|
|
194
|
+
/** Current global status of the current task */
|
|
195
|
+
status?: CommonCurrentTaskStatusEnum | null;
|
|
196
|
+
/** Type of the current task */
|
|
197
|
+
type?: string;
|
|
198
|
+
}
|
|
199
|
+
export const CommonCurrentTask = /*@__PURE__*/ S.suspend(() =>
|
|
200
|
+
S.Struct({
|
|
201
|
+
id: S.optional(S.String),
|
|
202
|
+
link: S.optional(S.String),
|
|
203
|
+
status: S.optional(S.NullOr(CommonCurrentTaskStatusEnum)),
|
|
204
|
+
type: S.optional(S.String),
|
|
205
|
+
}),
|
|
206
|
+
).annotate({
|
|
207
|
+
identifier: "CommonCurrentTask",
|
|
208
|
+
}) as any as S.Schema<CommonCurrentTask>;
|
|
209
|
+
|
|
210
|
+
/** Asynchronous operations ongoing on the vRack Services */
|
|
211
|
+
export type VrackServicesVrackServicesWithIAMCurrentTasksList =
|
|
212
|
+
Array<CommonCurrentTask>;
|
|
213
|
+
export const VrackServicesVrackServicesWithIAMCurrentTasksList =
|
|
214
|
+
/*@__PURE__*/ S.Array(
|
|
215
|
+
CommonCurrentTask,
|
|
216
|
+
) as any as S.Schema<VrackServicesVrackServicesWithIAMCurrentTasksList>;
|
|
217
|
+
|
|
218
|
+
/** Resource tags. Tags that were internally computed are prefixed with ovh: */
|
|
219
|
+
export type IamResourceMetadataTagsMap = { [key: string]: string | undefined };
|
|
220
|
+
export const IamResourceMetadataTagsMap = /*@__PURE__*/ S.Record(
|
|
221
|
+
S.String,
|
|
222
|
+
S.String,
|
|
223
|
+
) as any as S.Schema<IamResourceMetadataTagsMap>;
|
|
224
|
+
|
|
225
|
+
/** IAM resource metadata embedded in services models */
|
|
226
|
+
export interface IamResourceMetadata {
|
|
227
|
+
/** Resource display name */
|
|
228
|
+
displayName?: string | null;
|
|
229
|
+
/** Unique identifier of the resource */
|
|
230
|
+
id?: string;
|
|
231
|
+
/** Resource tags. Tags that were internally computed are prefixed with ovh: */
|
|
232
|
+
tags?: IamResourceMetadataTagsMap | null;
|
|
233
|
+
/** Unique resource name used in policies */
|
|
234
|
+
urn?: string;
|
|
235
|
+
}
|
|
236
|
+
export const IamResourceMetadata = /*@__PURE__*/ S.suspend(() =>
|
|
237
|
+
S.Struct({
|
|
238
|
+
displayName: S.optional(S.NullOr(S.String)),
|
|
239
|
+
id: S.optional(S.String),
|
|
240
|
+
tags: S.optional(S.NullOr(IamResourceMetadataTagsMap)),
|
|
241
|
+
urn: S.optional(S.String),
|
|
242
|
+
}),
|
|
243
|
+
).annotate({
|
|
244
|
+
identifier: "IamResourceMetadata",
|
|
245
|
+
}) as any as S.Schema<IamResourceMetadata>;
|
|
246
|
+
|
|
247
|
+
/** It reflects the readiness of the vRack Services resource. The status `READY` indicates that the vRack Services state is stable. It guarantees that the `currentState` is fully aligned with the `targetSpec`. A new target specification request will be accepted only in this status. */
|
|
248
|
+
export type VrackServicesResourceStatusEnum =
|
|
249
|
+
| "CREATING"
|
|
250
|
+
| "DELETING"
|
|
251
|
+
| "ERROR"
|
|
252
|
+
| "READY"
|
|
253
|
+
| "UPDATING";
|
|
254
|
+
export const VrackServicesResourceStatusEnum = S.String;
|
|
255
|
+
|
|
256
|
+
/** Target specification of a Service Endpoint. A Service Endpoint provides an access to a managed service directly from one or several private IPs in the associated vRack */
|
|
257
|
+
export interface VrackServicesTargetServiceEndpoint {
|
|
258
|
+
/** IAM Resource URN of the managed service. Managed service Region must match vRack Services Region. Compatible managed service types are listed by /reference/compatibleManagedServiceType call */
|
|
259
|
+
managedServiceURN: string;
|
|
260
|
+
}
|
|
261
|
+
export const VrackServicesTargetServiceEndpoint = /*@__PURE__*/ S.suspend(() =>
|
|
262
|
+
S.Struct({
|
|
263
|
+
managedServiceURN: S.String,
|
|
264
|
+
}),
|
|
265
|
+
).annotate({
|
|
266
|
+
identifier: "VrackServicesTargetServiceEndpoint",
|
|
267
|
+
}) as any as S.Schema<VrackServicesTargetServiceEndpoint>;
|
|
268
|
+
|
|
269
|
+
/** Target specification of the Service Endpoints */
|
|
270
|
+
export type VrackServicesTargetSubnetServiceEndpointsList =
|
|
271
|
+
Array<VrackServicesTargetServiceEndpoint>;
|
|
272
|
+
export const VrackServicesTargetSubnetServiceEndpointsList =
|
|
273
|
+
/*@__PURE__*/ S.Array(
|
|
274
|
+
VrackServicesTargetServiceEndpoint,
|
|
275
|
+
) as any as S.Schema<VrackServicesTargetSubnetServiceEndpointsList>;
|
|
276
|
+
|
|
277
|
+
/** Target specification of the range dedicated to the subnet's services */
|
|
278
|
+
export interface VrackServicesTargetServiceRange {
|
|
279
|
+
/** IP address range dedicated to the subnet's services in CIDR format. Must be a private network address (RFC1918). Must be a sub-network of the subnet. Authorized range for prefix length: /27 to /29 */
|
|
280
|
+
cidr: string;
|
|
281
|
+
}
|
|
282
|
+
export const VrackServicesTargetServiceRange = /*@__PURE__*/ S.suspend(() =>
|
|
283
|
+
S.Struct({
|
|
284
|
+
cidr: S.String,
|
|
285
|
+
}),
|
|
286
|
+
).annotate({
|
|
287
|
+
identifier: "VrackServicesTargetServiceRange",
|
|
288
|
+
}) as any as S.Schema<VrackServicesTargetServiceRange>;
|
|
289
|
+
|
|
290
|
+
/** Target specification of a subnet */
|
|
291
|
+
export interface VrackServicesTargetSubnet {
|
|
292
|
+
/** IP address range of the subnet in CIDR format. Must be a private network address (RFC1918). Authorized range for prefix length: /16 to /24 */
|
|
293
|
+
cidr: string;
|
|
294
|
+
/** Display name of the subnet. Format must follow `^[ a-zA-Z0-9-_.]{0,40}$` */
|
|
295
|
+
displayName?: string | null;
|
|
296
|
+
/** Target specification of the Service Endpoints */
|
|
297
|
+
serviceEndpoints: VrackServicesTargetSubnetServiceEndpointsList;
|
|
298
|
+
/** Defines a smaller subnet dedicated to the managed service IPs */
|
|
299
|
+
serviceRange: VrackServicesTargetServiceRange;
|
|
300
|
+
/** Unique inner VLAN that allows subnets segregation. Authorized values: [2 - 4094] and `null` (untagged traffic) */
|
|
301
|
+
vlan?: number | null;
|
|
302
|
+
}
|
|
303
|
+
export const VrackServicesTargetSubnet = /*@__PURE__*/ S.suspend(() =>
|
|
304
|
+
S.Struct({
|
|
305
|
+
cidr: S.String,
|
|
306
|
+
displayName: S.optional(S.NullOr(S.String)),
|
|
307
|
+
serviceEndpoints: VrackServicesTargetSubnetServiceEndpointsList,
|
|
308
|
+
serviceRange: VrackServicesTargetServiceRange,
|
|
309
|
+
vlan: S.optional(S.NullOr(S.Number)),
|
|
310
|
+
}),
|
|
311
|
+
).annotate({
|
|
312
|
+
identifier: "VrackServicesTargetSubnet",
|
|
313
|
+
}) as any as S.Schema<VrackServicesTargetSubnet>;
|
|
314
|
+
|
|
315
|
+
/** Target specification of the subnets. Maximum one subnet per vRack Services */
|
|
316
|
+
export type VrackServicesVrackServicesTargetSpecSubnetsList =
|
|
317
|
+
Array<VrackServicesTargetSubnet>;
|
|
318
|
+
export const VrackServicesVrackServicesTargetSpecSubnetsList =
|
|
319
|
+
/*@__PURE__*/ S.Array(
|
|
320
|
+
VrackServicesTargetSubnet,
|
|
321
|
+
) as any as S.Schema<VrackServicesVrackServicesTargetSpecSubnetsList>;
|
|
322
|
+
|
|
323
|
+
/** Target specification of the vRack Services */
|
|
324
|
+
export interface VrackServicesVrackServicesTargetSpec {
|
|
325
|
+
/** Target specification of the subnets. Maximum one subnet per vRack Services */
|
|
326
|
+
subnets: VrackServicesVrackServicesTargetSpecSubnetsList;
|
|
327
|
+
}
|
|
328
|
+
export const VrackServicesVrackServicesTargetSpec = /*@__PURE__*/ S.suspend(
|
|
329
|
+
() =>
|
|
330
|
+
S.Struct({
|
|
331
|
+
subnets: VrackServicesVrackServicesTargetSpecSubnetsList,
|
|
332
|
+
}),
|
|
333
|
+
).annotate({
|
|
334
|
+
identifier: "VrackServicesVrackServicesTargetSpec",
|
|
335
|
+
}) as any as S.Schema<VrackServicesVrackServicesTargetSpec>;
|
|
336
|
+
|
|
337
|
+
/** A vRack Services */
|
|
338
|
+
export interface VrackServicesVrackServicesWithIAM {
|
|
339
|
+
/** Computed hash used to control concurrent modification requests. Here, it represents the current target specification value */
|
|
340
|
+
checksum?: string;
|
|
341
|
+
/** Date of the vRack Services delivery */
|
|
342
|
+
createdAt?: string;
|
|
343
|
+
/** Current configuration applied to the vRack Services */
|
|
344
|
+
currentState?: VrackServicesVrackServicesCurrentState;
|
|
345
|
+
/** Asynchronous operations ongoing on the vRack Services */
|
|
346
|
+
currentTasks?: VrackServicesVrackServicesWithIAMCurrentTasksList | null;
|
|
347
|
+
/** IAM resource metadata */
|
|
348
|
+
iam?: IamResourceMetadata | null;
|
|
349
|
+
/** Unique identifier */
|
|
350
|
+
id?: string;
|
|
351
|
+
/** Reflects the readiness of the vRack Services. A new target specification request will be accepted only in `READY` status */
|
|
352
|
+
resourceStatus?: VrackServicesResourceStatusEnum;
|
|
353
|
+
/** Last target specification of the vRack Services */
|
|
354
|
+
targetSpec?: VrackServicesVrackServicesTargetSpec;
|
|
355
|
+
/** Date of the Last vRack Services update */
|
|
356
|
+
updatedAt?: string;
|
|
357
|
+
}
|
|
358
|
+
export const VrackServicesVrackServicesWithIAM = /*@__PURE__*/ S.suspend(() =>
|
|
359
|
+
S.Struct({
|
|
360
|
+
checksum: S.optional(S.String),
|
|
361
|
+
createdAt: S.optional(S.String),
|
|
362
|
+
currentState: S.optional(VrackServicesVrackServicesCurrentState),
|
|
363
|
+
currentTasks: S.optional(
|
|
364
|
+
S.NullOr(VrackServicesVrackServicesWithIAMCurrentTasksList),
|
|
365
|
+
),
|
|
366
|
+
iam: S.optional(S.NullOr(IamResourceMetadata)),
|
|
367
|
+
id: S.optional(S.String),
|
|
368
|
+
resourceStatus: S.optional(VrackServicesResourceStatusEnum),
|
|
369
|
+
targetSpec: S.optional(VrackServicesVrackServicesTargetSpec),
|
|
370
|
+
updatedAt: S.optional(S.String),
|
|
371
|
+
}),
|
|
372
|
+
).annotate({
|
|
373
|
+
identifier: "VrackServicesVrackServicesWithIAM",
|
|
374
|
+
}) as any as S.Schema<VrackServicesVrackServicesWithIAM>;
|
|
375
|
+
|
|
376
|
+
export interface GetVrackServiceResourceTaskRequest {
|
|
377
|
+
/** Vrack services ID */
|
|
378
|
+
vrackServicesId: string;
|
|
379
|
+
/** Task ID */
|
|
380
|
+
taskId: string;
|
|
381
|
+
}
|
|
382
|
+
export const GetVrackServiceResourceTaskRequest = /*@__PURE__*/ S.suspend(() =>
|
|
383
|
+
S.Struct({
|
|
384
|
+
vrackServicesId: S.String.pipe(T.Label()),
|
|
385
|
+
taskId: S.String.pipe(T.Label()),
|
|
386
|
+
}).pipe(
|
|
387
|
+
T.Http({
|
|
388
|
+
method: "GET",
|
|
389
|
+
uri: "/vrackServices/resource/{vrackServicesId}/task/{taskId}",
|
|
390
|
+
code: 200,
|
|
391
|
+
}),
|
|
392
|
+
),
|
|
393
|
+
).annotate({
|
|
394
|
+
identifier: "GetVrackServiceResourceTaskRequest",
|
|
395
|
+
}) as any as S.Schema<GetVrackServiceResourceTaskRequest>;
|
|
396
|
+
|
|
397
|
+
/** Errors that occured on the task */
|
|
398
|
+
export interface CommonTaskError {
|
|
399
|
+
/** Error description */
|
|
400
|
+
message?: string;
|
|
401
|
+
}
|
|
402
|
+
export const CommonTaskError = /*@__PURE__*/ S.suspend(() =>
|
|
403
|
+
S.Struct({
|
|
404
|
+
message: S.optional(S.String),
|
|
405
|
+
}),
|
|
406
|
+
).annotate({
|
|
407
|
+
identifier: "CommonTaskError",
|
|
408
|
+
}) as any as S.Schema<CommonTaskError>;
|
|
409
|
+
|
|
410
|
+
/** Errors that occured on the task */
|
|
411
|
+
export type CommonTaskErrorsList = Array<CommonTaskError>;
|
|
412
|
+
export const CommonTaskErrorsList = /*@__PURE__*/ S.Array(
|
|
413
|
+
CommonTaskError,
|
|
414
|
+
) as any as S.Schema<CommonTaskErrorsList>;
|
|
415
|
+
|
|
416
|
+
/** TaskStatusEnum */
|
|
417
|
+
export type CommonTaskStatusEnum =
|
|
418
|
+
| "DONE"
|
|
419
|
+
| "ERROR"
|
|
420
|
+
| "PENDING"
|
|
421
|
+
| "RUNNING"
|
|
422
|
+
| "SCHEDULED";
|
|
423
|
+
export const CommonTaskStatusEnum = S.String;
|
|
424
|
+
|
|
425
|
+
/** Detailed information about an asynchronous operation progress steps */
|
|
426
|
+
export interface CommonTaskProgress {
|
|
427
|
+
/** Progress step name */
|
|
428
|
+
name?: string;
|
|
429
|
+
/** Current status of the progress step */
|
|
430
|
+
status?: CommonTaskStatusEnum;
|
|
431
|
+
}
|
|
432
|
+
export const CommonTaskProgress = /*@__PURE__*/ S.suspend(() =>
|
|
433
|
+
S.Struct({
|
|
434
|
+
name: S.optional(S.String),
|
|
435
|
+
status: S.optional(CommonTaskStatusEnum),
|
|
436
|
+
}),
|
|
437
|
+
).annotate({
|
|
438
|
+
identifier: "CommonTaskProgress",
|
|
439
|
+
}) as any as S.Schema<CommonTaskProgress>;
|
|
440
|
+
|
|
441
|
+
/** Progress steps of the asynchronous operation */
|
|
442
|
+
export type CommonTaskProgressList = Array<CommonTaskProgress>;
|
|
443
|
+
export const CommonTaskProgressList = /*@__PURE__*/ S.Array(
|
|
444
|
+
CommonTaskProgress,
|
|
445
|
+
) as any as S.Schema<CommonTaskProgressList>;
|
|
446
|
+
|
|
447
|
+
/** Asynchronous operation */
|
|
448
|
+
export interface CommonTask {
|
|
449
|
+
/** Creation date of the task */
|
|
450
|
+
createdAt?: string;
|
|
451
|
+
/** Errors that occured on the task */
|
|
452
|
+
errors?: CommonTaskErrorsList | null;
|
|
453
|
+
/** Ending date of the task */
|
|
454
|
+
finishedAt?: string | null;
|
|
455
|
+
/** Identifier of the task */
|
|
456
|
+
id?: string;
|
|
457
|
+
/** Link to the related resource */
|
|
458
|
+
link?: string;
|
|
459
|
+
/** Description of the task */
|
|
460
|
+
message?: string;
|
|
461
|
+
/** Progress steps of the asynchronous operation */
|
|
462
|
+
progress?: CommonTaskProgressList;
|
|
463
|
+
/** Starting date of the task */
|
|
464
|
+
startedAt?: string | null;
|
|
465
|
+
/** Current global status of the task */
|
|
466
|
+
status?: CommonTaskStatusEnum;
|
|
467
|
+
/** Type of the task */
|
|
468
|
+
type?: string;
|
|
469
|
+
/** Last update of the task */
|
|
470
|
+
updatedAt?: string;
|
|
471
|
+
}
|
|
472
|
+
export const CommonTask = /*@__PURE__*/ S.suspend(() =>
|
|
473
|
+
S.Struct({
|
|
474
|
+
createdAt: S.optional(S.String),
|
|
475
|
+
errors: S.optional(S.NullOr(CommonTaskErrorsList)),
|
|
476
|
+
finishedAt: S.optional(S.NullOr(S.String)),
|
|
477
|
+
id: S.optional(S.String),
|
|
478
|
+
link: S.optional(S.String),
|
|
479
|
+
message: S.optional(S.String),
|
|
480
|
+
progress: S.optional(CommonTaskProgressList),
|
|
481
|
+
startedAt: S.optional(S.NullOr(S.String)),
|
|
482
|
+
status: S.optional(CommonTaskStatusEnum),
|
|
483
|
+
type: S.optional(S.String),
|
|
484
|
+
updatedAt: S.optional(S.String),
|
|
485
|
+
}),
|
|
486
|
+
).annotate({ identifier: "CommonTask" }) as any as S.Schema<CommonTask>;
|
|
487
|
+
|
|
488
|
+
export interface ListVrackServiceReferenceCompatibleManagedServiceTypeRequest {
|
|
489
|
+
/** Pagination cursor */
|
|
490
|
+
xPaginationCursor?: string;
|
|
491
|
+
/** Pagination size */
|
|
492
|
+
xPaginationSize?: number;
|
|
493
|
+
}
|
|
494
|
+
export const ListVrackServiceReferenceCompatibleManagedServiceTypeRequest =
|
|
495
|
+
/*@__PURE__*/ S.suspend(() =>
|
|
496
|
+
S.Struct({
|
|
497
|
+
xPaginationCursor: S.optional(
|
|
498
|
+
S.String.pipe(T.Header("X-Pagination-Cursor")),
|
|
499
|
+
),
|
|
500
|
+
xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
|
|
501
|
+
}).pipe(
|
|
502
|
+
T.Http({
|
|
503
|
+
method: "GET",
|
|
504
|
+
uri: "/vrackServices/reference/compatibleManagedServiceType",
|
|
505
|
+
code: 200,
|
|
506
|
+
}),
|
|
507
|
+
),
|
|
508
|
+
).annotate({
|
|
509
|
+
identifier: "ListVrackServiceReferenceCompatibleManagedServiceTypeRequest",
|
|
510
|
+
}) as any as S.Schema<ListVrackServiceReferenceCompatibleManagedServiceTypeRequest>;
|
|
511
|
+
|
|
512
|
+
export type ListVrackServiceReferenceCompatibleManagedServiceTypeResponseBodyList =
|
|
513
|
+
Array<string>;
|
|
514
|
+
export const ListVrackServiceReferenceCompatibleManagedServiceTypeResponseBodyList =
|
|
515
|
+
/*@__PURE__*/ S.Array(
|
|
516
|
+
S.String,
|
|
517
|
+
) as any as S.Schema<ListVrackServiceReferenceCompatibleManagedServiceTypeResponseBodyList>;
|
|
518
|
+
|
|
519
|
+
export type ListVrackServiceReferenceCompatibleManagedServiceTypeResponse =
|
|
520
|
+
ListVrackServiceReferenceCompatibleManagedServiceTypeResponseBodyList;
|
|
521
|
+
export const ListVrackServiceReferenceCompatibleManagedServiceTypeResponse =
|
|
522
|
+
/*@__PURE__*/ S.suspend(() =>
|
|
523
|
+
ListVrackServiceReferenceCompatibleManagedServiceTypeResponseBodyList.pipe(
|
|
524
|
+
T.RawResponseRoot(),
|
|
525
|
+
),
|
|
526
|
+
).annotate({
|
|
527
|
+
identifier: "ListVrackServiceReferenceCompatibleManagedServiceTypeResponse",
|
|
528
|
+
}) as any as S.Schema<ListVrackServiceReferenceCompatibleManagedServiceTypeResponse>;
|
|
529
|
+
|
|
530
|
+
export interface ListVrackServiceReferenceRegionRequest {
|
|
531
|
+
/** Pagination cursor */
|
|
532
|
+
xPaginationCursor?: string;
|
|
533
|
+
/** Pagination size */
|
|
534
|
+
xPaginationSize?: number;
|
|
535
|
+
}
|
|
536
|
+
export const ListVrackServiceReferenceRegionRequest = /*@__PURE__*/ S.suspend(
|
|
537
|
+
() =>
|
|
538
|
+
S.Struct({
|
|
539
|
+
xPaginationCursor: S.optional(
|
|
540
|
+
S.String.pipe(T.Header("X-Pagination-Cursor")),
|
|
541
|
+
),
|
|
542
|
+
xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
|
|
543
|
+
}).pipe(
|
|
544
|
+
T.Http({
|
|
545
|
+
method: "GET",
|
|
546
|
+
uri: "/vrackServices/reference/region",
|
|
547
|
+
code: 200,
|
|
548
|
+
}),
|
|
549
|
+
),
|
|
550
|
+
).annotate({
|
|
551
|
+
identifier: "ListVrackServiceReferenceRegionRequest",
|
|
552
|
+
}) as any as S.Schema<ListVrackServiceReferenceRegionRequest>;
|
|
553
|
+
|
|
554
|
+
/** A vRack Services compatible localization */
|
|
555
|
+
export interface VrackServicesRegion {
|
|
556
|
+
/** Region name */
|
|
557
|
+
name?: string;
|
|
558
|
+
}
|
|
559
|
+
export const VrackServicesRegion = /*@__PURE__*/ S.suspend(() =>
|
|
560
|
+
S.Struct({
|
|
561
|
+
name: S.optional(S.String),
|
|
562
|
+
}),
|
|
563
|
+
).annotate({
|
|
564
|
+
identifier: "VrackServicesRegion",
|
|
565
|
+
}) as any as S.Schema<VrackServicesRegion>;
|
|
566
|
+
|
|
567
|
+
export type ListVrackServiceReferenceRegionResponseBodyList =
|
|
568
|
+
Array<VrackServicesRegion>;
|
|
569
|
+
export const ListVrackServiceReferenceRegionResponseBodyList =
|
|
570
|
+
/*@__PURE__*/ S.Array(
|
|
571
|
+
VrackServicesRegion,
|
|
572
|
+
) as any as S.Schema<ListVrackServiceReferenceRegionResponseBodyList>;
|
|
573
|
+
|
|
574
|
+
export type ListVrackServiceReferenceRegionResponse =
|
|
575
|
+
ListVrackServiceReferenceRegionResponseBodyList;
|
|
576
|
+
export const ListVrackServiceReferenceRegionResponse = /*@__PURE__*/ S.suspend(
|
|
577
|
+
() =>
|
|
578
|
+
ListVrackServiceReferenceRegionResponseBodyList.pipe(T.RawResponseRoot()),
|
|
579
|
+
).annotate({
|
|
580
|
+
identifier: "ListVrackServiceReferenceRegionResponse",
|
|
581
|
+
}) as any as S.Schema<ListVrackServiceReferenceRegionResponse>;
|
|
582
|
+
|
|
583
|
+
/** Resource tag filter */
|
|
584
|
+
export interface IamResourceTagFilterInput {}
|
|
585
|
+
export const IamResourceTagFilterInput = /*@__PURE__*/ S.suspend(() =>
|
|
586
|
+
S.Struct({}),
|
|
587
|
+
).annotate({
|
|
588
|
+
identifier: "IamResourceTagFilterInput",
|
|
589
|
+
}) as any as S.Schema<IamResourceTagFilterInput>;
|
|
590
|
+
|
|
591
|
+
export type ListVrackServiceResourceRequestIamTagsValueList =
|
|
592
|
+
Array<IamResourceTagFilterInput>;
|
|
593
|
+
export const ListVrackServiceResourceRequestIamTagsValueList =
|
|
594
|
+
/*@__PURE__*/ S.Array(
|
|
595
|
+
IamResourceTagFilterInput,
|
|
596
|
+
) as any as S.Schema<ListVrackServiceResourceRequestIamTagsValueList>;
|
|
597
|
+
|
|
598
|
+
export type ListVrackServiceResourceRequestIamTagsMap = {
|
|
599
|
+
[key: string]: ListVrackServiceResourceRequestIamTagsValueList | undefined;
|
|
600
|
+
};
|
|
601
|
+
export const ListVrackServiceResourceRequestIamTagsMap = /*@__PURE__*/ S.Record(
|
|
602
|
+
S.String,
|
|
603
|
+
ListVrackServiceResourceRequestIamTagsValueList,
|
|
604
|
+
) as any as S.Schema<ListVrackServiceResourceRequestIamTagsMap>;
|
|
605
|
+
|
|
606
|
+
export interface ListVrackServiceResourceRequest {
|
|
607
|
+
/** Filter resources on IAM tags */
|
|
608
|
+
iamTags?: ListVrackServiceResourceRequestIamTagsMap;
|
|
609
|
+
/** Pagination cursor */
|
|
610
|
+
xPaginationCursor?: string;
|
|
611
|
+
/** Pagination size */
|
|
612
|
+
xPaginationSize?: number;
|
|
613
|
+
}
|
|
614
|
+
export const ListVrackServiceResourceRequest = /*@__PURE__*/ S.suspend(() =>
|
|
615
|
+
S.Struct({
|
|
616
|
+
iamTags: S.optional(
|
|
617
|
+
ListVrackServiceResourceRequestIamTagsMap.pipe(T.Query()),
|
|
618
|
+
),
|
|
619
|
+
xPaginationCursor: S.optional(
|
|
620
|
+
S.String.pipe(T.Header("X-Pagination-Cursor")),
|
|
621
|
+
),
|
|
622
|
+
xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
|
|
623
|
+
}).pipe(T.Http({ method: "GET", uri: "/vrackServices/resource", code: 200 })),
|
|
624
|
+
).annotate({
|
|
625
|
+
identifier: "ListVrackServiceResourceRequest",
|
|
626
|
+
}) as any as S.Schema<ListVrackServiceResourceRequest>;
|
|
627
|
+
|
|
628
|
+
export type ListVrackServiceResourceResponseBodyList =
|
|
629
|
+
Array<VrackServicesVrackServicesWithIAM>;
|
|
630
|
+
export const ListVrackServiceResourceResponseBodyList = /*@__PURE__*/ S.Array(
|
|
631
|
+
VrackServicesVrackServicesWithIAM,
|
|
632
|
+
) as any as S.Schema<ListVrackServiceResourceResponseBodyList>;
|
|
633
|
+
|
|
634
|
+
export type ListVrackServiceResourceResponse =
|
|
635
|
+
ListVrackServiceResourceResponseBodyList;
|
|
636
|
+
export const ListVrackServiceResourceResponse = /*@__PURE__*/ S.suspend(() =>
|
|
637
|
+
ListVrackServiceResourceResponseBodyList.pipe(T.RawResponseRoot()),
|
|
638
|
+
).annotate({
|
|
639
|
+
identifier: "ListVrackServiceResourceResponse",
|
|
640
|
+
}) as any as S.Schema<ListVrackServiceResourceResponse>;
|
|
641
|
+
|
|
642
|
+
export interface ListVrackServiceResourceEligibleManagedServiceRequest {
|
|
643
|
+
/** Vrack services ID */
|
|
644
|
+
vrackServicesId: string;
|
|
645
|
+
/** Pagination cursor */
|
|
646
|
+
xPaginationCursor?: string;
|
|
647
|
+
/** Pagination size */
|
|
648
|
+
xPaginationSize?: number;
|
|
649
|
+
}
|
|
650
|
+
export const ListVrackServiceResourceEligibleManagedServiceRequest =
|
|
651
|
+
/*@__PURE__*/ S.suspend(() =>
|
|
652
|
+
S.Struct({
|
|
653
|
+
vrackServicesId: S.String.pipe(T.Label()),
|
|
654
|
+
xPaginationCursor: S.optional(
|
|
655
|
+
S.String.pipe(T.Header("X-Pagination-Cursor")),
|
|
656
|
+
),
|
|
657
|
+
xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
|
|
658
|
+
}).pipe(
|
|
659
|
+
T.Http({
|
|
660
|
+
method: "GET",
|
|
661
|
+
uri: "/vrackServices/resource/{vrackServicesId}/eligibleManagedService",
|
|
662
|
+
code: 200,
|
|
663
|
+
}),
|
|
664
|
+
),
|
|
665
|
+
).annotate({
|
|
666
|
+
identifier: "ListVrackServiceResourceEligibleManagedServiceRequest",
|
|
667
|
+
}) as any as S.Schema<ListVrackServiceResourceEligibleManagedServiceRequest>;
|
|
668
|
+
|
|
669
|
+
/** List of IAM resource URNs */
|
|
670
|
+
export type VrackServicesEligibleManagedServiceManagedServiceURNsList =
|
|
671
|
+
Array<string>;
|
|
672
|
+
export const VrackServicesEligibleManagedServiceManagedServiceURNsList =
|
|
673
|
+
/*@__PURE__*/ S.Array(
|
|
674
|
+
S.String,
|
|
675
|
+
) as any as S.Schema<VrackServicesEligibleManagedServiceManagedServiceURNsList>;
|
|
676
|
+
|
|
677
|
+
/** List of managed services eligible to the requested vRack Services */
|
|
678
|
+
export interface VrackServicesEligibleManagedService {
|
|
679
|
+
/** IAM resource type. Compatible managed service types are listed by /reference/compatibleManagedServiceType call. */
|
|
680
|
+
managedServiceType?: string;
|
|
681
|
+
/** List of IAM resource URNs */
|
|
682
|
+
managedServiceURNs?: VrackServicesEligibleManagedServiceManagedServiceURNsList;
|
|
683
|
+
}
|
|
684
|
+
export const VrackServicesEligibleManagedService = /*@__PURE__*/ S.suspend(() =>
|
|
685
|
+
S.Struct({
|
|
686
|
+
managedServiceType: S.optional(S.String),
|
|
687
|
+
managedServiceURNs: S.optional(
|
|
688
|
+
VrackServicesEligibleManagedServiceManagedServiceURNsList,
|
|
689
|
+
),
|
|
690
|
+
}),
|
|
691
|
+
).annotate({
|
|
692
|
+
identifier: "VrackServicesEligibleManagedService",
|
|
693
|
+
}) as any as S.Schema<VrackServicesEligibleManagedService>;
|
|
694
|
+
|
|
695
|
+
export type ListVrackServiceResourceEligibleManagedServiceResponseBodyList =
|
|
696
|
+
Array<VrackServicesEligibleManagedService>;
|
|
697
|
+
export const ListVrackServiceResourceEligibleManagedServiceResponseBodyList =
|
|
698
|
+
/*@__PURE__*/ S.Array(
|
|
699
|
+
VrackServicesEligibleManagedService,
|
|
700
|
+
) as any as S.Schema<ListVrackServiceResourceEligibleManagedServiceResponseBodyList>;
|
|
701
|
+
|
|
702
|
+
export type ListVrackServiceResourceEligibleManagedServiceResponse =
|
|
703
|
+
ListVrackServiceResourceEligibleManagedServiceResponseBodyList;
|
|
704
|
+
export const ListVrackServiceResourceEligibleManagedServiceResponse =
|
|
705
|
+
/*@__PURE__*/ S.suspend(() =>
|
|
706
|
+
ListVrackServiceResourceEligibleManagedServiceResponseBodyList.pipe(
|
|
707
|
+
T.RawResponseRoot(),
|
|
708
|
+
),
|
|
709
|
+
).annotate({
|
|
710
|
+
identifier: "ListVrackServiceResourceEligibleManagedServiceResponse",
|
|
711
|
+
}) as any as S.Schema<ListVrackServiceResourceEligibleManagedServiceResponse>;
|
|
712
|
+
|
|
713
|
+
export interface ListVrackServiceResourceTaskRequest {
|
|
714
|
+
/** Vrack services ID */
|
|
715
|
+
vrackServicesId: string;
|
|
716
|
+
/** Pagination cursor */
|
|
717
|
+
xPaginationCursor?: string;
|
|
718
|
+
/** Pagination size */
|
|
719
|
+
xPaginationSize?: number;
|
|
720
|
+
}
|
|
721
|
+
export const ListVrackServiceResourceTaskRequest = /*@__PURE__*/ S.suspend(() =>
|
|
722
|
+
S.Struct({
|
|
723
|
+
vrackServicesId: S.String.pipe(T.Label()),
|
|
724
|
+
xPaginationCursor: S.optional(
|
|
725
|
+
S.String.pipe(T.Header("X-Pagination-Cursor")),
|
|
726
|
+
),
|
|
727
|
+
xPaginationSize: S.optional(S.Number.pipe(T.Header("X-Pagination-Size"))),
|
|
728
|
+
}).pipe(
|
|
729
|
+
T.Http({
|
|
730
|
+
method: "GET",
|
|
731
|
+
uri: "/vrackServices/resource/{vrackServicesId}/task",
|
|
732
|
+
code: 200,
|
|
733
|
+
}),
|
|
734
|
+
),
|
|
735
|
+
).annotate({
|
|
736
|
+
identifier: "ListVrackServiceResourceTaskRequest",
|
|
737
|
+
}) as any as S.Schema<ListVrackServiceResourceTaskRequest>;
|
|
738
|
+
|
|
739
|
+
export type ListVrackServiceResourceTaskResponseBodyList = Array<CommonTask>;
|
|
740
|
+
export const ListVrackServiceResourceTaskResponseBodyList =
|
|
741
|
+
/*@__PURE__*/ S.Array(
|
|
742
|
+
CommonTask,
|
|
743
|
+
) as any as S.Schema<ListVrackServiceResourceTaskResponseBodyList>;
|
|
744
|
+
|
|
745
|
+
export type ListVrackServiceResourceTaskResponse =
|
|
746
|
+
ListVrackServiceResourceTaskResponseBodyList;
|
|
747
|
+
export const ListVrackServiceResourceTaskResponse = /*@__PURE__*/ S.suspend(
|
|
748
|
+
() => ListVrackServiceResourceTaskResponseBodyList.pipe(T.RawResponseRoot()),
|
|
749
|
+
).annotate({
|
|
750
|
+
identifier: "ListVrackServiceResourceTaskResponse",
|
|
751
|
+
}) as any as S.Schema<ListVrackServiceResourceTaskResponse>;
|
|
752
|
+
|
|
753
|
+
export interface PutVrackServiceResourceRequest {
|
|
754
|
+
/** Vrack services ID */
|
|
755
|
+
vrackServicesId: string;
|
|
756
|
+
/** Computed hash used to control concurrent modification requests. Here, it represents the target specification value the request is based on */
|
|
757
|
+
checksum: string;
|
|
758
|
+
/** Requested target specification */
|
|
759
|
+
targetSpec: VrackServicesVrackServicesTargetSpec;
|
|
760
|
+
}
|
|
761
|
+
export const PutVrackServiceResourceRequest = /*@__PURE__*/ S.suspend(() =>
|
|
762
|
+
S.Struct({
|
|
763
|
+
vrackServicesId: S.String.pipe(T.Label()),
|
|
764
|
+
checksum: S.String,
|
|
765
|
+
targetSpec: VrackServicesVrackServicesTargetSpec,
|
|
766
|
+
}).pipe(
|
|
767
|
+
T.Http({
|
|
768
|
+
method: "PUT",
|
|
769
|
+
uri: "/vrackServices/resource/{vrackServicesId}",
|
|
770
|
+
code: 200,
|
|
771
|
+
}),
|
|
772
|
+
),
|
|
773
|
+
).annotate({
|
|
774
|
+
identifier: "PutVrackServiceResourceRequest",
|
|
775
|
+
}) as any as S.Schema<PutVrackServiceResourceRequest>;
|
|
776
|
+
|
|
777
|
+
/** Asynchronous operations ongoing on the vRack Services */
|
|
778
|
+
export type VrackServicesVrackServicesCurrentTasksList =
|
|
779
|
+
Array<CommonCurrentTask>;
|
|
780
|
+
export const VrackServicesVrackServicesCurrentTasksList = /*@__PURE__*/ S.Array(
|
|
781
|
+
CommonCurrentTask,
|
|
782
|
+
) as any as S.Schema<VrackServicesVrackServicesCurrentTasksList>;
|
|
783
|
+
|
|
784
|
+
/** A vRack Services */
|
|
785
|
+
export interface VrackServicesVrackServices {
|
|
786
|
+
/** Computed hash used to control concurrent modification requests. Here, it represents the current target specification value */
|
|
787
|
+
checksum?: string;
|
|
788
|
+
/** Date of the vRack Services delivery */
|
|
789
|
+
createdAt?: string;
|
|
790
|
+
/** Current configuration applied to the vRack Services */
|
|
791
|
+
currentState?: VrackServicesVrackServicesCurrentState;
|
|
792
|
+
/** Asynchronous operations ongoing on the vRack Services */
|
|
793
|
+
currentTasks?: VrackServicesVrackServicesCurrentTasksList | null;
|
|
794
|
+
/** Unique identifier */
|
|
795
|
+
id?: string;
|
|
796
|
+
/** Reflects the readiness of the vRack Services. A new target specification request will be accepted only in `READY` status */
|
|
797
|
+
resourceStatus?: VrackServicesResourceStatusEnum;
|
|
798
|
+
/** Last target specification of the vRack Services */
|
|
799
|
+
targetSpec?: VrackServicesVrackServicesTargetSpec;
|
|
800
|
+
/** Date of the Last vRack Services update */
|
|
801
|
+
updatedAt?: string;
|
|
802
|
+
}
|
|
803
|
+
export const VrackServicesVrackServices = /*@__PURE__*/ S.suspend(() =>
|
|
804
|
+
S.Struct({
|
|
805
|
+
checksum: S.optional(S.String),
|
|
806
|
+
createdAt: S.optional(S.String),
|
|
807
|
+
currentState: S.optional(VrackServicesVrackServicesCurrentState),
|
|
808
|
+
currentTasks: S.optional(
|
|
809
|
+
S.NullOr(VrackServicesVrackServicesCurrentTasksList),
|
|
810
|
+
),
|
|
811
|
+
id: S.optional(S.String),
|
|
812
|
+
resourceStatus: S.optional(VrackServicesResourceStatusEnum),
|
|
813
|
+
targetSpec: S.optional(VrackServicesVrackServicesTargetSpec),
|
|
814
|
+
updatedAt: S.optional(S.String),
|
|
815
|
+
}),
|
|
816
|
+
).annotate({
|
|
817
|
+
identifier: "VrackServicesVrackServices",
|
|
818
|
+
}) as any as S.Schema<VrackServicesVrackServices>;
|
|
819
|
+
|
|
820
|
+
export type GetVrackServiceResourceError = NotFound | OvhOpError;
|
|
821
|
+
/** Retrieve a vRack Services */
|
|
822
|
+
export const getVrackServiceResource: API.OperationMethod<
|
|
823
|
+
GetVrackServiceResourceRequest,
|
|
824
|
+
VrackServicesVrackServicesWithIAM,
|
|
825
|
+
GetVrackServiceResourceError,
|
|
826
|
+
OvhOpContext
|
|
827
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
828
|
+
input: GetVrackServiceResourceRequest,
|
|
829
|
+
output: VrackServicesVrackServicesWithIAM,
|
|
830
|
+
errors: [NotFound, UnknownOvhError],
|
|
831
|
+
protocol: OvhProtocol,
|
|
832
|
+
retry: Retry.Retry,
|
|
833
|
+
}));
|
|
834
|
+
|
|
835
|
+
export type GetVrackServiceResourceTaskError = BadRequest | OvhOpError;
|
|
836
|
+
/** Get the task */
|
|
837
|
+
export const getVrackServiceResourceTask: API.OperationMethod<
|
|
838
|
+
GetVrackServiceResourceTaskRequest,
|
|
839
|
+
CommonTask,
|
|
840
|
+
GetVrackServiceResourceTaskError,
|
|
841
|
+
OvhOpContext
|
|
842
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
843
|
+
input: GetVrackServiceResourceTaskRequest,
|
|
844
|
+
output: CommonTask,
|
|
845
|
+
errors: [BadRequest, UnknownOvhError],
|
|
846
|
+
protocol: OvhProtocol,
|
|
847
|
+
retry: Retry.Retry,
|
|
848
|
+
}));
|
|
849
|
+
|
|
850
|
+
export type ListVrackServiceReferenceCompatibleManagedServiceTypeError =
|
|
851
|
+
OvhOpError;
|
|
852
|
+
/** List all managed service types that are compatible with vRack Services (IAM resource types) The compatible managed service types are represented here by their IAM resource types. */
|
|
853
|
+
export const listVrackServiceReferenceCompatibleManagedServiceType: API.OperationMethod<
|
|
854
|
+
ListVrackServiceReferenceCompatibleManagedServiceTypeRequest,
|
|
855
|
+
ListVrackServiceReferenceCompatibleManagedServiceTypeResponse,
|
|
856
|
+
ListVrackServiceReferenceCompatibleManagedServiceTypeError,
|
|
857
|
+
OvhOpContext
|
|
858
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
859
|
+
input: ListVrackServiceReferenceCompatibleManagedServiceTypeRequest,
|
|
860
|
+
output: ListVrackServiceReferenceCompatibleManagedServiceTypeResponse,
|
|
861
|
+
errors: [UnknownOvhError],
|
|
862
|
+
protocol: OvhProtocol,
|
|
863
|
+
retry: Retry.Retry,
|
|
864
|
+
}));
|
|
865
|
+
|
|
866
|
+
export type ListVrackServiceReferenceRegionError = OvhOpError;
|
|
867
|
+
/** List all vRack Services regions */
|
|
868
|
+
export const listVrackServiceReferenceRegion: API.OperationMethod<
|
|
869
|
+
ListVrackServiceReferenceRegionRequest,
|
|
870
|
+
ListVrackServiceReferenceRegionResponse,
|
|
871
|
+
ListVrackServiceReferenceRegionError,
|
|
872
|
+
OvhOpContext
|
|
873
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
874
|
+
input: ListVrackServiceReferenceRegionRequest,
|
|
875
|
+
output: ListVrackServiceReferenceRegionResponse,
|
|
876
|
+
errors: [UnknownOvhError],
|
|
877
|
+
protocol: OvhProtocol,
|
|
878
|
+
retry: Retry.Retry,
|
|
879
|
+
}));
|
|
880
|
+
|
|
881
|
+
export type ListVrackServiceResourceError = OvhOpError;
|
|
882
|
+
/** List all vRack Services */
|
|
883
|
+
export const listVrackServiceResource: API.OperationMethod<
|
|
884
|
+
ListVrackServiceResourceRequest,
|
|
885
|
+
ListVrackServiceResourceResponse,
|
|
886
|
+
ListVrackServiceResourceError,
|
|
887
|
+
OvhOpContext
|
|
888
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
889
|
+
input: ListVrackServiceResourceRequest,
|
|
890
|
+
output: ListVrackServiceResourceResponse,
|
|
891
|
+
errors: [UnknownOvhError],
|
|
892
|
+
protocol: OvhProtocol,
|
|
893
|
+
retry: Retry.Retry,
|
|
894
|
+
}));
|
|
895
|
+
|
|
896
|
+
export type ListVrackServiceResourceEligibleManagedServiceError = OvhOpError;
|
|
897
|
+
/** List every managed service eligible to the requested vRack Services */
|
|
898
|
+
export const listVrackServiceResourceEligibleManagedService: API.OperationMethod<
|
|
899
|
+
ListVrackServiceResourceEligibleManagedServiceRequest,
|
|
900
|
+
ListVrackServiceResourceEligibleManagedServiceResponse,
|
|
901
|
+
ListVrackServiceResourceEligibleManagedServiceError,
|
|
902
|
+
OvhOpContext
|
|
903
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
904
|
+
input: ListVrackServiceResourceEligibleManagedServiceRequest,
|
|
905
|
+
output: ListVrackServiceResourceEligibleManagedServiceResponse,
|
|
906
|
+
errors: [UnknownOvhError],
|
|
907
|
+
protocol: OvhProtocol,
|
|
908
|
+
retry: Retry.Retry,
|
|
909
|
+
}));
|
|
910
|
+
|
|
911
|
+
export type ListVrackServiceResourceTaskError = OvhOpError;
|
|
912
|
+
/** List all asynchronous operations related to the vRack Services */
|
|
913
|
+
export const listVrackServiceResourceTask: API.OperationMethod<
|
|
914
|
+
ListVrackServiceResourceTaskRequest,
|
|
915
|
+
ListVrackServiceResourceTaskResponse,
|
|
916
|
+
ListVrackServiceResourceTaskError,
|
|
917
|
+
OvhOpContext
|
|
918
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
919
|
+
input: ListVrackServiceResourceTaskRequest,
|
|
920
|
+
output: ListVrackServiceResourceTaskResponse,
|
|
921
|
+
errors: [UnknownOvhError],
|
|
922
|
+
protocol: OvhProtocol,
|
|
923
|
+
retry: Retry.Retry,
|
|
924
|
+
}));
|
|
925
|
+
|
|
926
|
+
export type PutVrackServiceResourceError = BadRequest | NotFound | OvhOpError;
|
|
927
|
+
/** Request updates on the vRack Services configuration It is the unique route handling any update on the vRack Services configuration. It works as following: 1. You define a new target specification in the request payload, 2. If this specification is validated, you get the resource with updated `targetSpec` and `checksum` values in return, 3. The request is processed by one or several **asynchronous** tasks that aims to reconciliate the `currentState` with the `targetSpec` ### Asynchronous processing * To follow this processing, the VrackServices resource can be polled with `GET /vrackServices/resource/{vrackServicesId}`<br>As soon as its `resourceStatus` is *READY*, the requested specification can be considered as applied to the vRack Services. * The `checksum` helps on detecting concurrency cases on update requests. If the polled `checksum` value differs from the one returned in response of your initial request, it means that processing of your request is completed and another request is being processed. * In case of processing error (i.e. `resourceStatus` in *ERROR*), the current vRack Services configuration is still active, but modification requests will be refused until the intervention of the support. * An overview on the asynchronous task(s) is available via the `currentTasks` attribute.<br>More details on a task are provided by the route `GET /vrackServices/resource/{vrackServicesId}/task/{taskId}` ### Seamless configuration actions The request can combine any of the following seamless actions (meaning there won't be any cut of the service while updating): * create a Subnet * delete a Subnet without any Service Endpoint * update a Subnet: * create one or several Service Endpoints **Note** that a Subnet with several Service Endpoints can be created in the same payload ### Not seamless configuration actions The modification of the Subnet characteristics listed below **WILL** result in a service cut while processing the update as they are interpreted as the deletion of the existing Subnet and creation of a new Subnet with provided characteristics. The IPs that were given to the Managed Services will be reelected and may as a result change: * modifications on the Subnet `ServiceRange` * modifications on the Subnet `Vlan` * modifications on the Subnet `CIDR` The embedded Service Endpoints will be also deleted and re-created which implies a flapping accessibility in the vRack for every related managed services. **Note** that deleting a Subnet will also delete embedded Service Endpoints The `vrackId` is a read-only attribute as the association vRack/vRackServices is handled by the [vRack API](console-preview/?section=%2Fvrack&branch=v1) */
|
|
928
|
+
export const putVrackServiceResource: API.OperationMethod<
|
|
929
|
+
PutVrackServiceResourceRequest,
|
|
930
|
+
VrackServicesVrackServices,
|
|
931
|
+
PutVrackServiceResourceError,
|
|
932
|
+
OvhOpContext
|
|
933
|
+
> = /*@__PURE__*/ API.make(() => ({
|
|
934
|
+
input: PutVrackServiceResourceRequest,
|
|
935
|
+
output: VrackServicesVrackServices,
|
|
936
|
+
errors: [BadRequest, NotFound, UnknownOvhError],
|
|
937
|
+
protocol: OvhProtocol,
|
|
938
|
+
retry: Retry.Retry,
|
|
939
|
+
}));
|