@origincloud/compute 0.0.0-stage → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +24 -2
  3. package/dist/longrunning/v1beta1/index.d.ts +2 -0
  4. package/dist/longrunning/v1beta1/index.d.ts.map +1 -0
  5. package/dist/longrunning/v1beta1/index.js +3 -0
  6. package/dist/longrunning/v1beta1/index.js.map +1 -0
  7. package/dist/longrunning/v1beta1/operations.d.ts +63 -0
  8. package/dist/longrunning/v1beta1/operations.d.ts.map +1 -0
  9. package/dist/longrunning/v1beta1/operations.js +54 -0
  10. package/dist/longrunning/v1beta1/operations.js.map +1 -0
  11. package/dist/v1beta1/catalog.d.ts +146 -0
  12. package/dist/v1beta1/catalog.d.ts.map +1 -0
  13. package/dist/v1beta1/catalog.js +86 -0
  14. package/dist/v1beta1/catalog.js.map +1 -0
  15. package/dist/v1beta1/image.d.ts +172 -0
  16. package/dist/v1beta1/image.d.ts.map +1 -0
  17. package/dist/v1beta1/image.js +115 -0
  18. package/dist/v1beta1/image.js.map +1 -0
  19. package/dist/v1beta1/index.d.ts +7 -0
  20. package/dist/v1beta1/index.d.ts.map +1 -0
  21. package/dist/v1beta1/index.js +8 -0
  22. package/dist/v1beta1/index.js.map +1 -0
  23. package/dist/v1beta1/instance.d.ts +398 -0
  24. package/dist/v1beta1/instance.d.ts.map +1 -0
  25. package/dist/v1beta1/instance.js +253 -0
  26. package/dist/v1beta1/instance.js.map +1 -0
  27. package/dist/v1beta1/key_pair.d.ts +126 -0
  28. package/dist/v1beta1/key_pair.d.ts.map +1 -0
  29. package/dist/v1beta1/key_pair.js +95 -0
  30. package/dist/v1beta1/key_pair.js.map +1 -0
  31. package/dist/v1beta1/public_image.d.ts +94 -0
  32. package/dist/v1beta1/public_image.d.ts.map +1 -0
  33. package/dist/v1beta1/public_image.js +56 -0
  34. package/dist/v1beta1/public_image.js.map +1 -0
  35. package/dist/v1beta1/volume_attachment.d.ts +156 -0
  36. package/dist/v1beta1/volume_attachment.d.ts.map +1 -0
  37. package/dist/v1beta1/volume_attachment.js +125 -0
  38. package/dist/v1beta1/volume_attachment.js.map +1 -0
  39. package/package.json +40 -4
  40. package/src/longrunning/v1beta1/index.ts +3 -0
  41. package/src/longrunning/v1beta1/operations.ts +103 -0
  42. package/src/v1beta1/catalog.ts +208 -0
  43. package/src/v1beta1/image.ts +269 -0
  44. package/src/v1beta1/index.ts +8 -0
  45. package/src/v1beta1/instance.ts +541 -0
  46. package/src/v1beta1/key_pair.ts +216 -0
  47. package/src/v1beta1/public_image.ts +137 -0
  48. package/src/v1beta1/volume_attachment.ts +241 -0
