setSecurityPolicySettings() {
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/DisksClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/DisksClient.java
index 2f13eda34..59fff163d 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/DisksClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/DisksClient.java
@@ -411,7 +411,9 @@ public final AggregatedListPagedResponse aggregatedList(AggregatedListDisksReque
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of a specified persistent disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -446,7 +448,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of a specified persistent disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -477,7 +481,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of a specified persistent disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -506,7 +512,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of a specified persistent disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesClient.java
index 7b6f65622..93b5a3347 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesClient.java
@@ -1793,6 +1793,7 @@ public final OperationFuture insertAsync(
* .setProject("project-309310695")
* .setRequestId("requestId693933066")
* .setSourceInstanceTemplate("sourceInstanceTemplate949712490")
+ * .setSourceMachineImage("sourceMachineImage1261073679")
* .setZone("zone3744684")
* .build();
* Operation response = instancesClient.insertAsync(request).get();
@@ -1822,6 +1823,7 @@ public final OperationFuture insertAsync(InsertInstanceReq
* .setProject("project-309310695")
* .setRequestId("requestId693933066")
* .setSourceInstanceTemplate("sourceInstanceTemplate949712490")
+ * .setSourceMachineImage("sourceMachineImage1261073679")
* .setZone("zone3744684")
* .build();
* OperationFuture future =
@@ -1850,6 +1852,7 @@ public final OperationFuture insertAsync(InsertInstanceReq
* .setProject("project-309310695")
* .setRequestId("requestId693933066")
* .setSourceInstanceTemplate("sourceInstanceTemplate949712490")
+ * .setSourceMachineImage("sourceMachineImage1261073679")
* .setZone("zone3744684")
* .build();
* ApiFuture future = instancesClient.insertCallable().futureCall(request);
@@ -2380,6 +2383,117 @@ public final UnaryCallable resetCallable() {
return stub.resetCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Resumes an instance that was suspended using the instances().suspend method.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * String project = "project-309310695";
+ * String zone = "zone3744684";
+ * String instance = "instance555127957";
+ * Operation response = instancesClient.resumeAsync(project, zone, instance).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param zone The name of the zone for this request.
+ * @param instance Name of the instance resource to resume.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture resumeAsync(
+ String project, String zone, String instance) {
+ ResumeInstanceRequest request =
+ ResumeInstanceRequest.newBuilder()
+ .setProject(project)
+ .setZone(zone)
+ .setInstance(instance)
+ .build();
+ return resumeAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Resumes an instance that was suspended using the instances().suspend method.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * ResumeInstanceRequest request =
+ * ResumeInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * Operation response = instancesClient.resumeAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture resumeAsync(ResumeInstanceRequest request) {
+ return resumeOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Resumes an instance that was suspended using the instances().suspend method.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * ResumeInstanceRequest request =
+ * ResumeInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * OperationFuture future =
+ * instancesClient.resumeOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ resumeOperationCallable() {
+ return stub.resumeOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Resumes an instance that was suspended using the instances().suspend method.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * ResumeInstanceRequest request =
+ * ResumeInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * ApiFuture future = instancesClient.resumeCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable resumeCallable() {
+ return stub.resumeCallable();
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Sends diagnostic interrupt to the instance.
@@ -3452,7 +3566,8 @@ public final OperationFuture setMinCpuPlatformAsync(
/**
* Sets an instance's scheduling options. You can only call this method on a stopped instance,
* that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more
- * information on the possible instance states.
+ * information on the possible instance states. For more information about setting scheduling
+ * options for a VM, see Set VM availability policies.
*
* Sample code:
*
@@ -3489,7 +3604,8 @@ public final OperationFuture setSchedulingAsync(
/**
* Sets an instance's scheduling options. You can only call this method on a stopped instance,
* that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more
- * information on the possible instance states.
+ * information on the possible instance states. For more information about setting scheduling
+ * options for a VM, see Set VM availability policies.
*
* Sample code:
*
@@ -3521,7 +3637,8 @@ public final OperationFuture setSchedulingAsync(
/**
* Sets an instance's scheduling options. You can only call this method on a stopped instance,
* that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more
- * information on the possible instance states.
+ * information on the possible instance states. For more information about setting scheduling
+ * options for a VM, see Set VM availability policies.
*
* Sample code:
*
@@ -3551,7 +3668,8 @@ public final OperationFuture setSchedulingAsync(
/**
* Sets an instance's scheduling options. You can only call this method on a stopped instance,
* that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more
- * information on the possible instance states.
+ * information on the possible instance states. For more information about setting scheduling
+ * options for a VM, see Set VM availability policies.
*
* Sample code:
*
@@ -3969,7 +4087,8 @@ public final UnaryCallable setTagsCallable()
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Simulates a maintenance event on the instance.
+ * Simulates a host maintenance event on a VM. For more information, see Simulate a host
+ * maintenance event.
*
* Sample code:
*
@@ -4001,7 +4120,8 @@ public final OperationFuture simulateMaintenanceEventAsync
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Simulates a maintenance event on the instance.
+ * Simulates a host maintenance event on a VM. For more information, see Simulate a host
+ * maintenance event.
*
* Sample code:
*
@@ -4029,7 +4149,8 @@ public final OperationFuture simulateMaintenanceEventAsync
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Simulates a maintenance event on the instance.
+ * Simulates a host maintenance event on a VM. For more information, see Simulate a host
+ * maintenance event.
*
* Sample code:
*
@@ -4055,7 +4176,8 @@ public final OperationFuture simulateMaintenanceEventAsync
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Simulates a maintenance event on the instance.
+ * Simulates a host maintenance event on a VM. For more information, see Simulate a host
+ * maintenance event.
*
* Sample code:
*
@@ -4453,6 +4575,137 @@ public final UnaryCallable stopCallable() {
return stub.stopCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * This method suspends a running instance, saving its state to persistent storage, and allows you
+ * to resume the instance at a later time. Suspended instances have no compute costs (cores or
+ * RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged
+ * resources the virtual machine was using, such as persistent disks and static IP addresses, will
+ * continue to be charged while the instance is suspended. For more information, see Suspending
+ * and resuming an instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * String project = "project-309310695";
+ * String zone = "zone3744684";
+ * String instance = "instance555127957";
+ * Operation response = instancesClient.suspendAsync(project, zone, instance).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param zone The name of the zone for this request.
+ * @param instance Name of the instance resource to suspend.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture suspendAsync(
+ String project, String zone, String instance) {
+ SuspendInstanceRequest request =
+ SuspendInstanceRequest.newBuilder()
+ .setProject(project)
+ .setZone(zone)
+ .setInstance(instance)
+ .build();
+ return suspendAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * This method suspends a running instance, saving its state to persistent storage, and allows you
+ * to resume the instance at a later time. Suspended instances have no compute costs (cores or
+ * RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged
+ * resources the virtual machine was using, such as persistent disks and static IP addresses, will
+ * continue to be charged while the instance is suspended. For more information, see Suspending
+ * and resuming an instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * SuspendInstanceRequest request =
+ * SuspendInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * Operation response = instancesClient.suspendAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture suspendAsync(SuspendInstanceRequest request) {
+ return suspendOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * This method suspends a running instance, saving its state to persistent storage, and allows you
+ * to resume the instance at a later time. Suspended instances have no compute costs (cores or
+ * RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged
+ * resources the virtual machine was using, such as persistent disks and static IP addresses, will
+ * continue to be charged while the instance is suspended. For more information, see Suspending
+ * and resuming an instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * SuspendInstanceRequest request =
+ * SuspendInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * OperationFuture future =
+ * instancesClient.suspendOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ suspendOperationCallable() {
+ return stub.suspendOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * This method suspends a running instance, saving its state to persistent storage, and allows you
+ * to resume the instance at a later time. Suspended instances have no compute costs (cores or
+ * RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged
+ * resources the virtual machine was using, such as persistent disks and static IP addresses, will
+ * continue to be charged while the instance is suspended. For more information, see Suspending
+ * and resuming an instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (InstancesClient instancesClient = InstancesClient.create()) {
+ * SuspendInstanceRequest request =
+ * SuspendInstanceRequest.newBuilder()
+ * .setInstance("instance555127957")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setZone("zone3744684")
+ * .build();
+ * ApiFuture future = instancesClient.suspendCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable suspendCallable() {
+ return stub.suspendCallable();
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Returns permissions that a caller has on the specified resource.
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesSettings.java
index 9cc633b8b..5116cb965 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/InstancesSettings.java
@@ -243,6 +243,17 @@ public UnaryCallSettings resetSettings() {
return ((InstancesStubSettings) getStubSettings()).resetOperationSettings();
}
+ /** Returns the object with the settings used for calls to resume. */
+ public UnaryCallSettings resumeSettings() {
+ return ((InstancesStubSettings) getStubSettings()).resumeSettings();
+ }
+
+ /** Returns the object with the settings used for calls to resume. */
+ public OperationCallSettings
+ resumeOperationSettings() {
+ return ((InstancesStubSettings) getStubSettings()).resumeOperationSettings();
+ }
+
/** Returns the object with the settings used for calls to sendDiagnosticInterrupt. */
public UnaryCallSettings<
SendDiagnosticInterruptInstanceRequest, SendDiagnosticInterruptInstanceResponse>
@@ -429,6 +440,17 @@ public OperationCallSettings stopOper
return ((InstancesStubSettings) getStubSettings()).stopOperationSettings();
}
+ /** Returns the object with the settings used for calls to suspend. */
+ public UnaryCallSettings suspendSettings() {
+ return ((InstancesStubSettings) getStubSettings()).suspendSettings();
+ }
+
+ /** Returns the object with the settings used for calls to suspend. */
+ public OperationCallSettings
+ suspendOperationSettings() {
+ return ((InstancesStubSettings) getStubSettings()).suspendOperationSettings();
+ }
+
/** Returns the object with the settings used for calls to testIamPermissions. */
public UnaryCallSettings
testIamPermissionsSettings() {
@@ -769,6 +791,17 @@ public UnaryCallSettings.Builder resetSettings(
return getStubSettingsBuilder().resetOperationSettings();
}
+ /** Returns the builder for the settings used for calls to resume. */
+ public UnaryCallSettings.Builder resumeSettings() {
+ return getStubSettingsBuilder().resumeSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to resume. */
+ public OperationCallSettings.Builder
+ resumeOperationSettings() {
+ return getStubSettingsBuilder().resumeOperationSettings();
+ }
+
/** Returns the builder for the settings used for calls to sendDiagnosticInterrupt. */
public UnaryCallSettings.Builder<
SendDiagnosticInterruptInstanceRequest, SendDiagnosticInterruptInstanceResponse>
@@ -963,6 +996,17 @@ public UnaryCallSettings.Builder stopSettings()
return getStubSettingsBuilder().stopOperationSettings();
}
+ /** Returns the builder for the settings used for calls to suspend. */
+ public UnaryCallSettings.Builder suspendSettings() {
+ return getStubSettingsBuilder().suspendSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to suspend. */
+ public OperationCallSettings.Builder
+ suspendOperationSettings() {
+ return getStubSettingsBuilder().suspendOperationSettings();
+ }
+
/** Returns the builder for the settings used for calls to testIamPermissions. */
public UnaryCallSettings.Builder
testIamPermissionsSettings() {
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesClient.java
new file mode 100644
index 000000000..fa8dd785a
--- /dev/null
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesClient.java
@@ -0,0 +1,926 @@
+/*
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.compute.v1;
+
+import com.google.api.core.ApiFuture;
+import com.google.api.core.ApiFutures;
+import com.google.api.core.BetaApi;
+import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.longrunning.OperationFuture;
+import com.google.api.gax.paging.AbstractFixedSizeCollection;
+import com.google.api.gax.paging.AbstractPage;
+import com.google.api.gax.paging.AbstractPagedListResponse;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.PageContext;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.cloud.compute.v1.stub.MachineImagesStub;
+import com.google.cloud.compute.v1.stub.MachineImagesStubSettings;
+import com.google.common.util.concurrent.MoreExecutors;
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * Service Description: The MachineImages API.
+ *
+ * This class provides the ability to make remote calls to the backing service through method
+ * calls that map to API methods. Sample code to get started:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String machineImage = "machineImage1817774420";
+ * MachineImage response = machineImagesClient.get(project, machineImage);
+ * }
+ * }
+ *
+ * Note: close() needs to be called on the MachineImagesClient object to clean up resources such
+ * as threads. In the example above, try-with-resources is used, which automatically calls close().
+ *
+ *
The surface of this class includes several types of Java methods for each of the API's
+ * methods:
+ *
+ *
+ * - A "flattened" method. With this type of method, the fields of the request type have been
+ * converted into function parameters. It may be the case that not all fields are available as
+ * parameters, and not every API method will have a flattened method entry point.
+ *
- A "request object" method. This type of method only takes one parameter, a request object,
+ * which must be constructed before the call. Not every API method will have a request object
+ * method.
+ *
- A "callable" method. This type of method takes no parameters and returns an immutable API
+ * callable object, which can be used to initiate calls to the service.
+ *
+ *
+ * See the individual methods for example code.
+ *
+ *
Many parameters require resource names to be formatted in a particular way. To assist with
+ * these names, this class includes a format method for each type of name, and additionally a parse
+ * method to extract the individual identifiers contained within names that are returned.
+ *
+ *
This class can be customized by passing in a custom instance of MachineImagesSettings to
+ * create(). For example:
+ *
+ *
To customize credentials:
+ *
+ *
{@code
+ * MachineImagesSettings machineImagesSettings =
+ * MachineImagesSettings.newBuilder()
+ * .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ * .build();
+ * MachineImagesClient machineImagesClient = MachineImagesClient.create(machineImagesSettings);
+ * }
+ *
+ * To customize the endpoint:
+ *
+ *
{@code
+ * MachineImagesSettings machineImagesSettings =
+ * MachineImagesSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * MachineImagesClient machineImagesClient = MachineImagesClient.create(machineImagesSettings);
+ * }
+ *
+ * Please refer to the GitHub repository's samples for more quickstart code snippets.
+ */
+@Generated("by gapic-generator-java")
+public class MachineImagesClient implements BackgroundResource {
+ private final MachineImagesSettings settings;
+ private final MachineImagesStub stub;
+
+ /** Constructs an instance of MachineImagesClient with default settings. */
+ public static final MachineImagesClient create() throws IOException {
+ return create(MachineImagesSettings.newBuilder().build());
+ }
+
+ /**
+ * Constructs an instance of MachineImagesClient, using the given settings. The channels are
+ * created based on the settings passed in, or defaults for any settings that are not set.
+ */
+ public static final MachineImagesClient create(MachineImagesSettings settings)
+ throws IOException {
+ return new MachineImagesClient(settings);
+ }
+
+ /**
+ * Constructs an instance of MachineImagesClient, using the given stub for making calls. This is
+ * for advanced usage - prefer using create(MachineImagesSettings).
+ */
+ @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
+ public static final MachineImagesClient create(MachineImagesStub stub) {
+ return new MachineImagesClient(stub);
+ }
+
+ /**
+ * Constructs an instance of MachineImagesClient, using the given settings. This is protected so
+ * that it is easy to make a subclass, but otherwise, the static factory methods should be
+ * preferred.
+ */
+ protected MachineImagesClient(MachineImagesSettings settings) throws IOException {
+ this.settings = settings;
+ this.stub = ((MachineImagesStubSettings) settings.getStubSettings()).createStub();
+ }
+
+ @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
+ protected MachineImagesClient(MachineImagesStub stub) {
+ this.settings = null;
+ this.stub = stub;
+ }
+
+ public final MachineImagesSettings getSettings() {
+ return settings;
+ }
+
+ @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
+ public MachineImagesStub getStub() {
+ return stub;
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Deletes the specified machine image. Deleting a machine image is permanent and cannot be
+ * undone.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String machineImage = "machineImage1817774420";
+ * Operation response = machineImagesClient.deleteAsync(project, machineImage).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param machineImage The name of the machine image to delete.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture deleteAsync(
+ String project, String machineImage) {
+ DeleteMachineImageRequest request =
+ DeleteMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setMachineImage(machineImage)
+ .build();
+ return deleteAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Deletes the specified machine image. Deleting a machine image is permanent and cannot be
+ * undone.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * DeleteMachineImageRequest request =
+ * DeleteMachineImageRequest.newBuilder()
+ * .setMachineImage("machineImage1817774420")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Operation response = machineImagesClient.deleteAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture deleteAsync(
+ DeleteMachineImageRequest request) {
+ return deleteOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Deletes the specified machine image. Deleting a machine image is permanent and cannot be
+ * undone.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * DeleteMachineImageRequest request =
+ * DeleteMachineImageRequest.newBuilder()
+ * .setMachineImage("machineImage1817774420")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * machineImagesClient.deleteOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ deleteOperationCallable() {
+ return stub.deleteOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Deletes the specified machine image. Deleting a machine image is permanent and cannot be
+ * undone.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * DeleteMachineImageRequest request =
+ * DeleteMachineImageRequest.newBuilder()
+ * .setMachineImage("machineImage1817774420")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = machineImagesClient.deleteCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable deleteCallable() {
+ return stub.deleteCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns the specified machine image. Gets a list of available machine images by making a list()
+ * request.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String machineImage = "machineImage1817774420";
+ * MachineImage response = machineImagesClient.get(project, machineImage);
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param machineImage The name of the machine image.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final MachineImage get(String project, String machineImage) {
+ GetMachineImageRequest request =
+ GetMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setMachineImage(machineImage)
+ .build();
+ return get(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns the specified machine image. Gets a list of available machine images by making a list()
+ * request.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * GetMachineImageRequest request =
+ * GetMachineImageRequest.newBuilder()
+ * .setMachineImage("machineImage1817774420")
+ * .setProject("project-309310695")
+ * .build();
+ * MachineImage response = machineImagesClient.get(request);
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final MachineImage get(GetMachineImageRequest request) {
+ return getCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns the specified machine image. Gets a list of available machine images by making a list()
+ * request.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * GetMachineImageRequest request =
+ * GetMachineImageRequest.newBuilder()
+ * .setMachineImage("machineImage1817774420")
+ * .setProject("project-309310695")
+ * .build();
+ * ApiFuture future = machineImagesClient.getCallable().futureCall(request);
+ * // Do something.
+ * MachineImage response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable getCallable() {
+ return stub.getCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Gets the access control policy for a resource. May be empty if no such policy or resource
+ * exists.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String resource = "resource-341064690";
+ * Policy response = machineImagesClient.getIamPolicy(project, resource);
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param resource Name or id of the resource for this request.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Policy getIamPolicy(String project, String resource) {
+ GetIamPolicyMachineImageRequest request =
+ GetIamPolicyMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setResource(resource)
+ .build();
+ return getIamPolicy(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Gets the access control policy for a resource. May be empty if no such policy or resource
+ * exists.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * GetIamPolicyMachineImageRequest request =
+ * GetIamPolicyMachineImageRequest.newBuilder()
+ * .setOptionsRequestedPolicyVersion(-574521795)
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .build();
+ * Policy response = machineImagesClient.getIamPolicy(request);
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Policy getIamPolicy(GetIamPolicyMachineImageRequest request) {
+ return getIamPolicyCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Gets the access control policy for a resource. May be empty if no such policy or resource
+ * exists.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * GetIamPolicyMachineImageRequest request =
+ * GetIamPolicyMachineImageRequest.newBuilder()
+ * .setOptionsRequestedPolicyVersion(-574521795)
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .build();
+ * ApiFuture future = machineImagesClient.getIamPolicyCallable().futureCall(request);
+ * // Do something.
+ * Policy response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable getIamPolicyCallable() {
+ return stub.getIamPolicyCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a machine image in the specified project using the data that is included in the
+ * request. If you are creating a new machine image to update an existing instance, your new
+ * machine image should use the same network or, if applicable, the same subnetwork as the
+ * original instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * MachineImage machineImageResource = MachineImage.newBuilder().build();
+ * Operation response = machineImagesClient.insertAsync(project, machineImageResource).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param machineImageResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture insertAsync(
+ String project, MachineImage machineImageResource) {
+ InsertMachineImageRequest request =
+ InsertMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setMachineImageResource(machineImageResource)
+ .build();
+ return insertAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a machine image in the specified project using the data that is included in the
+ * request. If you are creating a new machine image to update an existing instance, your new
+ * machine image should use the same network or, if applicable, the same subnetwork as the
+ * original instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * InsertMachineImageRequest request =
+ * InsertMachineImageRequest.newBuilder()
+ * .setMachineImageResource(MachineImage.newBuilder().build())
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSourceInstance("sourceInstance-808380976")
+ * .build();
+ * Operation response = machineImagesClient.insertAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture insertAsync(
+ InsertMachineImageRequest request) {
+ return insertOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a machine image in the specified project using the data that is included in the
+ * request. If you are creating a new machine image to update an existing instance, your new
+ * machine image should use the same network or, if applicable, the same subnetwork as the
+ * original instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * InsertMachineImageRequest request =
+ * InsertMachineImageRequest.newBuilder()
+ * .setMachineImageResource(MachineImage.newBuilder().build())
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSourceInstance("sourceInstance-808380976")
+ * .build();
+ * OperationFuture future =
+ * machineImagesClient.insertOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ insertOperationCallable() {
+ return stub.insertOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a machine image in the specified project using the data that is included in the
+ * request. If you are creating a new machine image to update an existing instance, your new
+ * machine image should use the same network or, if applicable, the same subnetwork as the
+ * original instance.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * InsertMachineImageRequest request =
+ * InsertMachineImageRequest.newBuilder()
+ * .setMachineImageResource(MachineImage.newBuilder().build())
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSourceInstance("sourceInstance-808380976")
+ * .build();
+ * ApiFuture future = machineImagesClient.insertCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable insertCallable() {
+ return stub.insertCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Retrieves a list of machine images that are contained within the specified project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * for (MachineImage element : machineImagesClient.list(project).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListPagedResponse list(String project) {
+ ListMachineImagesRequest request =
+ ListMachineImagesRequest.newBuilder().setProject(project).build();
+ return list(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Retrieves a list of machine images that are contained within the specified project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * ListMachineImagesRequest request =
+ * ListMachineImagesRequest.newBuilder()
+ * .setFilter("filter-1274492040")
+ * .setMaxResults(1128457243)
+ * .setOrderBy("orderBy-1207110587")
+ * .setPageToken("pageToken873572522")
+ * .setProject("project-309310695")
+ * .setReturnPartialSuccess(true)
+ * .build();
+ * for (MachineImage element : machineImagesClient.list(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListPagedResponse list(ListMachineImagesRequest request) {
+ return listPagedCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Retrieves a list of machine images that are contained within the specified project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * ListMachineImagesRequest request =
+ * ListMachineImagesRequest.newBuilder()
+ * .setFilter("filter-1274492040")
+ * .setMaxResults(1128457243)
+ * .setOrderBy("orderBy-1207110587")
+ * .setPageToken("pageToken873572522")
+ * .setProject("project-309310695")
+ * .setReturnPartialSuccess(true)
+ * .build();
+ * ApiFuture future = machineImagesClient.listPagedCallable().futureCall(request);
+ * // Do something.
+ * for (MachineImage element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ * }
+ */
+ public final UnaryCallable listPagedCallable() {
+ return stub.listPagedCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Retrieves a list of machine images that are contained within the specified project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * ListMachineImagesRequest request =
+ * ListMachineImagesRequest.newBuilder()
+ * .setFilter("filter-1274492040")
+ * .setMaxResults(1128457243)
+ * .setOrderBy("orderBy-1207110587")
+ * .setPageToken("pageToken873572522")
+ * .setProject("project-309310695")
+ * .setReturnPartialSuccess(true)
+ * .build();
+ * while (true) {
+ * MachineImageList response = machineImagesClient.listCallable().call(request);
+ * for (MachineImage element : response.getResponsesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ * }
+ */
+ public final UnaryCallable listCallable() {
+ return stub.listCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Sets the access control policy on the specified resource. Replaces any existing policy.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String resource = "resource-341064690";
+ * GlobalSetPolicyRequest globalSetPolicyRequestResource =
+ * GlobalSetPolicyRequest.newBuilder().build();
+ * Policy response =
+ * machineImagesClient.setIamPolicy(project, resource, globalSetPolicyRequestResource);
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param resource Name or id of the resource for this request.
+ * @param globalSetPolicyRequestResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Policy setIamPolicy(
+ String project, String resource, GlobalSetPolicyRequest globalSetPolicyRequestResource) {
+ SetIamPolicyMachineImageRequest request =
+ SetIamPolicyMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setResource(resource)
+ .setGlobalSetPolicyRequestResource(globalSetPolicyRequestResource)
+ .build();
+ return setIamPolicy(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Sets the access control policy on the specified resource. Replaces any existing policy.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * SetIamPolicyMachineImageRequest request =
+ * SetIamPolicyMachineImageRequest.newBuilder()
+ * .setGlobalSetPolicyRequestResource(GlobalSetPolicyRequest.newBuilder().build())
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .build();
+ * Policy response = machineImagesClient.setIamPolicy(request);
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final Policy setIamPolicy(SetIamPolicyMachineImageRequest request) {
+ return setIamPolicyCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Sets the access control policy on the specified resource. Replaces any existing policy.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * SetIamPolicyMachineImageRequest request =
+ * SetIamPolicyMachineImageRequest.newBuilder()
+ * .setGlobalSetPolicyRequestResource(GlobalSetPolicyRequest.newBuilder().build())
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .build();
+ * ApiFuture future = machineImagesClient.setIamPolicyCallable().futureCall(request);
+ * // Do something.
+ * Policy response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable setIamPolicyCallable() {
+ return stub.setIamPolicyCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns permissions that a caller has on the specified resource.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String resource = "resource-341064690";
+ * TestPermissionsRequest testPermissionsRequestResource =
+ * TestPermissionsRequest.newBuilder().build();
+ * TestPermissionsResponse response =
+ * machineImagesClient.testIamPermissions(project, resource, testPermissionsRequestResource);
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param resource Name or id of the resource for this request.
+ * @param testPermissionsRequestResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final TestPermissionsResponse testIamPermissions(
+ String project, String resource, TestPermissionsRequest testPermissionsRequestResource) {
+ TestIamPermissionsMachineImageRequest request =
+ TestIamPermissionsMachineImageRequest.newBuilder()
+ .setProject(project)
+ .setResource(resource)
+ .setTestPermissionsRequestResource(testPermissionsRequestResource)
+ .build();
+ return testIamPermissions(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns permissions that a caller has on the specified resource.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * TestIamPermissionsMachineImageRequest request =
+ * TestIamPermissionsMachineImageRequest.newBuilder()
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .setTestPermissionsRequestResource(TestPermissionsRequest.newBuilder().build())
+ * .build();
+ * TestPermissionsResponse response = machineImagesClient.testIamPermissions(request);
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final TestPermissionsResponse testIamPermissions(
+ TestIamPermissionsMachineImageRequest request) {
+ return testIamPermissionsCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Returns permissions that a caller has on the specified resource.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * TestIamPermissionsMachineImageRequest request =
+ * TestIamPermissionsMachineImageRequest.newBuilder()
+ * .setProject("project-309310695")
+ * .setResource("resource-341064690")
+ * .setTestPermissionsRequestResource(TestPermissionsRequest.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * machineImagesClient.testIamPermissionsCallable().futureCall(request);
+ * // Do something.
+ * TestPermissionsResponse response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable
+ testIamPermissionsCallable() {
+ return stub.testIamPermissionsCallable();
+ }
+
+ @Override
+ public final void close() {
+ stub.close();
+ }
+
+ @Override
+ public void shutdown() {
+ stub.shutdown();
+ }
+
+ @Override
+ public boolean isShutdown() {
+ return stub.isShutdown();
+ }
+
+ @Override
+ public boolean isTerminated() {
+ return stub.isTerminated();
+ }
+
+ @Override
+ public void shutdownNow() {
+ stub.shutdownNow();
+ }
+
+ @Override
+ public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
+ return stub.awaitTermination(duration, unit);
+ }
+
+ public static class ListPagedResponse
+ extends AbstractPagedListResponse<
+ ListMachineImagesRequest,
+ MachineImageList,
+ MachineImage,
+ ListPage,
+ ListFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage, input -> new ListPagedResponse(input), MoreExecutors.directExecutor());
+ }
+
+ private ListPagedResponse(ListPage page) {
+ super(page, ListFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListPage
+ extends AbstractPage {
+
+ private ListPage(
+ PageContext context,
+ MachineImageList response) {
+ super(context, response);
+ }
+
+ private static ListPage createEmptyPage() {
+ return new ListPage(null, null);
+ }
+
+ @Override
+ protected ListPage createPage(
+ PageContext context,
+ MachineImageList response) {
+ return new ListPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListMachineImagesRequest,
+ MachineImageList,
+ MachineImage,
+ ListPage,
+ ListFixedSizeCollection> {
+
+ private ListFixedSizeCollection(List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListFixedSizeCollection createEmptyCollection() {
+ return new ListFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListFixedSizeCollection createCollection(List pages, int collectionSize) {
+ return new ListFixedSizeCollection(pages, collectionSize);
+ }
+ }
+}
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesSettings.java
new file mode 100644
index 000000000..a34ab86ae
--- /dev/null
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/MachineImagesSettings.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.compute.v1;
+
+import static com.google.cloud.compute.v1.MachineImagesClient.ListPagedResponse;
+
+import com.google.api.core.ApiFunction;
+import com.google.api.core.BetaApi;
+import com.google.api.gax.core.GoogleCredentialsProvider;
+import com.google.api.gax.core.InstantiatingExecutorProvider;
+import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
+import com.google.api.gax.rpc.ApiClientHeaderProvider;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.ClientSettings;
+import com.google.api.gax.rpc.OperationCallSettings;
+import com.google.api.gax.rpc.PagedCallSettings;
+import com.google.api.gax.rpc.TransportChannelProvider;
+import com.google.api.gax.rpc.UnaryCallSettings;
+import com.google.cloud.compute.v1.stub.MachineImagesStubSettings;
+import java.io.IOException;
+import java.util.List;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * Settings class to configure an instance of {@link MachineImagesClient}.
+ *
+ * The default instance has everything set to sensible defaults:
+ *
+ *
+ * - The default service address (compute.googleapis.com) and default port (443) are used.
+ *
- Credentials are acquired automatically through Application Default Credentials.
+ *
- Retries are configured for idempotent methods but not for non-idempotent methods.
+ *
+ *
+ * The builder of this class is recursive, so contained classes are themselves builders. When
+ * build() is called, the tree of builders is called to create the complete settings object.
+ *
+ *
For example, to set the total timeout of get to 30 seconds:
+ *
+ *
{@code
+ * MachineImagesSettings.Builder machineImagesSettingsBuilder = MachineImagesSettings.newBuilder();
+ * machineImagesSettingsBuilder
+ * .getSettings()
+ * .setRetrySettings(
+ * machineImagesSettingsBuilder
+ * .getSettings()
+ * .getRetrySettings()
+ * .toBuilder()
+ * .setTotalTimeout(Duration.ofSeconds(30))
+ * .build());
+ * MachineImagesSettings machineImagesSettings = machineImagesSettingsBuilder.build();
+ * }
+ */
+@Generated("by gapic-generator-java")
+public class MachineImagesSettings extends ClientSettings {
+
+ /** Returns the object with the settings used for calls to delete. */
+ public UnaryCallSettings deleteSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).deleteSettings();
+ }
+
+ /** Returns the object with the settings used for calls to delete. */
+ public OperationCallSettings
+ deleteOperationSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).deleteOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to get. */
+ public UnaryCallSettings getSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).getSettings();
+ }
+
+ /** Returns the object with the settings used for calls to getIamPolicy. */
+ public UnaryCallSettings getIamPolicySettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).getIamPolicySettings();
+ }
+
+ /** Returns the object with the settings used for calls to insert. */
+ public UnaryCallSettings insertSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).insertSettings();
+ }
+
+ /** Returns the object with the settings used for calls to insert. */
+ public OperationCallSettings
+ insertOperationSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).insertOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to list. */
+ public PagedCallSettings
+ listSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).listSettings();
+ }
+
+ /** Returns the object with the settings used for calls to setIamPolicy. */
+ public UnaryCallSettings setIamPolicySettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).setIamPolicySettings();
+ }
+
+ /** Returns the object with the settings used for calls to testIamPermissions. */
+ public UnaryCallSettings
+ testIamPermissionsSettings() {
+ return ((MachineImagesStubSettings) getStubSettings()).testIamPermissionsSettings();
+ }
+
+ public static final MachineImagesSettings create(MachineImagesStubSettings stub)
+ throws IOException {
+ return new MachineImagesSettings.Builder(stub.toBuilder()).build();
+ }
+
+ /** Returns a builder for the default ExecutorProvider for this service. */
+ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
+ return MachineImagesStubSettings.defaultExecutorProviderBuilder();
+ }
+
+ /** Returns the default service endpoint. */
+ public static String getDefaultEndpoint() {
+ return MachineImagesStubSettings.getDefaultEndpoint();
+ }
+
+ /** Returns the default service scopes. */
+ public static List getDefaultServiceScopes() {
+ return MachineImagesStubSettings.getDefaultServiceScopes();
+ }
+
+ /** Returns a builder for the default credentials for this service. */
+ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
+ return MachineImagesStubSettings.defaultCredentialsProviderBuilder();
+ }
+
+ /** Returns a builder for the default ChannelProvider for this service. */
+ public static InstantiatingHttpJsonChannelProvider.Builder
+ defaultHttpJsonTransportProviderBuilder() {
+ return MachineImagesStubSettings.defaultHttpJsonTransportProviderBuilder();
+ }
+
+ public static TransportChannelProvider defaultTransportChannelProvider() {
+ return MachineImagesStubSettings.defaultTransportChannelProvider();
+ }
+
+ @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
+ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
+ return MachineImagesStubSettings.defaultApiClientHeaderProviderBuilder();
+ }
+
+ /** Returns a new builder for this class. */
+ public static Builder newBuilder() {
+ return Builder.createDefault();
+ }
+
+ /** Returns a new builder for this class. */
+ public static Builder newBuilder(ClientContext clientContext) {
+ return new Builder(clientContext);
+ }
+
+ /** Returns a builder containing all the values of this settings class. */
+ public Builder toBuilder() {
+ return new Builder(this);
+ }
+
+ protected MachineImagesSettings(Builder settingsBuilder) throws IOException {
+ super(settingsBuilder);
+ }
+
+ /** Builder for MachineImagesSettings. */
+ public static class Builder extends ClientSettings.Builder {
+
+ protected Builder() throws IOException {
+ this(((ClientContext) null));
+ }
+
+ protected Builder(ClientContext clientContext) {
+ super(MachineImagesStubSettings.newBuilder(clientContext));
+ }
+
+ protected Builder(MachineImagesSettings settings) {
+ super(settings.getStubSettings().toBuilder());
+ }
+
+ protected Builder(MachineImagesStubSettings.Builder stubSettings) {
+ super(stubSettings);
+ }
+
+ private static Builder createDefault() {
+ return new Builder(MachineImagesStubSettings.newBuilder());
+ }
+
+ public MachineImagesStubSettings.Builder getStubSettingsBuilder() {
+ return ((MachineImagesStubSettings.Builder) getStubSettings());
+ }
+
+ /**
+ * Applies the given settings updater function to all of the unary API methods in this service.
+ *
+ * Note: This method does not support applying settings to streaming methods.
+ */
+ public Builder applyToAllUnaryMethods(
+ ApiFunction, Void> settingsUpdater) {
+ super.applyToAllUnaryMethods(
+ getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
+ return this;
+ }
+
+ /** Returns the builder for the settings used for calls to delete. */
+ public UnaryCallSettings.Builder deleteSettings() {
+ return getStubSettingsBuilder().deleteSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to delete. */
+ public OperationCallSettings.Builder
+ deleteOperationSettings() {
+ return getStubSettingsBuilder().deleteOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to get. */
+ public UnaryCallSettings.Builder getSettings() {
+ return getStubSettingsBuilder().getSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to getIamPolicy. */
+ public UnaryCallSettings.Builder
+ getIamPolicySettings() {
+ return getStubSettingsBuilder().getIamPolicySettings();
+ }
+
+ /** Returns the builder for the settings used for calls to insert. */
+ public UnaryCallSettings.Builder insertSettings() {
+ return getStubSettingsBuilder().insertSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to insert. */
+ public OperationCallSettings.Builder
+ insertOperationSettings() {
+ return getStubSettingsBuilder().insertOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to list. */
+ public PagedCallSettings.Builder
+ listSettings() {
+ return getStubSettingsBuilder().listSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to setIamPolicy. */
+ public UnaryCallSettings.Builder
+ setIamPolicySettings() {
+ return getStubSettingsBuilder().setIamPolicySettings();
+ }
+
+ /** Returns the builder for the settings used for calls to testIamPermissions. */
+ public UnaryCallSettings.Builder
+ testIamPermissionsSettings() {
+ return getStubSettingsBuilder().testIamPermissionsSettings();
+ }
+
+ @Override
+ public MachineImagesSettings build() throws IOException {
+ return new MachineImagesSettings(this);
+ }
+ }
+}
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ProjectsClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ProjectsClient.java
index cf3fb8840..580521ee1 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ProjectsClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ProjectsClient.java
@@ -574,7 +574,12 @@ public final OperationFuture enableXpnResourceAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the specified Project resource.
+ * Returns the specified Project resource. To decrease latency for this method, you can optionally
+ * omit any unneeded information from the response by using a field mask. This practice is
+ * especially recommended for unused quota information (the `quotas` field). To exclude one or
+ * more fields, set your request's `fields` query parameter to only include the fields you need.
+ * For example, to only include the `id` and `selfLink` fields, add the query parameter
+ * `?fields=id,selfLink` to your request.
*
* Sample code:
*
@@ -595,7 +600,12 @@ public final Project get(String project) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the specified Project resource.
+ * Returns the specified Project resource. To decrease latency for this method, you can optionally
+ * omit any unneeded information from the response by using a field mask. This practice is
+ * especially recommended for unused quota information (the `quotas` field). To exclude one or
+ * more fields, set your request's `fields` query parameter to only include the fields you need.
+ * For example, to only include the `id` and `selfLink` fields, add the query parameter
+ * `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -616,7 +626,12 @@ public final Project get(GetProjectRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the specified Project resource.
+ * Returns the specified Project resource. To decrease latency for this method, you can optionally
+ * omit any unneeded information from the response by using a field mask. This practice is
+ * especially recommended for unused quota information (the `quotas` field). To exclude one or
+ * more fields, set your request's `fields` query parameter to only include the fields you need.
+ * For example, to only include the `id` and `selfLink` fields, add the query parameter
+ * `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -1061,7 +1076,10 @@ public final UnaryCallable moveDiskCallable()
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Moves an instance and its attached persistent disks from one zone to another.
+ * Moves an instance and its attached persistent disks from one zone to another. *Note*:
+ * Moving VMs or disks by using this method might cause unexpected behavior. For more information,
+ * see the [known
+ * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).
*
* Sample code:
*
@@ -1090,7 +1108,10 @@ public final OperationFuture moveInstanceAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Moves an instance and its attached persistent disks from one zone to another.
+ * Moves an instance and its attached persistent disks from one zone to another. *Note*:
+ * Moving VMs or disks by using this method might cause unexpected behavior. For more information,
+ * see the [known
+ * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).
*
* Sample code:
*
@@ -1118,7 +1139,10 @@ public final OperationFuture moveInstanceAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Moves an instance and its attached persistent disks from one zone to another.
+ * Moves an instance and its attached persistent disks from one zone to another. *Note*:
+ * Moving VMs or disks by using this method might cause unexpected behavior. For more information,
+ * see the [known
+ * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).
*
* Sample code:
*
@@ -1144,7 +1168,10 @@ public final OperationFuture moveInstanceAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Moves an instance and its attached persistent disks from one zone to another.
+ * Moves an instance and its attached persistent disks from one zone to another. *Note*:
+ * Moving VMs or disks by using this method might cause unexpected behavior. For more information,
+ * see the [known
+ * issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior).
*
* Sample code:
*
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsClient.java
index ebb9c43ef..87ff99849 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsClient.java
@@ -603,6 +603,141 @@ public final UnaryCallable listCal
return stub.listCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates the specified commitment with the data included in the request. Update is performed
+ * only on selected fields included as part of update-mask. Only the following fields can be
+ * modified: auto_renew.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (RegionCommitmentsClient regionCommitmentsClient = RegionCommitmentsClient.create()) {
+ * String project = "project-309310695";
+ * String region = "region-934795532";
+ * String commitment = "commitment1019005717";
+ * Commitment commitmentResource = Commitment.newBuilder().build();
+ * Operation response =
+ * regionCommitmentsClient
+ * .updateAsync(project, region, commitment, commitmentResource)
+ * .get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param region Name of the region for this request.
+ * @param commitment Name of the commitment for which auto renew is being updated.
+ * @param commitmentResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture updateAsync(
+ String project, String region, String commitment, Commitment commitmentResource) {
+ UpdateRegionCommitmentRequest request =
+ UpdateRegionCommitmentRequest.newBuilder()
+ .setProject(project)
+ .setRegion(region)
+ .setCommitment(commitment)
+ .setCommitmentResource(commitmentResource)
+ .build();
+ return updateAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates the specified commitment with the data included in the request. Update is performed
+ * only on selected fields included as part of update-mask. Only the following fields can be
+ * modified: auto_renew.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (RegionCommitmentsClient regionCommitmentsClient = RegionCommitmentsClient.create()) {
+ * UpdateRegionCommitmentRequest request =
+ * UpdateRegionCommitmentRequest.newBuilder()
+ * .setCommitment("commitment1019005717")
+ * .setCommitmentResource(Commitment.newBuilder().build())
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRegion("region-934795532")
+ * .setRequestId("requestId693933066")
+ * .setUpdateMask("updateMask-296147115")
+ * .build();
+ * Operation response = regionCommitmentsClient.updateAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture updateAsync(
+ UpdateRegionCommitmentRequest request) {
+ return updateOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates the specified commitment with the data included in the request. Update is performed
+ * only on selected fields included as part of update-mask. Only the following fields can be
+ * modified: auto_renew.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (RegionCommitmentsClient regionCommitmentsClient = RegionCommitmentsClient.create()) {
+ * UpdateRegionCommitmentRequest request =
+ * UpdateRegionCommitmentRequest.newBuilder()
+ * .setCommitment("commitment1019005717")
+ * .setCommitmentResource(Commitment.newBuilder().build())
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRegion("region-934795532")
+ * .setRequestId("requestId693933066")
+ * .setUpdateMask("updateMask-296147115")
+ * .build();
+ * OperationFuture future =
+ * regionCommitmentsClient.updateOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ updateOperationCallable() {
+ return stub.updateOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates the specified commitment with the data included in the request. Update is performed
+ * only on selected fields included as part of update-mask. Only the following fields can be
+ * modified: auto_renew.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (RegionCommitmentsClient regionCommitmentsClient = RegionCommitmentsClient.create()) {
+ * UpdateRegionCommitmentRequest request =
+ * UpdateRegionCommitmentRequest.newBuilder()
+ * .setCommitment("commitment1019005717")
+ * .setCommitmentResource(Commitment.newBuilder().build())
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRegion("region-934795532")
+ * .setRequestId("requestId693933066")
+ * .setUpdateMask("updateMask-296147115")
+ * .build();
+ * ApiFuture future = regionCommitmentsClient.updateCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable updateCallable() {
+ return stub.updateCallable();
+ }
+
@Override
public final void close() {
stub.close();
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsSettings.java
index 56c1164bb..6b9fbe833 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionCommitmentsSettings.java
@@ -102,6 +102,17 @@ public UnaryCallSettings insertSetting
return ((RegionCommitmentsStubSettings) getStubSettings()).listSettings();
}
+ /** Returns the object with the settings used for calls to update. */
+ public UnaryCallSettings updateSettings() {
+ return ((RegionCommitmentsStubSettings) getStubSettings()).updateSettings();
+ }
+
+ /** Returns the object with the settings used for calls to update. */
+ public OperationCallSettings
+ updateOperationSettings() {
+ return ((RegionCommitmentsStubSettings) getStubSettings()).updateOperationSettings();
+ }
+
public static final RegionCommitmentsSettings create(RegionCommitmentsStubSettings stub)
throws IOException {
return new RegionCommitmentsSettings.Builder(stub.toBuilder()).build();
@@ -232,6 +243,17 @@ public UnaryCallSettings.Builder inser
return getStubSettingsBuilder().listSettings();
}
+ /** Returns the builder for the settings used for calls to update. */
+ public UnaryCallSettings.Builder updateSettings() {
+ return getStubSettingsBuilder().updateSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to update. */
+ public OperationCallSettings.Builder
+ updateOperationSettings() {
+ return getStubSettingsBuilder().updateOperationSettings();
+ }
+
@Override
public RegionCommitmentsSettings build() throws IOException {
return new RegionCommitmentsSettings(this);
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionDisksClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionDisksClient.java
index cbd486447..0d91a4554 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionDisksClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionDisksClient.java
@@ -287,7 +287,9 @@ public final OperationFuture addResourcePoliciesAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of this regional disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -322,7 +324,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of this regional disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -352,7 +356,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of this regional disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
@@ -380,7 +386,9 @@ public final OperationFuture createSnapshotAsync(
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Creates a snapshot of this regional disk.
+ * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider
+ * using snapshots.insert instead, as that method supports more features, such as creating
+ * snapshots in a project different from the source disk project.
*
* Sample code:
*
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionsClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionsClient.java
index 5f90753df..e9836a9df 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionsClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/RegionsClient.java
@@ -147,7 +147,11 @@ public RegionsStub getStub() {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Returns the specified Region resource. Gets a list of available regions by making a list()
- * request.
+ * request. To decrease latency for this method, you can optionally omit any unneeded information
+ * from the response by using a field mask. This practice is especially recommended for unused
+ * quota information (the `quotas` field). To exclude one or more fields, set your request's
+ * `fields` query parameter to only include the fields you need. For example, to only include the
+ * `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -172,7 +176,11 @@ public final Region get(String project, String region) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Returns the specified Region resource. Gets a list of available regions by making a list()
- * request.
+ * request. To decrease latency for this method, you can optionally omit any unneeded information
+ * from the response by using a field mask. This practice is especially recommended for unused
+ * quota information (the `quotas` field). To exclude one or more fields, set your request's
+ * `fields` query parameter to only include the fields you need. For example, to only include the
+ * `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -197,7 +205,11 @@ public final Region get(GetRegionRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Returns the specified Region resource. Gets a list of available regions by making a list()
- * request.
+ * request. To decrease latency for this method, you can optionally omit any unneeded information
+ * from the response by using a field mask. This practice is especially recommended for unused
+ * quota information (the `quotas` field). To exclude one or more fields, set your request's
+ * `fields` query parameter to only include the fields you need. For example, to only include the
+ * `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -220,7 +232,12 @@ public final UnaryCallable getCallable() {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Retrieves the list of region resources available to the specified project.
+ * Retrieves the list of region resources available to the specified project. To decrease latency
+ * for this method, you can optionally omit any unneeded information from the response by using a
+ * field mask. This practice is especially recommended for unused quota information (the
+ * `items.quotas` field). To exclude one or more fields, set your request's `fields` query
+ * parameter to only include the fields you need. For example, to only include the `id` and
+ * `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
* Sample code:
*
@@ -243,7 +260,12 @@ public final ListPagedResponse list(String project) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Retrieves the list of region resources available to the specified project.
+ * Retrieves the list of region resources available to the specified project. To decrease latency
+ * for this method, you can optionally omit any unneeded information from the response by using a
+ * field mask. This practice is especially recommended for unused quota information (the
+ * `items.quotas` field). To exclude one or more fields, set your request's `fields` query
+ * parameter to only include the fields you need. For example, to only include the `id` and
+ * `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -273,7 +295,12 @@ public final ListPagedResponse list(ListRegionsRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Retrieves the list of region resources available to the specified project.
+ * Retrieves the list of region resources available to the specified project. To decrease latency
+ * for this method, you can optionally omit any unneeded information from the response by using a
+ * field mask. This practice is especially recommended for unused quota information (the
+ * `items.quotas` field). To exclude one or more fields, set your request's `fields` query
+ * parameter to only include the fields you need. For example, to only include the `id` and
+ * `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
*
Sample code:
*
@@ -302,7 +329,12 @@ public final UnaryCallable listPagedCalla
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Retrieves the list of region resources available to the specified project.
+ * Retrieves the list of region resources available to the specified project. To decrease latency
+ * for this method, you can optionally omit any unneeded information from the response by using a
+ * field mask. This practice is especially recommended for unused quota information (the
+ * `items.quotas` field). To exclude one or more fields, set your request's `fields` query
+ * parameter to only include the fields you need. For example, to only include the `id` and
+ * `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.
*
* Sample code:
*
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsClient.java
index 02466fbc3..859ca428f 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsClient.java
@@ -1103,6 +1103,130 @@ public final TestPermissionsResponse testIamPermissions(
return stub.testIamPermissionsCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Update share settings of the reservation.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (ReservationsClient reservationsClient = ReservationsClient.create()) {
+ * String project = "project-309310695";
+ * String zone = "zone3744684";
+ * String reservation = "reservation-1563081780";
+ * Reservation reservationResource = Reservation.newBuilder().build();
+ * Operation response =
+ * reservationsClient.updateAsync(project, zone, reservation, reservationResource).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param zone Name of the zone for this request.
+ * @param reservation Name of the reservation to update.
+ * @param reservationResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture updateAsync(
+ String project, String zone, String reservation, Reservation reservationResource) {
+ UpdateReservationRequest request =
+ UpdateReservationRequest.newBuilder()
+ .setProject(project)
+ .setZone(zone)
+ .setReservation(reservation)
+ .setReservationResource(reservationResource)
+ .build();
+ return updateAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Update share settings of the reservation.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (ReservationsClient reservationsClient = ReservationsClient.create()) {
+ * UpdateReservationRequest request =
+ * UpdateReservationRequest.newBuilder()
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setReservation("reservation-1563081780")
+ * .setReservationResource(Reservation.newBuilder().build())
+ * .setUpdateMask("updateMask-296147115")
+ * .setZone("zone3744684")
+ * .build();
+ * Operation response = reservationsClient.updateAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture updateAsync(UpdateReservationRequest request) {
+ return updateOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Update share settings of the reservation.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (ReservationsClient reservationsClient = ReservationsClient.create()) {
+ * UpdateReservationRequest request =
+ * UpdateReservationRequest.newBuilder()
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setReservation("reservation-1563081780")
+ * .setReservationResource(Reservation.newBuilder().build())
+ * .setUpdateMask("updateMask-296147115")
+ * .setZone("zone3744684")
+ * .build();
+ * OperationFuture future =
+ * reservationsClient.updateOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ updateOperationCallable() {
+ return stub.updateOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Update share settings of the reservation.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (ReservationsClient reservationsClient = ReservationsClient.create()) {
+ * UpdateReservationRequest request =
+ * UpdateReservationRequest.newBuilder()
+ * .setPaths("paths106438894")
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setReservation("reservation-1563081780")
+ * .setReservationResource(Reservation.newBuilder().build())
+ * .setUpdateMask("updateMask-296147115")
+ * .setZone("zone3744684")
+ * .build();
+ * ApiFuture future = reservationsClient.updateCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable updateCallable() {
+ return stub.updateCallable();
+ }
+
@Override
public final void close() {
stub.close();
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsSettings.java
index ec930d2b0..1d0def517 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/ReservationsSettings.java
@@ -137,6 +137,17 @@ public UnaryCallSettings setIamPolicySet
return ((ReservationsStubSettings) getStubSettings()).testIamPermissionsSettings();
}
+ /** Returns the object with the settings used for calls to update. */
+ public UnaryCallSettings updateSettings() {
+ return ((ReservationsStubSettings) getStubSettings()).updateSettings();
+ }
+
+ /** Returns the object with the settings used for calls to update. */
+ public OperationCallSettings
+ updateOperationSettings() {
+ return ((ReservationsStubSettings) getStubSettings()).updateOperationSettings();
+ }
+
public static final ReservationsSettings create(ReservationsStubSettings stub)
throws IOException {
return new ReservationsSettings.Builder(stub.toBuilder()).build();
@@ -306,6 +317,17 @@ public UnaryCallSettings.Builder resizeSett
return getStubSettingsBuilder().testIamPermissionsSettings();
}
+ /** Returns the builder for the settings used for calls to update. */
+ public UnaryCallSettings.Builder updateSettings() {
+ return getStubSettingsBuilder().updateSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to update. */
+ public OperationCallSettings.Builder
+ updateOperationSettings() {
+ return getStubSettingsBuilder().updateOperationSettings();
+ }
+
@Override
public ReservationsSettings build() throws IOException {
return new ReservationsSettings(this);
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsClient.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsClient.java
index f9ef8739c..e1b3d1e64 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsClient.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsClient.java
@@ -410,6 +410,123 @@ public final UnaryCallable getIamPolicyCall
return stub.getIamPolicyCallable();
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a snapshot in the specified project using the data included in the request. For regular
+ * snapshot creation, consider using this method instead of disks.createSnapshot, as this method
+ * supports more features, such as creating snapshots in a project different from the source disk
+ * project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (SnapshotsClient snapshotsClient = SnapshotsClient.create()) {
+ * String project = "project-309310695";
+ * Snapshot snapshotResource = Snapshot.newBuilder().build();
+ * Operation response = snapshotsClient.insertAsync(project, snapshotResource).get();
+ * }
+ * }
+ *
+ * @param project Project ID for this request.
+ * @param snapshotResource The body resource for this request
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture insertAsync(
+ String project, Snapshot snapshotResource) {
+ InsertSnapshotRequest request =
+ InsertSnapshotRequest.newBuilder()
+ .setProject(project)
+ .setSnapshotResource(snapshotResource)
+ .build();
+ return insertAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a snapshot in the specified project using the data included in the request. For regular
+ * snapshot creation, consider using this method instead of disks.createSnapshot, as this method
+ * supports more features, such as creating snapshots in a project different from the source disk
+ * project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (SnapshotsClient snapshotsClient = SnapshotsClient.create()) {
+ * InsertSnapshotRequest request =
+ * InsertSnapshotRequest.newBuilder()
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSnapshotResource(Snapshot.newBuilder().build())
+ * .build();
+ * Operation response = snapshotsClient.insertAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFuture insertAsync(InsertSnapshotRequest request) {
+ return insertOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a snapshot in the specified project using the data included in the request. For regular
+ * snapshot creation, consider using this method instead of disks.createSnapshot, as this method
+ * supports more features, such as creating snapshots in a project different from the source disk
+ * project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (SnapshotsClient snapshotsClient = SnapshotsClient.create()) {
+ * InsertSnapshotRequest request =
+ * InsertSnapshotRequest.newBuilder()
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSnapshotResource(Snapshot.newBuilder().build())
+ * .build();
+ * OperationFuture future =
+ * snapshotsClient.insertOperationCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ insertOperationCallable() {
+ return stub.insertOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a snapshot in the specified project using the data included in the request. For regular
+ * snapshot creation, consider using this method instead of disks.createSnapshot, as this method
+ * supports more features, such as creating snapshots in a project different from the source disk
+ * project.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (SnapshotsClient snapshotsClient = SnapshotsClient.create()) {
+ * InsertSnapshotRequest request =
+ * InsertSnapshotRequest.newBuilder()
+ * .setProject("project-309310695")
+ * .setRequestId("requestId693933066")
+ * .setSnapshotResource(Snapshot.newBuilder().build())
+ * .build();
+ * ApiFuture future = snapshotsClient.insertCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable insertCallable() {
+ return stub.insertCallable();
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Retrieves the list of Snapshot resources contained within the specified project.
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsSettings.java
index 9fb8e2b3c..144dc9f6f 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/SnapshotsSettings.java
@@ -90,6 +90,17 @@ public UnaryCallSettings getIamPolicySettin
return ((SnapshotsStubSettings) getStubSettings()).getIamPolicySettings();
}
+ /** Returns the object with the settings used for calls to insert. */
+ public UnaryCallSettings insertSettings() {
+ return ((SnapshotsStubSettings) getStubSettings()).insertSettings();
+ }
+
+ /** Returns the object with the settings used for calls to insert. */
+ public OperationCallSettings
+ insertOperationSettings() {
+ return ((SnapshotsStubSettings) getStubSettings()).insertOperationSettings();
+ }
+
/** Returns the object with the settings used for calls to list. */
public PagedCallSettings listSettings() {
return ((SnapshotsStubSettings) getStubSettings()).listSettings();
@@ -235,6 +246,17 @@ public UnaryCallSettings.Builder getIamPoli
return getStubSettingsBuilder().getIamPolicySettings();
}
+ /** Returns the builder for the settings used for calls to insert. */
+ public UnaryCallSettings.Builder insertSettings() {
+ return getStubSettingsBuilder().insertSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to insert. */
+ public OperationCallSettings.Builder
+ insertOperationSettings() {
+ return getStubSettingsBuilder().insertOperationSettings();
+ }
+
/** Returns the builder for the settings used for calls to list. */
public PagedCallSettings.Builder
listSettings() {
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/gapic_metadata.json b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/gapic_metadata.json
index b6b86302c..10df6e6d9 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/gapic_metadata.json
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/gapic_metadata.json
@@ -103,6 +103,9 @@
"Patch": {
"methods": ["patchAsync", "patchAsync", "patchOperationCallable", "patchCallable"]
},
+ "SetEdgeSecurityPolicy": {
+ "methods": ["setEdgeSecurityPolicyAsync", "setEdgeSecurityPolicyAsync", "setEdgeSecurityPolicyOperationCallable", "setEdgeSecurityPolicyCallable"]
+ },
"Update": {
"methods": ["updateAsync", "updateAsync", "updateOperationCallable", "updateCallable"]
}
@@ -142,6 +145,9 @@
"Patch": {
"methods": ["patchAsync", "patchAsync", "patchOperationCallable", "patchCallable"]
},
+ "SetEdgeSecurityPolicy": {
+ "methods": ["setEdgeSecurityPolicyAsync", "setEdgeSecurityPolicyAsync", "setEdgeSecurityPolicyOperationCallable", "setEdgeSecurityPolicyCallable"]
+ },
"SetSecurityPolicy": {
"methods": ["setSecurityPolicyAsync", "setSecurityPolicyAsync", "setSecurityPolicyOperationCallable", "setSecurityPolicyCallable"]
},
@@ -799,6 +805,9 @@
"Reset": {
"methods": ["resetAsync", "resetAsync", "resetOperationCallable", "resetCallable"]
},
+ "Resume": {
+ "methods": ["resumeAsync", "resumeAsync", "resumeOperationCallable", "resumeCallable"]
+ },
"SendDiagnosticInterrupt": {
"methods": ["sendDiagnosticInterrupt", "sendDiagnosticInterrupt", "sendDiagnosticInterruptCallable"]
},
@@ -850,6 +859,9 @@
"Stop": {
"methods": ["stopAsync", "stopAsync", "stopOperationCallable", "stopCallable"]
},
+ "Suspend": {
+ "methods": ["suspendAsync", "suspendAsync", "suspendOperationCallable", "suspendCallable"]
+ },
"TestIamPermissions": {
"methods": ["testIamPermissions", "testIamPermissions", "testIamPermissionsCallable"]
},
@@ -986,6 +998,36 @@
}
}
},
+ "MachineImages": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "MachineImagesClient",
+ "rpcs": {
+ "Delete": {
+ "methods": ["deleteAsync", "deleteAsync", "deleteOperationCallable", "deleteCallable"]
+ },
+ "Get": {
+ "methods": ["get", "get", "getCallable"]
+ },
+ "GetIamPolicy": {
+ "methods": ["getIamPolicy", "getIamPolicy", "getIamPolicyCallable"]
+ },
+ "Insert": {
+ "methods": ["insertAsync", "insertAsync", "insertOperationCallable", "insertCallable"]
+ },
+ "List": {
+ "methods": ["list", "list", "listPagedCallable", "listCallable"]
+ },
+ "SetIamPolicy": {
+ "methods": ["setIamPolicy", "setIamPolicy", "setIamPolicyCallable"]
+ },
+ "TestIamPermissions": {
+ "methods": ["testIamPermissions", "testIamPermissions", "testIamPermissionsCallable"]
+ }
+ }
+ }
+ }
+ },
"MachineTypes": {
"clients": {
"grpc": {
@@ -1383,6 +1425,9 @@
},
"List": {
"methods": ["list", "list", "listPagedCallable", "listCallable"]
+ },
+ "Update": {
+ "methods": ["updateAsync", "updateAsync", "updateOperationCallable", "updateCallable"]
}
}
}
@@ -1809,6 +1854,9 @@
},
"TestIamPermissions": {
"methods": ["testIamPermissions", "testIamPermissions", "testIamPermissionsCallable"]
+ },
+ "Update": {
+ "methods": ["updateAsync", "updateAsync", "updateOperationCallable", "updateCallable"]
}
}
}
@@ -1996,6 +2044,9 @@
"GetIamPolicy": {
"methods": ["getIamPolicy", "getIamPolicy", "getIamPolicyCallable"]
},
+ "Insert": {
+ "methods": ["insertAsync", "insertAsync", "insertOperationCallable", "insertCallable"]
+ },
"List": {
"methods": ["list", "list", "listPagedCallable", "listCallable"]
},
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/package-info.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/package-info.java
index e7e773409..cd9452e9f 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/package-info.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/package-info.java
@@ -447,6 +447,20 @@
* }
* }
*
+ * ======================= MachineImagesClient =======================
+ *
+ *
Service Description: The MachineImages API.
+ *
+ *
Sample for MachineImagesClient:
+ *
+ *
{@code
+ * try (MachineImagesClient machineImagesClient = MachineImagesClient.create()) {
+ * String project = "project-309310695";
+ * String machineImage = "machineImage1817774420";
+ * MachineImage response = machineImagesClient.get(project, machineImage);
+ * }
+ * }
+ *
* ======================= MachineTypesClient =======================
*
*
Service Description: The MachineTypes API.
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStub.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStub.java
index 19c49f105..3fb59967a 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStub.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStub.java
@@ -31,6 +31,7 @@
import com.google.cloud.compute.v1.ListBackendBucketsRequest;
import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.PatchBackendBucketRequest;
+import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest;
import com.google.cloud.compute.v1.UpdateBackendBucketRequest;
import javax.annotation.Generated;
@@ -102,6 +103,17 @@ public UnaryCallable patchCallable() {
throw new UnsupportedOperationException("Not implemented: patchCallable()");
}
+ public OperationCallable
+ setEdgeSecurityPolicyOperationCallable() {
+ throw new UnsupportedOperationException(
+ "Not implemented: setEdgeSecurityPolicyOperationCallable()");
+ }
+
+ public UnaryCallable
+ setEdgeSecurityPolicyCallable() {
+ throw new UnsupportedOperationException("Not implemented: setEdgeSecurityPolicyCallable()");
+ }
+
public OperationCallable
updateOperationCallable() {
throw new UnsupportedOperationException("Not implemented: updateOperationCallable()");
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStubSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStubSettings.java
index c7a09c8ee..deb078533 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStubSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendBucketsStubSettings.java
@@ -54,6 +54,7 @@
import com.google.cloud.compute.v1.ListBackendBucketsRequest;
import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.PatchBackendBucketRequest;
+import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest;
import com.google.cloud.compute.v1.UpdateBackendBucketRequest;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -125,6 +126,11 @@ public class BackendBucketsStubSettings extends StubSettings patchSettings;
private final OperationCallSettings
patchOperationSettings;
+ private final UnaryCallSettings
+ setEdgeSecurityPolicySettings;
+ private final OperationCallSettings<
+ SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings;
private final UnaryCallSettings updateSettings;
private final OperationCallSettings
updateOperationSettings;
@@ -253,6 +259,18 @@ public UnaryCallSettings patchSettings() {
return patchOperationSettings;
}
+ /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */
+ public UnaryCallSettings
+ setEdgeSecurityPolicySettings() {
+ return setEdgeSecurityPolicySettings;
+ }
+
+ /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */
+ public OperationCallSettings
+ setEdgeSecurityPolicyOperationSettings() {
+ return setEdgeSecurityPolicyOperationSettings;
+ }
+
/** Returns the object with the settings used for calls to update. */
public UnaryCallSettings updateSettings() {
return updateSettings;
@@ -354,6 +372,9 @@ protected BackendBucketsStubSettings(Builder settingsBuilder) throws IOException
listSettings = settingsBuilder.listSettings().build();
patchSettings = settingsBuilder.patchSettings().build();
patchOperationSettings = settingsBuilder.patchOperationSettings().build();
+ setEdgeSecurityPolicySettings = settingsBuilder.setEdgeSecurityPolicySettings().build();
+ setEdgeSecurityPolicyOperationSettings =
+ settingsBuilder.setEdgeSecurityPolicyOperationSettings().build();
updateSettings = settingsBuilder.updateSettings().build();
updateOperationSettings = settingsBuilder.updateOperationSettings().build();
}
@@ -384,6 +405,11 @@ public static class Builder extends StubSettings.Builder patchSettings;
private final OperationCallSettings.Builder
patchOperationSettings;
+ private final UnaryCallSettings.Builder
+ setEdgeSecurityPolicySettings;
+ private final OperationCallSettings.Builder<
+ SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings;
private final UnaryCallSettings.Builder updateSettings;
private final OperationCallSettings.Builder
updateOperationSettings;
@@ -449,6 +475,8 @@ protected Builder(ClientContext clientContext) {
listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT);
patchSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
patchOperationSettings = OperationCallSettings.newBuilder();
+ setEdgeSecurityPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ setEdgeSecurityPolicyOperationSettings = OperationCallSettings.newBuilder();
updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
updateOperationSettings = OperationCallSettings.newBuilder();
@@ -461,6 +489,7 @@ protected Builder(ClientContext clientContext) {
insertSettings,
listSettings,
patchSettings,
+ setEdgeSecurityPolicySettings,
updateSettings);
initDefaults(this);
}
@@ -481,6 +510,9 @@ protected Builder(BackendBucketsStubSettings settings) {
listSettings = settings.listSettings.toBuilder();
patchSettings = settings.patchSettings.toBuilder();
patchOperationSettings = settings.patchOperationSettings.toBuilder();
+ setEdgeSecurityPolicySettings = settings.setEdgeSecurityPolicySettings.toBuilder();
+ setEdgeSecurityPolicyOperationSettings =
+ settings.setEdgeSecurityPolicyOperationSettings.toBuilder();
updateSettings = settings.updateSettings.toBuilder();
updateOperationSettings = settings.updateOperationSettings.toBuilder();
@@ -493,6 +525,7 @@ protected Builder(BackendBucketsStubSettings settings) {
insertSettings,
listSettings,
patchSettings,
+ setEdgeSecurityPolicySettings,
updateSettings);
}
@@ -545,6 +578,11 @@ private static Builder initDefaults(Builder builder) {
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
+ builder
+ .setEdgeSecurityPolicySettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
+
builder
.updateSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
@@ -672,6 +710,31 @@ private static Builder initDefaults(Builder builder) {
.setTotalTimeout(Duration.ofMillis(600000L))
.build()));
+ builder
+ .setEdgeSecurityPolicyOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .
+ newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(500L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(20000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(600000L))
+ .build()));
+
builder
.updateOperationSettings()
.setInitialCallSettings(
@@ -794,6 +857,21 @@ public UnaryCallSettings.Builder patchSett
return patchOperationSettings;
}
+ /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */
+ public UnaryCallSettings.Builder
+ setEdgeSecurityPolicySettings() {
+ return setEdgeSecurityPolicySettings;
+ }
+
+ /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder<
+ SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings() {
+ return setEdgeSecurityPolicyOperationSettings;
+ }
+
/** Returns the builder for the settings used for calls to update. */
public UnaryCallSettings.Builder updateSettings() {
return updateSettings;
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStub.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStub.java
index 542c00b31..a4828cc11 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStub.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStub.java
@@ -36,6 +36,7 @@
import com.google.cloud.compute.v1.ListBackendServicesRequest;
import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.PatchBackendServiceRequest;
+import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest;
import com.google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest;
import com.google.cloud.compute.v1.UpdateBackendServiceRequest;
import javax.annotation.Generated;
@@ -123,6 +124,17 @@ public UnaryCallable patchCallable() {
throw new UnsupportedOperationException("Not implemented: patchCallable()");
}
+ public OperationCallable
+ setEdgeSecurityPolicyOperationCallable() {
+ throw new UnsupportedOperationException(
+ "Not implemented: setEdgeSecurityPolicyOperationCallable()");
+ }
+
+ public UnaryCallable
+ setEdgeSecurityPolicyCallable() {
+ throw new UnsupportedOperationException("Not implemented: setEdgeSecurityPolicyCallable()");
+ }
+
public OperationCallable
setSecurityPolicyOperationCallable() {
throw new UnsupportedOperationException(
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStubSettings.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStubSettings.java
index dde6f46cf..48986f972 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStubSettings.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/BackendServicesStubSettings.java
@@ -60,6 +60,7 @@
import com.google.cloud.compute.v1.ListBackendServicesRequest;
import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.PatchBackendServiceRequest;
+import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest;
import com.google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest;
import com.google.cloud.compute.v1.UpdateBackendServiceRequest;
import com.google.common.collect.ImmutableList;
@@ -141,6 +142,11 @@ public class BackendServicesStubSettings extends StubSettings patchSettings;
private final OperationCallSettings
patchOperationSettings;
+ private final UnaryCallSettings
+ setEdgeSecurityPolicySettings;
+ private final OperationCallSettings<
+ SetEdgeSecurityPolicyBackendServiceRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings;
private final UnaryCallSettings
setSecurityPolicySettings;
private final OperationCallSettings
@@ -364,6 +370,18 @@ public UnaryCallSettings patchSettings()
return patchOperationSettings;
}
+ /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */
+ public UnaryCallSettings
+ setEdgeSecurityPolicySettings() {
+ return setEdgeSecurityPolicySettings;
+ }
+
+ /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */
+ public OperationCallSettings
+ setEdgeSecurityPolicyOperationSettings() {
+ return setEdgeSecurityPolicyOperationSettings;
+ }
+
/** Returns the object with the settings used for calls to setSecurityPolicy. */
public UnaryCallSettings
setSecurityPolicySettings() {
@@ -479,6 +497,9 @@ protected BackendServicesStubSettings(Builder settingsBuilder) throws IOExceptio
listSettings = settingsBuilder.listSettings().build();
patchSettings = settingsBuilder.patchSettings().build();
patchOperationSettings = settingsBuilder.patchOperationSettings().build();
+ setEdgeSecurityPolicySettings = settingsBuilder.setEdgeSecurityPolicySettings().build();
+ setEdgeSecurityPolicyOperationSettings =
+ settingsBuilder.setEdgeSecurityPolicyOperationSettings().build();
setSecurityPolicySettings = settingsBuilder.setSecurityPolicySettings().build();
setSecurityPolicyOperationSettings =
settingsBuilder.setSecurityPolicyOperationSettings().build();
@@ -520,6 +541,11 @@ public static class Builder extends StubSettings.Builder patchSettings;
private final OperationCallSettings.Builder
patchOperationSettings;
+ private final UnaryCallSettings.Builder
+ setEdgeSecurityPolicySettings;
+ private final OperationCallSettings.Builder<
+ SetEdgeSecurityPolicyBackendServiceRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings;
private final UnaryCallSettings.Builder
setSecurityPolicySettings;
private final OperationCallSettings.Builder<
@@ -592,6 +618,8 @@ protected Builder(ClientContext clientContext) {
listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT);
patchSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
patchOperationSettings = OperationCallSettings.newBuilder();
+ setEdgeSecurityPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ setEdgeSecurityPolicyOperationSettings = OperationCallSettings.newBuilder();
setSecurityPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
setSecurityPolicyOperationSettings = OperationCallSettings.newBuilder();
updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
@@ -608,6 +636,7 @@ protected Builder(ClientContext clientContext) {
insertSettings,
listSettings,
patchSettings,
+ setEdgeSecurityPolicySettings,
setSecurityPolicySettings,
updateSettings);
initDefaults(this);
@@ -631,6 +660,9 @@ protected Builder(BackendServicesStubSettings settings) {
listSettings = settings.listSettings.toBuilder();
patchSettings = settings.patchSettings.toBuilder();
patchOperationSettings = settings.patchOperationSettings.toBuilder();
+ setEdgeSecurityPolicySettings = settings.setEdgeSecurityPolicySettings.toBuilder();
+ setEdgeSecurityPolicyOperationSettings =
+ settings.setEdgeSecurityPolicyOperationSettings.toBuilder();
setSecurityPolicySettings = settings.setSecurityPolicySettings.toBuilder();
setSecurityPolicyOperationSettings = settings.setSecurityPolicyOperationSettings.toBuilder();
updateSettings = settings.updateSettings.toBuilder();
@@ -647,6 +679,7 @@ protected Builder(BackendServicesStubSettings settings) {
insertSettings,
listSettings,
patchSettings,
+ setEdgeSecurityPolicySettings,
setSecurityPolicySettings,
updateSettings);
}
@@ -710,6 +743,11 @@ private static Builder initDefaults(Builder builder) {
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
+ builder
+ .setEdgeSecurityPolicySettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
+
builder
.setSecurityPolicySettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
@@ -842,6 +880,31 @@ private static Builder initDefaults(Builder builder) {
.setTotalTimeout(Duration.ofMillis(600000L))
.build()));
+ builder
+ .setEdgeSecurityPolicyOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .
+ newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(500L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(20000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(600000L))
+ .build()));
+
builder
.setSecurityPolicyOperationSettings()
.setInitialCallSettings(
@@ -1004,6 +1067,21 @@ public UnaryCallSettings.Builder patchSet
return patchOperationSettings;
}
+ /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */
+ public UnaryCallSettings.Builder
+ setEdgeSecurityPolicySettings() {
+ return setEdgeSecurityPolicySettings;
+ }
+
+ /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder<
+ SetEdgeSecurityPolicyBackendServiceRequest, Operation, Operation>
+ setEdgeSecurityPolicyOperationSettings() {
+ return setEdgeSecurityPolicyOperationSettings;
+ }
+
/** Returns the builder for the settings used for calls to setSecurityPolicy. */
public UnaryCallSettings.Builder
setSecurityPolicySettings() {
diff --git a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/HttpJsonBackendBucketsStub.java b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/HttpJsonBackendBucketsStub.java
index db224db94..24ece6fd2 100644
--- a/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/HttpJsonBackendBucketsStub.java
+++ b/google-cloud-compute/src/main/java/com/google/cloud/compute/v1/stub/HttpJsonBackendBucketsStub.java
@@ -44,6 +44,7 @@
import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.Operation.Status;
import com.google.cloud.compute.v1.PatchBackendBucketRequest;
+import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest;
import com.google.cloud.compute.v1.UpdateBackendBucketRequest;
import com.google.protobuf.TypeRegistry;
import java.io.IOException;
@@ -414,6 +415,62 @@ public class HttpJsonBackendBucketsStub extends BackendBucketsStub {
})
.build();
+ private static final ApiMethodDescriptor
+ setEdgeSecurityPolicyMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.cloud.compute.v1.BackendBuckets/SetEdgeSecurityPolicy")
+ .setHttpMethod(HttpMethods.POST)
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter
+ .newBuilder()
+ .setPath(
+ "/compute/v1/projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer
+ serializer = ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "backendBucket", request.getBackendBucket());
+ serializer.putPathParam(fields, "project", request.getProject());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer
+ serializer = ProtoRestSerializer.create();
+ if (request.hasRequestId()) {
+ serializer.putQueryParam(fields, "requestId", request.getRequestId());
+ }
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create()
+ .toBody(
+ "securityPolicyReferenceResource",
+ request.getSecurityPolicyReferenceResource()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (SetEdgeSecurityPolicyBackendBucketRequest request, Operation response) -> {
+ StringBuilder opName = new StringBuilder(response.getName());
+ opName.append(":").append(request.getProject());
+ return HttpJsonOperationSnapshot.newBuilder()
+ .setName(opName.toString())
+ .setMetadata(response)
+ .setDone(Status.DONE.equals(response.getStatus()))
+ .setResponse(response)
+ .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage())
+ .build();
+ })
+ .build();
+
private static final ApiMethodDescriptor
updateMethodDescriptor =
ApiMethodDescriptor.newBuilder()
@@ -488,6 +545,10 @@ public class HttpJsonBackendBucketsStub extends BackendBucketsStub {
private final UnaryCallable patchCallable;
private final OperationCallable
patchOperationCallable;
+ private final UnaryCallable
+ setEdgeSecurityPolicyCallable;
+ private final OperationCallable
+ setEdgeSecurityPolicyOperationCallable;
private final UnaryCallable updateCallable;
private final OperationCallable
updateOperationCallable;
@@ -574,6 +635,12 @@ protected HttpJsonBackendBucketsStub(
.setMethodDescriptor(patchMethodDescriptor)
.setTypeRegistry(typeRegistry)
.build();
+ HttpJsonCallSettings
+ setEdgeSecurityPolicyTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(setEdgeSecurityPolicyMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
HttpJsonCallSettings updateTransportSettings =
HttpJsonCallSettings.newBuilder()
.setMethodDescriptor(updateMethodDescriptor)
@@ -636,6 +703,17 @@ protected HttpJsonBackendBucketsStub(
settings.patchOperationSettings(),
clientContext,
httpJsonOperationsStub);
+ this.setEdgeSecurityPolicyCallable =
+ callableFactory.createUnaryCallable(
+ setEdgeSecurityPolicyTransportSettings,
+ settings.setEdgeSecurityPolicySettings(),
+ clientContext);
+ this.setEdgeSecurityPolicyOperationCallable =
+ callableFactory.createOperationCallable(
+ setEdgeSecurityPolicyTransportSettings,
+ settings.setEdgeSecurityPolicyOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
this.updateCallable =
callableFactory.createUnaryCallable(
updateTransportSettings, settings.updateSettings(), clientContext);
@@ -660,6 +738,7 @@ public static List getMethodDescriptors() {
methodDescriptors.add(insertMethodDescriptor);
methodDescriptors.add(listMethodDescriptor);
methodDescriptors.add(patchMethodDescriptor);
+ methodDescriptors.add(setEdgeSecurityPolicyMethodDescriptor);
methodDescriptors.add(updateMethodDescriptor);
return methodDescriptors;
}
@@ -735,6 +814,18 @@ public UnaryCallable patchCallable() {
return patchOperationCallable;
}
+ @Override
+ public UnaryCallable
+ setEdgeSecurityPolicyCallable() {
+ return setEdgeSecurityPolicyCallable;
+ }
+
+ @Override
+ public OperationCallable