@@ -0,0 +1,398 @@
1
+ import { type CallOptions, type Client, type Empty, Operation, type Service } from "@origincloud/core";
2
+ import type { OperationMetadata } from "../longrunning/v1beta1/operations.js";
3
+ /**
4
+ * Calls InstanceService.
5
+ *
6
+ * Instances: virtual machines in one zone, booted from an image onto a
7
+ * durable boot volume, with network interfaces created beforehand with the
8
+ * network service.
9
+ */
10
+ export declare class InstanceClient {
11
+ /**
12
+ * The endpoint the client sends its calls to, which also serves the
13
+ * operations its methods answer with.
14
+ */
15
+ readonly service: Service;
16
+ /** A client of InstanceService that sends its calls through `client`. */
17
+ constructor(client: Client);
18
+ /**
19
+ * Returns an instance. A terminated instance can be read by name for a
20
+ * day after it was terminated.
21
+ */
22
+ getInstance(request: GetInstanceRequest, options?: CallOptions): Promise<Instance>;
23
+ /**
24
+ * Lists the instances in a zone, oldest first. A terminated instance is
25
+ * listed for two hours after it was terminated. For every zone's
26
+ * instances, list the zones whose `services` name `compute` with the
27
+ * location service (`location.origincloudapis.eu`), then each zone's
28
+ * instances.
29
+ */
30
+ listInstances(request: ListInstancesRequest, options?: CallOptions): Promise<ListInstancesResponse>;
31
+ /**
32
+ * Iterates over everything listInstances lists from the request's page on,
33
+ * fetching the next page as the loop reaches it. A page that fails ends
34
+ * the iteration with its error.
35
+ */
36
+ allInstances(request: ListInstancesRequest, options?: CallOptions): AsyncGenerator<Instance, void, undefined>;
37
+ /**
38
+ * Launches an instance. The operation is done once the instance is
39
+ * `RUNNING`, or failed once it is `FAILED`, with the reason in
40
+ * `stateReason`; a failed instance still exists, and can be started
41
+ * again or deleted.
42
+ *
43
+ * It answers with an operation to wait on, whose result is the Instance.
44
+ */
45
+ createInstance(request: CreateInstanceRequest, options?: CallOptions): Promise<Operation<Instance, OperationMetadata>>;
46
+ /**
47
+ * Changes an instance's type or tags. A new `instanceType` needs the
48
+ * instance `STOPPED`, and is refused with `FAILED_PRECONDITION`
49
+ * otherwise; it takes effect at the next start. A larger type is checked
50
+ * against the same vCPU quota a launch is. The operation is done once the
51
+ * instance shows the change.
52
+ *
53
+ * It answers with an operation to wait on, whose result is the Instance.
54
+ */
55
+ updateInstance(request: UpdateInstanceRequest, options?: CallOptions): Promise<Operation<Instance, OperationMetadata>>;
56
+ /**
57
+ * Terminates an instance: its guest is stopped for good, its network
58
+ * interfaces are released, `AVAILABLE` again with their addresses (one
59
+ * created for it at launch is deleted), and
60
+ * its boot volume is deleted with it unless a snapshot of it exists.
61
+ * Other attached volumes are detached and kept.
62
+ * Terminating a terminated instance changes nothing. The operation is
63
+ * done once the instance is `TERMINATED`.
64
+ *
65
+ * It answers with an operation to wait on, which has no result.
66
+ */
67
+ deleteInstance(request: DeleteInstanceRequest, options?: CallOptions): Promise<Operation<Empty, OperationMetadata>>;
68
+ /**
69
+ * Starts a `STOPPED` or `FAILED` instance. It keeps its name, its
70
+ * addresses and its volumes, and may come back on another machine.
71
+ * Starting a running instance changes nothing; it is refused while the
72
+ * instance is `INITIALIZING`, `STOPPING` or `SHUTTING_DOWN`. The
73
+ * operation is done once the instance is `RUNNING`, or failed once it is
74
+ * `FAILED`.
75
+ *
76
+ * It answers with an operation to wait on, whose result is the Instance.
77
+ */
78
+ startInstance(request: StartInstanceRequest, options?: CallOptions): Promise<Operation<Instance, OperationMetadata>>;
79
+ /**
80
+ * Stops a running instance: its guest is shut down, and it keeps its
81
+ * volumes and addresses. Stopping a stopped instance changes nothing. The
82
+ * operation is done once the instance is `STOPPED`, or failed once it is
83
+ * `FAILED`.
84
+ *
85
+ * It answers with an operation to wait on, whose result is the Instance.
86
+ */
87
+ stopInstance(request: StopInstanceRequest, options?: CallOptions): Promise<Operation<Instance, OperationMetadata>>;
88
+ }
89
+ /** A virtual machine in one zone. */
90
+ export interface Instance {
91
+ /** The instance's resource name. */
92
+ name?: string;
93
+ /**
94
+ * The instance's URN, the identifier access policies and the audit log
95
+ * use.
96
+ */
97
+ urn?: string;
98
+ /**
99
+ * The instance type, `instanceTypes/{instance_type}`, such as
100
+ * `instanceTypes/gp1.core.2`: one whose `available` is true. Changing it
101
+ * needs the instance `STOPPED`.
102
+ */
103
+ instanceType?: string;
104
+ /**
105
+ * The image the boot volume is created from, in the instance's zone: one
106
+ * of the project's own, `projects/{project}/zones/{zone}/images/{image}`,
107
+ * or a public one, `zones/{zone}/images/{image}`. Set exactly one of
108
+ * `image` and `imageFamily`; launched from a family, this is the public
109
+ * image the family resolved to.
110
+ */
111
+ image?: string;
112
+ /**
113
+ * The image family to launch the current public image of,
114
+ * `imageFamilies/{image_family}`. Set exactly one of `image` and
115
+ * `imageFamily`. Empty when the instance was launched from an image.
116
+ */
117
+ imageFamily?: string;
118
+ /**
119
+ * The key pair whose public key is installed for `loginUser`, in the
120
+ * instance's project.
121
+ */
122
+ keyPair?: string;
123
+ /**
124
+ * The account to log in as: a user created at first boot that holds the
125
+ * key pair. A POSIX user name of at most 32 lowercase letters, digits,
126
+ * underscores and hyphens, starting with a letter or an underscore, and
127
+ * not `root`. The image's `defaultUser` when left empty.
128
+ */
129
+ loginUser?: string;
130
+ /**
131
+ * The boot volume: its size and storage class at launch, and the volume.
132
+ * The image's size on the default storage class when left out.
133
+ */
134
+ bootVolume?: BootVolume;
135
+ /**
136
+ * The network interfaces, in device order, the boot interface first;
137
+ * exactly one today. Each is an existing interface in the instance's
138
+ * project and zone that nothing else holds, created with the network
139
+ * service: its subnet and security groups are the instance's.
140
+ * Terminating the instance releases it, and it stays. An instance
141
+ * launched before interfaces were named at launch shows the interface
142
+ * created for it, which is deleted with the instance.
143
+ */
144
+ networkInterfaces?: string[];
145
+ /** Where the instance is in its lifecycle. */
146
+ state?: Instance_State;
147
+ /**
148
+ * Why the instance is `FAILED`, or why a `STOPPED` instance went down
149
+ * when the machine it ran on failed; empty otherwise.
150
+ */
151
+ stateReason?: string;
152
+ /**
153
+ * Whether the platform can currently confirm the instance is working,
154
+ * which `state` doesn't say: a `RUNNING` instance on a machine that
155
+ * stopped answering is still `RUNNING`.
156
+ */
157
+ health?: InstanceHealth;
158
+ /** When the instance was launched. */
159
+ createTime?: string;
160
+ /**
161
+ * The principal that launched the instance, such as `user:<id>` or
162
+ * `service_account:<id>`.
163
+ */
164
+ creator?: string;
165
+ /**
166
+ * Labels of your own, at most 50. The `origin:name` tag is the name the
167
+ * console shows.
168
+ */
169
+ tags?: Record<string, string>;
170
+ /**
171
+ * Each network interface's private addresses, in the order of
172
+ * `networkInterfaces`; an interface not attached yet has none.
173
+ */
174
+ interfaceAddresses?: InterfaceAddresses[];
175
+ }
176
+ /** Where the instance is in its lifecycle. */
177
+ export declare const Instance_State: {
178
+ /** Not set. */
179
+ readonly STATE_UNSPECIFIED: "STATE_UNSPECIFIED";
180
+ /**
181
+ * Its boot volume and network interface are being created; it starts
182
+ * on its own once they are ready.
183
+ */
184
+ readonly INITIALIZING: "INITIALIZING";
185
+ /** Being placed on a machine and booted. */
186
+ readonly PENDING: "PENDING";
187
+ /** Running. */
188
+ readonly RUNNING: "RUNNING";
189
+ /** Shutting down, to `STOPPED`. */
190
+ readonly STOPPING: "STOPPING";
191
+ /**
192
+ * Stopped: it holds its volumes and addresses, and no compute capacity
193
+ * is charged.
194
+ */
195
+ readonly STOPPED: "STOPPED";
196
+ /** Being terminated. */
197
+ readonly SHUTTING_DOWN: "SHUTTING_DOWN";
198
+ /** Terminated. Readable by name for a day. */
199
+ readonly TERMINATED: "TERMINATED";
200
+ /**
201
+ * A start, a stop or the launch failed; `stateReason` says why. Start
202
+ * it again, or delete it.
203
+ */
204
+ readonly FAILED: "FAILED";
205
+ };
206
+ /** Where the instance is in its lifecycle. */
207
+ export type Instance_State = (typeof Instance_State)[keyof typeof Instance_State];
208
+ /** An instance's boot volume. */
209
+ export interface BootVolume {
210
+ /**
211
+ * The size in GiB the volume was created with, at least the image's
212
+ * size; the image's size when left at 0. Grow the volume itself to
213
+ * resize it; this keeps the size at launch.
214
+ */
215
+ sizeGib?: number;
216
+ /**
217
+ * The storage class, `storageClasses/{storage_class}` of the persistent
218
+ * volume service; the default class when left empty.
219
+ */
220
+ storageClass?: string;
221
+ /** The volume, in the instance's project and zone. */
222
+ volume?: string;
223
+ }
224
+ /** The private addresses of one of an instance's network interfaces. */
225
+ export interface InterfaceAddresses {
226
+ /** The network interface. */
227
+ networkInterface?: string;
228
+ /** Its private IPv4 address. */
229
+ ipv4Address?: string;
230
+ /** Its IPv6 address. */
231
+ ipv6Address?: string;
232
+ }
233
+ /** An instance's health: each check, and their summary. */
234
+ export interface InstanceHealth {
235
+ /**
236
+ * The summary of `checks`, for a listing that shows one value per
237
+ * instance. Only the checks say whether a problem is the platform's or
238
+ * the instance's own.
239
+ */
240
+ availability?: InstanceHealth_Availability;
241
+ /**
242
+ * Every check, always all of them: one with nothing to report is
243
+ * `NOT_APPLICABLE` or `INSUFFICIENT_DATA`, never left out.
244
+ */
245
+ checks?: HealthCheck[];
246
+ }
247
+ /** The summary of the checks. */
248
+ export declare const InstanceHealth_Availability: {
249
+ /** Not set. */
250
+ readonly AVAILABILITY_UNSPECIFIED: "AVAILABILITY_UNSPECIFIED";
251
+ /** Every check that applies passed. */
252
+ readonly AVAILABLE: "AVAILABLE";
253
+ /** A check failed. */
254
+ readonly IMPAIRED: "IMPAIRED";
255
+ /** A check that applies has no recent observation. */
256
+ readonly UNKNOWN: "UNKNOWN";
257
+ /** No check applies, as for a stopped instance. */
258
+ readonly NOT_APPLICABLE: "NOT_APPLICABLE";
259
+ };
260
+ /** The summary of the checks. */
261
+ export type InstanceHealth_Availability = (typeof InstanceHealth_Availability)[keyof typeof InstanceHealth_Availability];
262
+ /** One health check of an instance. */
263
+ export interface HealthCheck {
264
+ /** What the check observes. */
265
+ kind?: HealthCheck_Kind;
266
+ /** Whose the subject is, derived from `kind`. */
267
+ category?: HealthCheck_Category;
268
+ /** Its outcome. */
269
+ outcome?: HealthCheck_Outcome;
270
+ /** When the check came to `outcome`; empty while nothing has observed it. */
271
+ changeTime?: string;
272
+ }
273
+ /** What a check observes. */
274
+ export declare const HealthCheck_Kind: {
275
+ /** Not set. */
276
+ readonly KIND_UNSPECIFIED: "KIND_UNSPECIFIED";
277
+ /** The machine the instance runs on answers. */
278
+ readonly HOST_REACHABLE: "HOST_REACHABLE";
279
+ /** The machine reports the virtual machine in the state it should be in. */
280
+ readonly DOMAIN_STATE: "DOMAIN_STATE";
281
+ /** The instance answers on its network interface. */
282
+ readonly NETWORK_REACHABLE: "NETWORK_REACHABLE";
283
+ /** The agent in the guest answers. */
284
+ readonly GUEST_AGENT: "GUEST_AGENT";
285
+ /** The virtual machine exists on its machine. */
286
+ readonly GUEST_PRESENT: "GUEST_PRESENT";
287
+ };
288
+ /** What a check observes. */
289
+ export type HealthCheck_Kind = (typeof HealthCheck_Kind)[keyof typeof HealthCheck_Kind];
290
+ /** Whose a check's subject is. */
291
+ export declare const HealthCheck_Category: {
292
+ /** Not set. */
293
+ readonly CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED";
294
+ /** The platform underneath the instance. */
295
+ readonly SYSTEM: "SYSTEM";
296
+ /** The instance's own operating system and network configuration. */
297
+ readonly INSTANCE: "INSTANCE";
298
+ };
299
+ /** Whose a check's subject is. */
300
+ export type HealthCheck_Category = (typeof HealthCheck_Category)[keyof typeof HealthCheck_Category];
301
+ /** A check's outcome. */
302
+ export declare const HealthCheck_Outcome: {
303
+ /** Not set. */
304
+ readonly OUTCOME_UNSPECIFIED: "OUTCOME_UNSPECIFIED";
305
+ /** Passed. */
306
+ readonly OK: "OK";
307
+ /** Failed. */
308
+ readonly IMPAIRED: "IMPAIRED";
309
+ /** No recent observation. */
310
+ readonly INSUFFICIENT_DATA: "INSUFFICIENT_DATA";
311
+ /** The check doesn't apply now. */
312
+ readonly NOT_APPLICABLE: "NOT_APPLICABLE";
313
+ };
314
+ /** A check's outcome. */
315
+ export type HealthCheck_Outcome = (typeof HealthCheck_Outcome)[keyof typeof HealthCheck_Outcome];
316
+ /** The request for GetInstance. */
317
+ export interface GetInstanceRequest {
318
+ /** The instance to return. */
319
+ name?: string;
320
+ }
321
+ /** The request for ListInstances. */
322
+ export interface ListInstancesRequest {
323
+ /** The zone whose instances to list, `projects/{project}/zones/{zone}`. */
324
+ parent?: string;
325
+ /**
326
+ * The most instances to return; the server clamps it, and 0 means its
327
+ * default.
328
+ */
329
+ pageSize?: number;
330
+ /** A previous response's `nextPageToken`, for the page after it. */
331
+ pageToken?: string;
332
+ }
333
+ /** The response for ListInstances. */
334
+ export interface ListInstancesResponse {
335
+ /** The instances on this page. */
336
+ instances?: Instance[];
337
+ /** The token for the next page; empty on the last one. */
338
+ nextPageToken?: string;
339
+ }
340
+ /** The request for CreateInstance. */
341
+ export interface CreateInstanceRequest {
342
+ /** The zone to launch the instance in, `projects/{project}/zones/{zone}`. */
343
+ parent?: string;
344
+ /**
345
+ * The instance to launch: its type, its image or image family, its key
346
+ * pair and its network interface, and optionally its login user, boot
347
+ * volume and tags.
348
+ */
349
+ instance?: Instance;
350
+ /**
351
+ * A UUID; a repeat with the same id returns the first request's
352
+ * operation instead of launching a second instance.
353
+ */
354
+ requestId?: string;
355
+ }
356
+ /** The request for UpdateInstance. */
357
+ export interface UpdateInstanceRequest {
358
+ /** The instance, by its name, with the fields to change. */
359
+ instance?: Instance;
360
+ /** The fields to change: `instanceType`, `tags`, or both. `*` is both. */
361
+ updateMask?: string;
362
+ /**
363
+ * A UUID; a repeat with the same id returns the first request's
364
+ * operation instead of changing the instance again.
365
+ */
366
+ requestId?: string;
367
+ }
368
+ /** The request for DeleteInstance. */
369
+ export interface DeleteInstanceRequest {
370
+ /** The instance to terminate. */
371
+ name?: string;
372
+ /**
373
+ * A UUID; a repeat with the same id returns the first request's
374
+ * operation.
375
+ */
376
+ requestId?: string;
377
+ }
378
+ /** The request for StartInstance. */
379
+ export interface StartInstanceRequest {
380
+ /** The instance to start. */
381
+ name?: string;
382
+ /**
383
+ * A UUID; a repeat with the same id returns the first request's
384
+ * operation.
385
+ */
386
+ requestId?: string;
387
+ }
388
+ /** The request for StopInstance. */
389
+ export interface StopInstanceRequest {
390
+ /** The instance to stop. */
391
+ name?: string;
392
+ /**
393
+ * A UUID; a repeat with the same id returns the first request's
394
+ * operation.
395
+ */
396
+ requestId?: string;
397
+ }
398
+ //# sourceMappingURL=instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/v1beta1/instance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,253 @@
1
+ // Code generated by the SDK's generator (generator/). DO NOT EDIT.
2
+ // source: origincloud/compute/v1beta1/instance.proto
3
+ import { Operation, newRequestId, pathValue, query, } from "@origincloud/core";
4
+ /**
5
+ * Calls InstanceService.
6
+ *
7
+ * Instances: virtual machines in one zone, booted from an image onto a
8
+ * durable boot volume, with network interfaces created beforehand with the
9
+ * network service.
10
+ */
11
+ export class InstanceClient {
12
+ /**
13
+ * The endpoint the client sends its calls to, which also serves the
14
+ * operations its methods answer with.
15
+ */
16
+ service;
17
+ /** A client of InstanceService that sends its calls through `client`. */
18
+ constructor(client) {
19
+ this.service = client.service("compute", true);
20
+ }
21
+ /**
22
+ * Returns an instance. A terminated instance can be read by name for a
23
+ * day after it was terminated.
24
+ */
25
+ async getInstance(request, options) {
26
+ const p0 = pathValue("name", request.name, "projects/*/zones/*/instances/*");
27
+ return this.service.call({
28
+ method: "GET",
29
+ path: `/v1beta1/${p0}`,
30
+ query: query(request, ["name"]),
31
+ idempotent: true,
32
+ }, options);
33
+ }
34
+ /**
35
+ * Lists the instances in a zone, oldest first. A terminated instance is
36
+ * listed for two hours after it was terminated. For every zone's
37
+ * instances, list the zones whose `services` name `compute` with the
38
+ * location service (`location.origincloudapis.eu`), then each zone's
39
+ * instances.
40
+ */
41
+ async listInstances(request, options) {
42
+ const p0 = pathValue("parent", request.parent, "projects/*/zones/*");
43
+ return this.service.call({
44
+ method: "GET",
45
+ path: `/v1beta1/${p0}/instances`,
46
+ query: query(request, ["parent"]),
47
+ idempotent: true,
48
+ }, options);
49
+ }
50
+ /**
51
+ * Iterates over everything listInstances lists from the request's page on,
52
+ * fetching the next page as the loop reaches it. A page that fails ends
53
+ * the iteration with its error.
54
+ */
55
+ async *allInstances(request, options) {
56
+ for (let page = request;;) {
57
+ const response = await this.listInstances(page, options);
58
+ yield* response.instances ?? [];
59
+ if (!response.nextPageToken)
60
+ return;
61
+ page = { ...page, pageToken: response.nextPageToken };
62
+ }
63
+ }
64
+ /**
65
+ * Launches an instance. The operation is done once the instance is
66
+ * `RUNNING`, or failed once it is `FAILED`, with the reason in
67
+ * `stateReason`; a failed instance still exists, and can be started
68
+ * again or deleted.
69
+ *
70
+ * It answers with an operation to wait on, whose result is the Instance.
71
+ */
72
+ async createInstance(request, options) {
73
+ if (!request.requestId)
74
+ request = { ...request, requestId: newRequestId() };
75
+ const p0 = pathValue("parent", request.parent, "projects/*/zones/*");
76
+ const op = await this.service.call({
77
+ method: "POST",
78
+ path: `/v1beta1/${p0}/instances`,
79
+ body: request.instance,
80
+ query: query(request, ["parent", "instance"]),
81
+ idempotent: true,
82
+ }, options);
83
+ return new Operation(this.service, op, "origincloud.compute.v1beta1.Instance");
84
+ }
85
+ /**
86
+ * Changes an instance's type or tags. A new `instanceType` needs the
87
+ * instance `STOPPED`, and is refused with `FAILED_PRECONDITION`
88
+ * otherwise; it takes effect at the next start. A larger type is checked
89
+ * against the same vCPU quota a launch is. The operation is done once the
90
+ * instance shows the change.
91
+ *
92
+ * It answers with an operation to wait on, whose result is the Instance.
93
+ */
94
+ async updateInstance(request, options) {
95
+ if (!request.requestId)
96
+ request = { ...request, requestId: newRequestId() };
97
+ const p0 = pathValue("instance.name", request.instance?.name, "projects/*/zones/*/instances/*");
98
+ const op = await this.service.call({
99
+ method: "PATCH",
100
+ path: `/v1beta1/${p0}`,
101
+ body: request.instance,
102
+ query: query(request, ["instance.name", "instance"]),
103
+ idempotent: true,
104
+ }, options);
105
+ return new Operation(this.service, op, "origincloud.compute.v1beta1.Instance");
106
+ }
107
+ /**
108
+ * Terminates an instance: its guest is stopped for good, its network
109
+ * interfaces are released, `AVAILABLE` again with their addresses (one
110
+ * created for it at launch is deleted), and
111
+ * its boot volume is deleted with it unless a snapshot of it exists.
112
+ * Other attached volumes are detached and kept.
113
+ * Terminating a terminated instance changes nothing. The operation is
114
+ * done once the instance is `TERMINATED`.
115
+ *
116
+ * It answers with an operation to wait on, which has no result.
117
+ */
118
+ async deleteInstance(request, options) {
119
+ if (!request.requestId)
120
+ request = { ...request, requestId: newRequestId() };
121
+ const p0 = pathValue("name", request.name, "projects/*/zones/*/instances/*");
122
+ const op = await this.service.call({
123
+ method: "DELETE",
124
+ path: `/v1beta1/${p0}`,
125
+ query: query(request, ["name"]),
126
+ idempotent: true,
127
+ }, options);
128
+ return new Operation(this.service, op, "google.protobuf.Empty");
129
+ }
130
+ /**
131
+ * Starts a `STOPPED` or `FAILED` instance. It keeps its name, its
132
+ * addresses and its volumes, and may come back on another machine.
133
+ * Starting a running instance changes nothing; it is refused while the
134
+ * instance is `INITIALIZING`, `STOPPING` or `SHUTTING_DOWN`. The
135
+ * operation is done once the instance is `RUNNING`, or failed once it is
136
+ * `FAILED`.
137
+ *
138
+ * It answers with an operation to wait on, whose result is the Instance.
139
+ */
140
+ async startInstance(request, options) {
141
+ if (!request.requestId)
142
+ request = { ...request, requestId: newRequestId() };
143
+ const p0 = pathValue("name", request.name, "projects/*/zones/*/instances/*");
144
+ const op = await this.service.call({
145
+ method: "POST",
146
+ path: `/v1beta1/${p0}:start`,
147
+ body: request,
148
+ idempotent: true,
149
+ }, options);
150
+ return new Operation(this.service, op, "origincloud.compute.v1beta1.Instance");
151
+ }
152
+ /**
153
+ * Stops a running instance: its guest is shut down, and it keeps its
154
+ * volumes and addresses. Stopping a stopped instance changes nothing. The
155
+ * operation is done once the instance is `STOPPED`, or failed once it is
156
+ * `FAILED`.
157
+ *
158
+ * It answers with an operation to wait on, whose result is the Instance.
159
+ */
160
+ async stopInstance(request, options) {
161
+ if (!request.requestId)
162
+ request = { ...request, requestId: newRequestId() };
163
+ const p0 = pathValue("name", request.name, "projects/*/zones/*/instances/*");
164
+ const op = await this.service.call({
165
+ method: "POST",
166
+ path: `/v1beta1/${p0}:stop`,
167
+ body: request,
168
+ idempotent: true,
169
+ }, options);
170
+ return new Operation(this.service, op, "origincloud.compute.v1beta1.Instance");
171
+ }
172
+ }
173
+ /** Where the instance is in its lifecycle. */
174
+ export const Instance_State = {
175
+ /** Not set. */
176
+ STATE_UNSPECIFIED: "STATE_UNSPECIFIED",
177
+ /**
178
+ * Its boot volume and network interface are being created; it starts
179
+ * on its own once they are ready.
180
+ */
181
+ INITIALIZING: "INITIALIZING",
182
+ /** Being placed on a machine and booted. */
183
+ PENDING: "PENDING",
184
+ /** Running. */
185
+ RUNNING: "RUNNING",
186
+ /** Shutting down, to `STOPPED`. */
187
+ STOPPING: "STOPPING",
188
+ /**
189
+ * Stopped: it holds its volumes and addresses, and no compute capacity
190
+ * is charged.
191
+ */
192
+ STOPPED: "STOPPED",
193
+ /** Being terminated. */
194
+ SHUTTING_DOWN: "SHUTTING_DOWN",
195
+ /** Terminated. Readable by name for a day. */
196
+ TERMINATED: "TERMINATED",
197
+ /**
198
+ * A start, a stop or the launch failed; `stateReason` says why. Start
199
+ * it again, or delete it.
200
+ */
201
+ FAILED: "FAILED",
202
+ };
203
+ /** The summary of the checks. */
204
+ export const InstanceHealth_Availability = {
205
+ /** Not set. */
206
+ AVAILABILITY_UNSPECIFIED: "AVAILABILITY_UNSPECIFIED",
207
+ /** Every check that applies passed. */
208
+ AVAILABLE: "AVAILABLE",
209
+ /** A check failed. */
210
+ IMPAIRED: "IMPAIRED",
211
+ /** A check that applies has no recent observation. */
212
+ UNKNOWN: "UNKNOWN",
213
+ /** No check applies, as for a stopped instance. */
214
+ NOT_APPLICABLE: "NOT_APPLICABLE",
215
+ };
216
+ /** What a check observes. */
217
+ export const HealthCheck_Kind = {
218
+ /** Not set. */
219
+ KIND_UNSPECIFIED: "KIND_UNSPECIFIED",
220
+ /** The machine the instance runs on answers. */
221
+ HOST_REACHABLE: "HOST_REACHABLE",
222
+ /** The machine reports the virtual machine in the state it should be in. */
223
+ DOMAIN_STATE: "DOMAIN_STATE",
224
+ /** The instance answers on its network interface. */
225
+ NETWORK_REACHABLE: "NETWORK_REACHABLE",
226
+ /** The agent in the guest answers. */
227
+ GUEST_AGENT: "GUEST_AGENT",
228
+ /** The virtual machine exists on its machine. */
229
+ GUEST_PRESENT: "GUEST_PRESENT",
230
+ };
231
+ /** Whose a check's subject is. */
232
+ export const HealthCheck_Category = {
233
+ /** Not set. */
234
+ CATEGORY_UNSPECIFIED: "CATEGORY_UNSPECIFIED",
235
+ /** The platform underneath the instance. */
236
+ SYSTEM: "SYSTEM",
237
+ /** The instance's own operating system and network configuration. */
238
+ INSTANCE: "INSTANCE",
239
+ };
240
+ /** A check's outcome. */
241
+ export const HealthCheck_Outcome = {
242
+ /** Not set. */
243
+ OUTCOME_UNSPECIFIED: "OUTCOME_UNSPECIFIED",
244
+ /** Passed. */
245
+ OK: "OK",
246
+ /** Failed. */
247
+ IMPAIRED: "IMPAIRED",
248
+ /** No recent observation. */
249
+ INSUFFICIENT_DATA: "INSUFFICIENT_DATA",
250
+ /** The check doesn't apply now. */
251
+ NOT_APPLICABLE: "NOT_APPLICABLE",
252
+ };
253
+ //# sourceMappingURL=instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../../src/v1beta1/instance.ts"],"names":[],"mappings":"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"}