getFeatureCallable() {
+ return stub.getFeatureCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a new Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * register other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+ * Membership resource = Membership.newBuilder().build();
+ * String membershipId = "membershipId517665681";
+ * Membership response =
+ * gkeHubClient.createMembershipAsync(parent, resource, membershipId).get();
+ * }
+ * }
+ *
+ * @param parent Required. The parent (project and location) where the Memberships will be
+ * created. Specified in the format `projects/*/locations/*`.
+ * @param resource Required. The membership to create.
+ * @param membershipId Required. Client chosen ID for the membership. `membership_id` must be a
+ * valid RFC 1123 compliant DNS label:
+ * 1. At most 63 characters in length 2. It must consist of lower case alphanumeric
+ * characters or `-` 3. It must start and end with an alphanumeric character
+ *
Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum
+ * length of 63 characters.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture createMembershipAsync(
+ LocationName parent, Membership resource, String membershipId) {
+ CreateMembershipRequest request =
+ CreateMembershipRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setResource(resource)
+ .setMembershipId(membershipId)
+ .build();
+ return createMembershipAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a new Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * register other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String parent = MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString();
+ * Membership resource = Membership.newBuilder().build();
+ * String membershipId = "membershipId517665681";
+ * Membership response =
+ * gkeHubClient.createMembershipAsync(parent, resource, membershipId).get();
+ * }
+ * }
+ *
+ * @param parent Required. The parent (project and location) where the Memberships will be
+ * created. Specified in the format `projects/*/locations/*`.
+ * @param resource Required. The membership to create.
+ * @param membershipId Required. Client chosen ID for the membership. `membership_id` must be a
+ * valid RFC 1123 compliant DNS label:
+ * 1. At most 63 characters in length 2. It must consist of lower case alphanumeric
+ * characters or `-` 3. It must start and end with an alphanumeric character
+ *
Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum
+ * length of 63 characters.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture createMembershipAsync(
+ String parent, Membership resource, String membershipId) {
+ CreateMembershipRequest request =
+ CreateMembershipRequest.newBuilder()
+ .setParent(parent)
+ .setResource(resource)
+ .setMembershipId(membershipId)
+ .build();
+ return createMembershipAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a new Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * register other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateMembershipRequest request =
+ * CreateMembershipRequest.newBuilder()
+ * .setParent(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setMembershipId("membershipId517665681")
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Membership response = gkeHubClient.createMembershipAsync(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
+ */
+ public final OperationFuture createMembershipAsync(
+ CreateMembershipRequest request) {
+ return createMembershipOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a new Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * register other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateMembershipRequest request =
+ * CreateMembershipRequest.newBuilder()
+ * .setParent(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setMembershipId("membershipId517665681")
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.createMembershipOperationCallable().futureCall(request);
+ * // Do something.
+ * Membership response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ createMembershipOperationCallable() {
+ return stub.createMembershipOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Creates a new Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * register other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateMembershipRequest request =
+ * CreateMembershipRequest.newBuilder()
+ * .setParent(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setMembershipId("membershipId517665681")
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.createMembershipCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable createMembershipCallable() {
+ return stub.createMembershipCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Adds a new Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String parent = "parent-995424086";
+ * Feature resource = Feature.newBuilder().build();
+ * String featureId = "featureId-420503887";
+ * Feature response = gkeHubClient.createFeatureAsync(parent, resource, featureId).get();
+ * }
+ * }
+ *
+ * @param parent The parent (project and location) where the Feature will be created. Specified in
+ * the format `projects/*/locations/*`.
+ * @param resource The Feature resource to create.
+ * @param featureId The ID of the feature to create.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture createFeatureAsync(
+ String parent, Feature resource, String featureId) {
+ CreateFeatureRequest request =
+ CreateFeatureRequest.newBuilder()
+ .setParent(parent)
+ .setResource(resource)
+ .setFeatureId(featureId)
+ .build();
+ return createFeatureAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Adds a new Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateFeatureRequest request =
+ * CreateFeatureRequest.newBuilder()
+ * .setParent("parent-995424086")
+ * .setFeatureId("featureId-420503887")
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Feature response = gkeHubClient.createFeatureAsync(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
+ */
+ public final OperationFuture createFeatureAsync(
+ CreateFeatureRequest request) {
+ return createFeatureOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Adds a new Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateFeatureRequest request =
+ * CreateFeatureRequest.newBuilder()
+ * .setParent("parent-995424086")
+ * .setFeatureId("featureId-420503887")
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.createFeatureOperationCallable().futureCall(request);
+ * // Do something.
+ * Feature response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ createFeatureOperationCallable() {
+ return stub.createFeatureOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Adds a new Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * CreateFeatureRequest request =
+ * CreateFeatureRequest.newBuilder()
+ * .setParent("parent-995424086")
+ * .setFeatureId("featureId-420503887")
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.createFeatureCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable createFeatureCallable() {
+ return stub.createFeatureCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * unregister other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * MembershipName name = MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]");
+ * gkeHubClient.deleteMembershipAsync(name).get();
+ * }
+ * }
+ *
+ * @param name Required. The Membership resource name in the format
+ * `projects/*/locations/*/memberships/*`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture deleteMembershipAsync(
+ MembershipName name) {
+ DeleteMembershipRequest request =
+ DeleteMembershipRequest.newBuilder().setName(name == null ? null : name.toString()).build();
+ return deleteMembershipAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * unregister other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String name = MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString();
+ * gkeHubClient.deleteMembershipAsync(name).get();
+ * }
+ * }
+ *
+ * @param name Required. The Membership resource name in the format
+ * `projects/*/locations/*/memberships/*`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture deleteMembershipAsync(String name) {
+ DeleteMembershipRequest request = DeleteMembershipRequest.newBuilder().setName(name).build();
+ return deleteMembershipAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * unregister other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteMembershipRequest request =
+ * DeleteMembershipRequest.newBuilder()
+ * .setName(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * gkeHubClient.deleteMembershipAsync(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
+ */
+ public final OperationFuture deleteMembershipAsync(
+ DeleteMembershipRequest request) {
+ return deleteMembershipOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * unregister other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteMembershipRequest request =
+ * DeleteMembershipRequest.newBuilder()
+ * .setName(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.deleteMembershipOperationCallable().futureCall(request);
+ * // Do something.
+ * future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ deleteMembershipOperationCallable() {
+ return stub.deleteMembershipOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Membership.
+ *
+ * **This is currently only supported for GKE clusters on Google Cloud**. To
+ * unregister other clusters, follow the instructions at
+ * https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteMembershipRequest request =
+ * DeleteMembershipRequest.newBuilder()
+ * .setName(MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]").toString())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.deleteMembershipCallable().futureCall(request);
+ * // Do something.
+ * future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable deleteMembershipCallable() {
+ return stub.deleteMembershipCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String name = "name3373707";
+ * gkeHubClient.deleteFeatureAsync(name).get();
+ * }
+ * }
+ *
+ * @param name The Feature resource name in the format
+ * `projects/*/locations/*/features/*`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture deleteFeatureAsync(String name) {
+ DeleteFeatureRequest request = DeleteFeatureRequest.newBuilder().setName(name).build();
+ return deleteFeatureAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteFeatureRequest request =
+ * DeleteFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setForce(true)
+ * .setRequestId("requestId693933066")
+ * .build();
+ * gkeHubClient.deleteFeatureAsync(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
+ */
+ public final OperationFuture deleteFeatureAsync(
+ DeleteFeatureRequest request) {
+ return deleteFeatureOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteFeatureRequest request =
+ * DeleteFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setForce(true)
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.deleteFeatureOperationCallable().futureCall(request);
+ * // Do something.
+ * future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ deleteFeatureOperationCallable() {
+ return stub.deleteFeatureOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Removes a Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * DeleteFeatureRequest request =
+ * DeleteFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setForce(true)
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.deleteFeatureCallable().futureCall(request);
+ * // Do something.
+ * future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable deleteFeatureCallable() {
+ return stub.deleteFeatureCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Membership.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String name = "name3373707";
+ * Membership resource = Membership.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * Membership response = gkeHubClient.updateMembershipAsync(name, resource, updateMask).get();
+ * }
+ * }
+ *
+ * @param name Required. The Membership resource name in the format
+ * `projects/*/locations/*/memberships/*`.
+ * @param resource Required. Only fields specified in update_mask are updated. If you specify a
+ * field in the update_mask but don't specify its value here that field will be deleted. If
+ * you are updating a map field, set the value of a key to null or empty string to delete the
+ * key from the map. It's not possible to update a key's value to the empty string. If you
+ * specify the update_mask to be a special path "*", fully replaces all user-modifiable
+ * fields to match `resource`.
+ * @param updateMask Required. Mask of fields to update.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture updateMembershipAsync(
+ String name, Membership resource, FieldMask updateMask) {
+ UpdateMembershipRequest request =
+ UpdateMembershipRequest.newBuilder()
+ .setName(name)
+ .setResource(resource)
+ .setUpdateMask(updateMask)
+ .build();
+ return updateMembershipAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Membership.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateMembershipRequest request =
+ * UpdateMembershipRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Membership response = gkeHubClient.updateMembershipAsync(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
+ */
+ public final OperationFuture updateMembershipAsync(
+ UpdateMembershipRequest request) {
+ return updateMembershipOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Membership.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateMembershipRequest request =
+ * UpdateMembershipRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.updateMembershipOperationCallable().futureCall(request);
+ * // Do something.
+ * Membership response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ updateMembershipOperationCallable() {
+ return stub.updateMembershipOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Membership.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateMembershipRequest request =
+ * UpdateMembershipRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Membership.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.updateMembershipCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable updateMembershipCallable() {
+ return stub.updateMembershipCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * String name = "name3373707";
+ * Feature resource = Feature.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * Feature response = gkeHubClient.updateFeatureAsync(name, resource, updateMask).get();
+ * }
+ * }
+ *
+ * @param name The Feature resource name in the format
+ * `projects/*/locations/*/features/*`.
+ * @param resource Only fields specified in update_mask are updated. If you specify a field in the
+ * update_mask but don't specify its value here that field will be deleted. If you are
+ * updating a map field, set the value of a key to null or empty string to delete the key from
+ * the map. It's not possible to update a key's value to the empty string. If you specify the
+ * update_mask to be a special path "*", fully replaces all user-modifiable fields to
+ * match `resource`.
+ * @param updateMask Mask of fields to update.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture updateFeatureAsync(
+ String name, Feature resource, FieldMask updateMask) {
+ UpdateFeatureRequest request =
+ UpdateFeatureRequest.newBuilder()
+ .setName(name)
+ .setResource(resource)
+ .setUpdateMask(updateMask)
+ .build();
+ return updateFeatureAsync(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateFeatureRequest request =
+ * UpdateFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Feature response = gkeHubClient.updateFeatureAsync(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
+ */
+ public final OperationFuture updateFeatureAsync(
+ UpdateFeatureRequest request) {
+ return updateFeatureOperationCallable().futureCall(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateFeatureRequest request =
+ * UpdateFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture future =
+ * gkeHubClient.updateFeatureOperationCallable().futureCall(request);
+ * // Do something.
+ * Feature response = future.get();
+ * }
+ * }
+ */
+ public final OperationCallable
+ updateFeatureOperationCallable() {
+ return stub.updateFeatureOperationCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Updates an existing Feature.
+ *
+ * Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * UpdateFeatureRequest request =
+ * UpdateFeatureRequest.newBuilder()
+ * .setName("name3373707")
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setResource(Feature.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture future = gkeHubClient.updateFeatureCallable().futureCall(request);
+ * // Do something.
+ * Operation response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable updateFeatureCallable() {
+ return stub.updateFeatureCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Generates the manifest for deployment of the GKE connect agent.
+ *
+ * **This method is used internally by Google-provided libraries.** Most
+ * clients should not need to call this method directly.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * GenerateConnectManifestRequest request =
+ * GenerateConnectManifestRequest.newBuilder()
+ * .setName("name3373707")
+ * .setNamespace("namespace1252218203")
+ * .setProxy(ByteString.EMPTY)
+ * .setVersion("version351608024")
+ * .setIsUpgrade(true)
+ * .setRegistry("registry-690212803")
+ * .setImagePullSecretContent(ByteString.EMPTY)
+ * .build();
+ * GenerateConnectManifestResponse response = gkeHubClient.generateConnectManifest(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 GenerateConnectManifestResponse generateConnectManifest(
+ GenerateConnectManifestRequest request) {
+ return generateConnectManifestCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
+ /**
+ * Generates the manifest for deployment of the GKE connect agent.
+ *
+ * **This method is used internally by Google-provided libraries.** Most
+ * clients should not need to call this method directly.
+ *
+ *
Sample code:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * GenerateConnectManifestRequest request =
+ * GenerateConnectManifestRequest.newBuilder()
+ * .setName("name3373707")
+ * .setNamespace("namespace1252218203")
+ * .setProxy(ByteString.EMPTY)
+ * .setVersion("version351608024")
+ * .setIsUpgrade(true)
+ * .setRegistry("registry-690212803")
+ * .setImagePullSecretContent(ByteString.EMPTY)
+ * .build();
+ * ApiFuture future =
+ * gkeHubClient.generateConnectManifestCallable().futureCall(request);
+ * // Do something.
+ * GenerateConnectManifestResponse response = future.get();
+ * }
+ * }
+ */
+ public final UnaryCallable
+ generateConnectManifestCallable() {
+ return stub.generateConnectManifestCallable();
+ }
+
+ @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 ListMembershipsPagedResponse
+ extends AbstractPagedListResponse<
+ ListMembershipsRequest,
+ ListMembershipsResponse,
+ Membership,
+ ListMembershipsPage,
+ ListMembershipsFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListMembershipsPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListMembershipsPagedResponse apply(ListMembershipsPage input) {
+ return new ListMembershipsPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListMembershipsPagedResponse(ListMembershipsPage page) {
+ super(page, ListMembershipsFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListMembershipsPage
+ extends AbstractPage<
+ ListMembershipsRequest, ListMembershipsResponse, Membership, ListMembershipsPage> {
+
+ private ListMembershipsPage(
+ PageContext context,
+ ListMembershipsResponse response) {
+ super(context, response);
+ }
+
+ private static ListMembershipsPage createEmptyPage() {
+ return new ListMembershipsPage(null, null);
+ }
+
+ @Override
+ protected ListMembershipsPage createPage(
+ PageContext context,
+ ListMembershipsResponse response) {
+ return new ListMembershipsPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListMembershipsFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListMembershipsRequest,
+ ListMembershipsResponse,
+ Membership,
+ ListMembershipsPage,
+ ListMembershipsFixedSizeCollection> {
+
+ private ListMembershipsFixedSizeCollection(
+ List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListMembershipsFixedSizeCollection createEmptyCollection() {
+ return new ListMembershipsFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListMembershipsFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListMembershipsFixedSizeCollection(pages, collectionSize);
+ }
+ }
+
+ public static class ListFeaturesPagedResponse
+ extends AbstractPagedListResponse<
+ ListFeaturesRequest,
+ ListFeaturesResponse,
+ Feature,
+ ListFeaturesPage,
+ ListFeaturesFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListFeaturesPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListFeaturesPagedResponse apply(ListFeaturesPage input) {
+ return new ListFeaturesPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListFeaturesPagedResponse(ListFeaturesPage page) {
+ super(page, ListFeaturesFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListFeaturesPage
+ extends AbstractPage {
+
+ private ListFeaturesPage(
+ PageContext context,
+ ListFeaturesResponse response) {
+ super(context, response);
+ }
+
+ private static ListFeaturesPage createEmptyPage() {
+ return new ListFeaturesPage(null, null);
+ }
+
+ @Override
+ protected ListFeaturesPage createPage(
+ PageContext context,
+ ListFeaturesResponse response) {
+ return new ListFeaturesPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListFeaturesFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListFeaturesRequest,
+ ListFeaturesResponse,
+ Feature,
+ ListFeaturesPage,
+ ListFeaturesFixedSizeCollection> {
+
+ private ListFeaturesFixedSizeCollection(List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListFeaturesFixedSizeCollection createEmptyCollection() {
+ return new ListFeaturesFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListFeaturesFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListFeaturesFixedSizeCollection(pages, collectionSize);
+ }
+ }
+}
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/GkeHubSettings.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/GkeHubSettings.java
new file mode 100644
index 00000000..4ee5fe29
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/GkeHubSettings.java
@@ -0,0 +1,372 @@
+/*
+ * 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.gkehub.v1;
+
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListFeaturesPagedResponse;
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListMembershipsPagedResponse;
+
+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.grpc.InstantiatingGrpcChannelProvider;
+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.gkehub.v1.stub.GkeHubStubSettings;
+import com.google.longrunning.Operation;
+import com.google.protobuf.Empty;
+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 GkeHubClient}.
+ *
+ * The default instance has everything set to sensible defaults:
+ *
+ *
+ * - The default service address (gkehub.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 getMembership to 30 seconds:
+ *
+ *
{@code
+ * GkeHubSettings.Builder gkeHubSettingsBuilder = GkeHubSettings.newBuilder();
+ * gkeHubSettingsBuilder
+ * .getMembershipSettings()
+ * .setRetrySettings(
+ * gkeHubSettingsBuilder
+ * .getMembershipSettings()
+ * .getRetrySettings()
+ * .toBuilder()
+ * .setTotalTimeout(Duration.ofSeconds(30))
+ * .build());
+ * GkeHubSettings gkeHubSettings = gkeHubSettingsBuilder.build();
+ * }
+ */
+@Generated("by gapic-generator-java")
+public class GkeHubSettings extends ClientSettings {
+
+ /** Returns the object with the settings used for calls to listMemberships. */
+ public PagedCallSettings<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).listMembershipsSettings();
+ }
+
+ /** Returns the object with the settings used for calls to listFeatures. */
+ public PagedCallSettings
+ listFeaturesSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).listFeaturesSettings();
+ }
+
+ /** Returns the object with the settings used for calls to getMembership. */
+ public UnaryCallSettings getMembershipSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).getMembershipSettings();
+ }
+
+ /** Returns the object with the settings used for calls to getFeature. */
+ public UnaryCallSettings getFeatureSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).getFeatureSettings();
+ }
+
+ /** Returns the object with the settings used for calls to createMembership. */
+ public UnaryCallSettings createMembershipSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).createMembershipSettings();
+ }
+
+ /** Returns the object with the settings used for calls to createMembership. */
+ public OperationCallSettings
+ createMembershipOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).createMembershipOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to createFeature. */
+ public UnaryCallSettings createFeatureSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).createFeatureSettings();
+ }
+
+ /** Returns the object with the settings used for calls to createFeature. */
+ public OperationCallSettings
+ createFeatureOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).createFeatureOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to deleteMembership. */
+ public UnaryCallSettings deleteMembershipSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).deleteMembershipSettings();
+ }
+
+ /** Returns the object with the settings used for calls to deleteMembership. */
+ public OperationCallSettings
+ deleteMembershipOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).deleteMembershipOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to deleteFeature. */
+ public UnaryCallSettings deleteFeatureSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).deleteFeatureSettings();
+ }
+
+ /** Returns the object with the settings used for calls to deleteFeature. */
+ public OperationCallSettings
+ deleteFeatureOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).deleteFeatureOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to updateMembership. */
+ public UnaryCallSettings updateMembershipSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).updateMembershipSettings();
+ }
+
+ /** Returns the object with the settings used for calls to updateMembership. */
+ public OperationCallSettings
+ updateMembershipOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).updateMembershipOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to updateFeature. */
+ public UnaryCallSettings updateFeatureSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).updateFeatureSettings();
+ }
+
+ /** Returns the object with the settings used for calls to updateFeature. */
+ public OperationCallSettings
+ updateFeatureOperationSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).updateFeatureOperationSettings();
+ }
+
+ /** Returns the object with the settings used for calls to generateConnectManifest. */
+ public UnaryCallSettings
+ generateConnectManifestSettings() {
+ return ((GkeHubStubSettings) getStubSettings()).generateConnectManifestSettings();
+ }
+
+ public static final GkeHubSettings create(GkeHubStubSettings stub) throws IOException {
+ return new GkeHubSettings.Builder(stub.toBuilder()).build();
+ }
+
+ /** Returns a builder for the default ExecutorProvider for this service. */
+ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
+ return GkeHubStubSettings.defaultExecutorProviderBuilder();
+ }
+
+ /** Returns the default service endpoint. */
+ public static String getDefaultEndpoint() {
+ return GkeHubStubSettings.getDefaultEndpoint();
+ }
+
+ /** Returns the default service scopes. */
+ public static List getDefaultServiceScopes() {
+ return GkeHubStubSettings.getDefaultServiceScopes();
+ }
+
+ /** Returns a builder for the default credentials for this service. */
+ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
+ return GkeHubStubSettings.defaultCredentialsProviderBuilder();
+ }
+
+ /** Returns a builder for the default ChannelProvider for this service. */
+ public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
+ return GkeHubStubSettings.defaultGrpcTransportProviderBuilder();
+ }
+
+ public static TransportChannelProvider defaultTransportChannelProvider() {
+ return GkeHubStubSettings.defaultTransportChannelProvider();
+ }
+
+ @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
+ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
+ return GkeHubStubSettings.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 GkeHubSettings(Builder settingsBuilder) throws IOException {
+ super(settingsBuilder);
+ }
+
+ /** Builder for GkeHubSettings. */
+ public static class Builder extends ClientSettings.Builder {
+
+ protected Builder() throws IOException {
+ this(((ClientContext) null));
+ }
+
+ protected Builder(ClientContext clientContext) {
+ super(GkeHubStubSettings.newBuilder(clientContext));
+ }
+
+ protected Builder(GkeHubSettings settings) {
+ super(settings.getStubSettings().toBuilder());
+ }
+
+ protected Builder(GkeHubStubSettings.Builder stubSettings) {
+ super(stubSettings);
+ }
+
+ private static Builder createDefault() {
+ return new Builder(GkeHubStubSettings.newBuilder());
+ }
+
+ public GkeHubStubSettings.Builder getStubSettingsBuilder() {
+ return ((GkeHubStubSettings.Builder) getStubSettings());
+ }
+
+ // NEXT_MAJOR_VER: remove 'throws Exception'.
+ /**
+ * 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) throws Exception {
+ super.applyToAllUnaryMethods(
+ getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
+ return this;
+ }
+
+ /** Returns the builder for the settings used for calls to listMemberships. */
+ public PagedCallSettings.Builder<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings() {
+ return getStubSettingsBuilder().listMembershipsSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to listFeatures. */
+ public PagedCallSettings.Builder<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>
+ listFeaturesSettings() {
+ return getStubSettingsBuilder().listFeaturesSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to getMembership. */
+ public UnaryCallSettings.Builder getMembershipSettings() {
+ return getStubSettingsBuilder().getMembershipSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to getFeature. */
+ public UnaryCallSettings.Builder getFeatureSettings() {
+ return getStubSettingsBuilder().getFeatureSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to createMembership. */
+ public UnaryCallSettings.Builder
+ createMembershipSettings() {
+ return getStubSettingsBuilder().createMembershipSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to createMembership. */
+ public OperationCallSettings.Builder
+ createMembershipOperationSettings() {
+ return getStubSettingsBuilder().createMembershipOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to createFeature. */
+ public UnaryCallSettings.Builder createFeatureSettings() {
+ return getStubSettingsBuilder().createFeatureSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to createFeature. */
+ public OperationCallSettings.Builder
+ createFeatureOperationSettings() {
+ return getStubSettingsBuilder().createFeatureOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to deleteMembership. */
+ public UnaryCallSettings.Builder
+ deleteMembershipSettings() {
+ return getStubSettingsBuilder().deleteMembershipSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to deleteMembership. */
+ public OperationCallSettings.Builder
+ deleteMembershipOperationSettings() {
+ return getStubSettingsBuilder().deleteMembershipOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to deleteFeature. */
+ public UnaryCallSettings.Builder deleteFeatureSettings() {
+ return getStubSettingsBuilder().deleteFeatureSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to deleteFeature. */
+ public OperationCallSettings.Builder
+ deleteFeatureOperationSettings() {
+ return getStubSettingsBuilder().deleteFeatureOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to updateMembership. */
+ public UnaryCallSettings.Builder
+ updateMembershipSettings() {
+ return getStubSettingsBuilder().updateMembershipSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to updateMembership. */
+ public OperationCallSettings.Builder
+ updateMembershipOperationSettings() {
+ return getStubSettingsBuilder().updateMembershipOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to updateFeature. */
+ public UnaryCallSettings.Builder updateFeatureSettings() {
+ return getStubSettingsBuilder().updateFeatureSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to updateFeature. */
+ public OperationCallSettings.Builder
+ updateFeatureOperationSettings() {
+ return getStubSettingsBuilder().updateFeatureOperationSettings();
+ }
+
+ /** Returns the builder for the settings used for calls to generateConnectManifest. */
+ public UnaryCallSettings.Builder<
+ GenerateConnectManifestRequest, GenerateConnectManifestResponse>
+ generateConnectManifestSettings() {
+ return getStubSettingsBuilder().generateConnectManifestSettings();
+ }
+
+ @Override
+ public GkeHubSettings build() throws IOException {
+ return new GkeHubSettings(this);
+ }
+ }
+}
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/gapic_metadata.json b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/gapic_metadata.json
new file mode 100644
index 00000000..78eaa8e7
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/gapic_metadata.json
@@ -0,0 +1,51 @@
+{
+ "schema": "1.0",
+ "comment": "This file maps proto services/RPCs to the corresponding library clients/methods",
+ "language": "java",
+ "protoPackage": "google.cloud.gkehub.v1",
+ "libraryPackage": "com.google.cloud.gkehub.v1",
+ "services": {
+ "GkeHub": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "GkeHubClient",
+ "rpcs": {
+ "CreateFeature": {
+ "methods": ["createFeatureAsync", "createFeatureAsync", "createFeatureOperationCallable", "createFeatureCallable"]
+ },
+ "CreateMembership": {
+ "methods": ["createMembershipAsync", "createMembershipAsync", "createMembershipAsync", "createMembershipOperationCallable", "createMembershipCallable"]
+ },
+ "DeleteFeature": {
+ "methods": ["deleteFeatureAsync", "deleteFeatureAsync", "deleteFeatureOperationCallable", "deleteFeatureCallable"]
+ },
+ "DeleteMembership": {
+ "methods": ["deleteMembershipAsync", "deleteMembershipAsync", "deleteMembershipAsync", "deleteMembershipOperationCallable", "deleteMembershipCallable"]
+ },
+ "GenerateConnectManifest": {
+ "methods": ["generateConnectManifest", "generateConnectManifestCallable"]
+ },
+ "GetFeature": {
+ "methods": ["getFeature", "getFeature", "getFeatureCallable"]
+ },
+ "GetMembership": {
+ "methods": ["getMembership", "getMembership", "getMembership", "getMembershipCallable"]
+ },
+ "ListFeatures": {
+ "methods": ["listFeatures", "listFeatures", "listFeaturesPagedCallable", "listFeaturesCallable"]
+ },
+ "ListMemberships": {
+ "methods": ["listMemberships", "listMemberships", "listMemberships", "listMembershipsPagedCallable", "listMembershipsCallable"]
+ },
+ "UpdateFeature": {
+ "methods": ["updateFeatureAsync", "updateFeatureAsync", "updateFeatureOperationCallable", "updateFeatureCallable"]
+ },
+ "UpdateMembership": {
+ "methods": ["updateMembershipAsync", "updateMembershipAsync", "updateMembershipOperationCallable", "updateMembershipCallable"]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/package-info.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/package-info.java
new file mode 100644
index 00000000..96d1a527
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/package-info.java
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+/**
+ * The interfaces provided are listed below, along with usage samples.
+ *
+ * ======================= GkeHubClient =======================
+ *
+ *
Service Description: The GKE Hub service handles the registration of many Kubernetes clusters
+ * to Google Cloud, and the management of multi-cluster features over those clusters.
+ *
+ *
The GKE Hub service operates on the following resources:
+ *
+ *
+ * - [Membership][google.cloud.gkehub.v1.Membership]
+ *
- [Feature][google.cloud.gkehub.v1.Feature]
+ *
+ *
+ * GKE Hub is currently only available in the global region.
+ *
+ *
**Membership management may be non-trivial:** it is recommended to use one of
+ * the Google-provided client libraries or tools where possible when working with Membership
+ * resources.
+ *
+ *
Sample for GkeHubClient:
+ *
+ *
{@code
+ * try (GkeHubClient gkeHubClient = GkeHubClient.create()) {
+ * MembershipName name = MembershipName.of("[PROJECT]", "[LOCATION]", "[MEMBERSHIP]");
+ * Membership response = gkeHubClient.getMembership(name);
+ * }
+ * }
+ */
+@Generated("by gapic-generator-java")
+package com.google.cloud.gkehub.v1;
+
+import javax.annotation.Generated;
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStub.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStub.java
new file mode 100644
index 00000000..0e74365a
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStub.java
@@ -0,0 +1,146 @@
+/*
+ * 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.gkehub.v1.stub;
+
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListFeaturesPagedResponse;
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListMembershipsPagedResponse;
+
+import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.cloud.gkehub.v1.CreateFeatureRequest;
+import com.google.cloud.gkehub.v1.CreateMembershipRequest;
+import com.google.cloud.gkehub.v1.DeleteFeatureRequest;
+import com.google.cloud.gkehub.v1.DeleteMembershipRequest;
+import com.google.cloud.gkehub.v1.Feature;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestRequest;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestResponse;
+import com.google.cloud.gkehub.v1.GetFeatureRequest;
+import com.google.cloud.gkehub.v1.GetMembershipRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesResponse;
+import com.google.cloud.gkehub.v1.ListMembershipsRequest;
+import com.google.cloud.gkehub.v1.ListMembershipsResponse;
+import com.google.cloud.gkehub.v1.Membership;
+import com.google.cloud.gkehub.v1.OperationMetadata;
+import com.google.cloud.gkehub.v1.UpdateFeatureRequest;
+import com.google.cloud.gkehub.v1.UpdateMembershipRequest;
+import com.google.longrunning.Operation;
+import com.google.longrunning.stub.OperationsStub;
+import com.google.protobuf.Empty;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * Base stub class for the GkeHub service API.
+ *
+ * This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+public abstract class GkeHubStub implements BackgroundResource {
+
+ public OperationsStub getOperationsStub() {
+ throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
+ }
+
+ public UnaryCallable
+ listMembershipsPagedCallable() {
+ throw new UnsupportedOperationException("Not implemented: listMembershipsPagedCallable()");
+ }
+
+ public UnaryCallable listMembershipsCallable() {
+ throw new UnsupportedOperationException("Not implemented: listMembershipsCallable()");
+ }
+
+ public UnaryCallable listFeaturesPagedCallable() {
+ throw new UnsupportedOperationException("Not implemented: listFeaturesPagedCallable()");
+ }
+
+ public UnaryCallable listFeaturesCallable() {
+ throw new UnsupportedOperationException("Not implemented: listFeaturesCallable()");
+ }
+
+ public UnaryCallable getMembershipCallable() {
+ throw new UnsupportedOperationException("Not implemented: getMembershipCallable()");
+ }
+
+ public UnaryCallable getFeatureCallable() {
+ throw new UnsupportedOperationException("Not implemented: getFeatureCallable()");
+ }
+
+ public OperationCallable
+ createMembershipOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: createMembershipOperationCallable()");
+ }
+
+ public UnaryCallable createMembershipCallable() {
+ throw new UnsupportedOperationException("Not implemented: createMembershipCallable()");
+ }
+
+ public OperationCallable
+ createFeatureOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: createFeatureOperationCallable()");
+ }
+
+ public UnaryCallable createFeatureCallable() {
+ throw new UnsupportedOperationException("Not implemented: createFeatureCallable()");
+ }
+
+ public OperationCallable
+ deleteMembershipOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: deleteMembershipOperationCallable()");
+ }
+
+ public UnaryCallable deleteMembershipCallable() {
+ throw new UnsupportedOperationException("Not implemented: deleteMembershipCallable()");
+ }
+
+ public OperationCallable
+ deleteFeatureOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: deleteFeatureOperationCallable()");
+ }
+
+ public UnaryCallable deleteFeatureCallable() {
+ throw new UnsupportedOperationException("Not implemented: deleteFeatureCallable()");
+ }
+
+ public OperationCallable
+ updateMembershipOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: updateMembershipOperationCallable()");
+ }
+
+ public UnaryCallable updateMembershipCallable() {
+ throw new UnsupportedOperationException("Not implemented: updateMembershipCallable()");
+ }
+
+ public OperationCallable
+ updateFeatureOperationCallable() {
+ throw new UnsupportedOperationException("Not implemented: updateFeatureOperationCallable()");
+ }
+
+ public UnaryCallable updateFeatureCallable() {
+ throw new UnsupportedOperationException("Not implemented: updateFeatureCallable()");
+ }
+
+ public UnaryCallable
+ generateConnectManifestCallable() {
+ throw new UnsupportedOperationException("Not implemented: generateConnectManifestCallable()");
+ }
+
+ @Override
+ public abstract void close();
+}
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStubSettings.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStubSettings.java
new file mode 100644
index 00000000..51df553e
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStubSettings.java
@@ -0,0 +1,932 @@
+/*
+ * 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.gkehub.v1.stub;
+
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListFeaturesPagedResponse;
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListMembershipsPagedResponse;
+
+import com.google.api.core.ApiFunction;
+import com.google.api.core.ApiFuture;
+import com.google.api.core.BetaApi;
+import com.google.api.gax.core.GaxProperties;
+import com.google.api.gax.core.GoogleCredentialsProvider;
+import com.google.api.gax.core.InstantiatingExecutorProvider;
+import com.google.api.gax.grpc.GaxGrpcProperties;
+import com.google.api.gax.grpc.GrpcTransportChannel;
+import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
+import com.google.api.gax.grpc.ProtoOperationTransformers;
+import com.google.api.gax.longrunning.OperationSnapshot;
+import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
+import com.google.api.gax.retrying.RetrySettings;
+import com.google.api.gax.rpc.ApiCallContext;
+import com.google.api.gax.rpc.ApiClientHeaderProvider;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.OperationCallSettings;
+import com.google.api.gax.rpc.PageContext;
+import com.google.api.gax.rpc.PagedCallSettings;
+import com.google.api.gax.rpc.PagedListDescriptor;
+import com.google.api.gax.rpc.PagedListResponseFactory;
+import com.google.api.gax.rpc.StatusCode;
+import com.google.api.gax.rpc.StubSettings;
+import com.google.api.gax.rpc.TransportChannelProvider;
+import com.google.api.gax.rpc.UnaryCallSettings;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.cloud.gkehub.v1.CreateFeatureRequest;
+import com.google.cloud.gkehub.v1.CreateMembershipRequest;
+import com.google.cloud.gkehub.v1.DeleteFeatureRequest;
+import com.google.cloud.gkehub.v1.DeleteMembershipRequest;
+import com.google.cloud.gkehub.v1.Feature;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestRequest;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestResponse;
+import com.google.cloud.gkehub.v1.GetFeatureRequest;
+import com.google.cloud.gkehub.v1.GetMembershipRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesResponse;
+import com.google.cloud.gkehub.v1.ListMembershipsRequest;
+import com.google.cloud.gkehub.v1.ListMembershipsResponse;
+import com.google.cloud.gkehub.v1.Membership;
+import com.google.cloud.gkehub.v1.OperationMetadata;
+import com.google.cloud.gkehub.v1.UpdateFeatureRequest;
+import com.google.cloud.gkehub.v1.UpdateMembershipRequest;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+import com.google.longrunning.Operation;
+import com.google.protobuf.Empty;
+import java.io.IOException;
+import java.util.List;
+import javax.annotation.Generated;
+import org.threeten.bp.Duration;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * Settings class to configure an instance of {@link GkeHubStub}.
+ *
+ * The default instance has everything set to sensible defaults:
+ *
+ *
+ * - The default service address (gkehub.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 getMembership to 30 seconds:
+ *
+ *
{@code
+ * GkeHubStubSettings.Builder gkeHubSettingsBuilder = GkeHubStubSettings.newBuilder();
+ * gkeHubSettingsBuilder
+ * .getMembershipSettings()
+ * .setRetrySettings(
+ * gkeHubSettingsBuilder
+ * .getMembershipSettings()
+ * .getRetrySettings()
+ * .toBuilder()
+ * .setTotalTimeout(Duration.ofSeconds(30))
+ * .build());
+ * GkeHubStubSettings gkeHubSettings = gkeHubSettingsBuilder.build();
+ * }
+ */
+@Generated("by gapic-generator-java")
+public class GkeHubStubSettings extends StubSettings {
+ /** The default scopes of the service. */
+ private static final ImmutableList DEFAULT_SERVICE_SCOPES =
+ ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build();
+
+ private final PagedCallSettings<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings;
+ private final PagedCallSettings<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>
+ listFeaturesSettings;
+ private final UnaryCallSettings getMembershipSettings;
+ private final UnaryCallSettings getFeatureSettings;
+ private final UnaryCallSettings createMembershipSettings;
+ private final OperationCallSettings
+ createMembershipOperationSettings;
+ private final UnaryCallSettings createFeatureSettings;
+ private final OperationCallSettings
+ createFeatureOperationSettings;
+ private final UnaryCallSettings deleteMembershipSettings;
+ private final OperationCallSettings
+ deleteMembershipOperationSettings;
+ private final UnaryCallSettings deleteFeatureSettings;
+ private final OperationCallSettings
+ deleteFeatureOperationSettings;
+ private final UnaryCallSettings updateMembershipSettings;
+ private final OperationCallSettings
+ updateMembershipOperationSettings;
+ private final UnaryCallSettings updateFeatureSettings;
+ private final OperationCallSettings
+ updateFeatureOperationSettings;
+ private final UnaryCallSettings
+ generateConnectManifestSettings;
+
+ private static final PagedListDescriptor<
+ ListMembershipsRequest, ListMembershipsResponse, Membership>
+ LIST_MEMBERSHIPS_PAGE_STR_DESC =
+ new PagedListDescriptor() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListMembershipsRequest injectToken(
+ ListMembershipsRequest payload, String token) {
+ return ListMembershipsRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListMembershipsRequest injectPageSize(
+ ListMembershipsRequest payload, int pageSize) {
+ return ListMembershipsRequest.newBuilder(payload).setPageSize(pageSize).build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListMembershipsRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListMembershipsResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListMembershipsResponse payload) {
+ return payload.getResourcesList() == null
+ ? ImmutableList.of()
+ : payload.getResourcesList();
+ }
+ };
+
+ private static final PagedListDescriptor
+ LIST_FEATURES_PAGE_STR_DESC =
+ new PagedListDescriptor() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListFeaturesRequest injectToken(ListFeaturesRequest payload, String token) {
+ return ListFeaturesRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListFeaturesRequest injectPageSize(ListFeaturesRequest payload, int pageSize) {
+ return ListFeaturesRequest.newBuilder(payload).setPageSize(pageSize).build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListFeaturesRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListFeaturesResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListFeaturesResponse payload) {
+ return payload.getResourcesList() == null
+ ? ImmutableList.of()
+ : payload.getResourcesList();
+ }
+ };
+
+ private static final PagedListResponseFactory<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ LIST_MEMBERSHIPS_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>() {
+ @Override
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable callable,
+ ListMembershipsRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext pageContext =
+ PageContext.create(callable, LIST_MEMBERSHIPS_PAGE_STR_DESC, request, context);
+ return ListMembershipsPagedResponse.createAsync(pageContext, futureResponse);
+ }
+ };
+
+ private static final PagedListResponseFactory<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>
+ LIST_FEATURES_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>() {
+ @Override
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable callable,
+ ListFeaturesRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext pageContext =
+ PageContext.create(callable, LIST_FEATURES_PAGE_STR_DESC, request, context);
+ return ListFeaturesPagedResponse.createAsync(pageContext, futureResponse);
+ }
+ };
+
+ /** Returns the object with the settings used for calls to listMemberships. */
+ public PagedCallSettings<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings() {
+ return listMembershipsSettings;
+ }
+
+ /** Returns the object with the settings used for calls to listFeatures. */
+ public PagedCallSettings
+ listFeaturesSettings() {
+ return listFeaturesSettings;
+ }
+
+ /** Returns the object with the settings used for calls to getMembership. */
+ public UnaryCallSettings getMembershipSettings() {
+ return getMembershipSettings;
+ }
+
+ /** Returns the object with the settings used for calls to getFeature. */
+ public UnaryCallSettings getFeatureSettings() {
+ return getFeatureSettings;
+ }
+
+ /** Returns the object with the settings used for calls to createMembership. */
+ public UnaryCallSettings createMembershipSettings() {
+ return createMembershipSettings;
+ }
+
+ /** Returns the object with the settings used for calls to createMembership. */
+ public OperationCallSettings
+ createMembershipOperationSettings() {
+ return createMembershipOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to createFeature. */
+ public UnaryCallSettings createFeatureSettings() {
+ return createFeatureSettings;
+ }
+
+ /** Returns the object with the settings used for calls to createFeature. */
+ public OperationCallSettings
+ createFeatureOperationSettings() {
+ return createFeatureOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to deleteMembership. */
+ public UnaryCallSettings deleteMembershipSettings() {
+ return deleteMembershipSettings;
+ }
+
+ /** Returns the object with the settings used for calls to deleteMembership. */
+ public OperationCallSettings
+ deleteMembershipOperationSettings() {
+ return deleteMembershipOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to deleteFeature. */
+ public UnaryCallSettings deleteFeatureSettings() {
+ return deleteFeatureSettings;
+ }
+
+ /** Returns the object with the settings used for calls to deleteFeature. */
+ public OperationCallSettings
+ deleteFeatureOperationSettings() {
+ return deleteFeatureOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to updateMembership. */
+ public UnaryCallSettings updateMembershipSettings() {
+ return updateMembershipSettings;
+ }
+
+ /** Returns the object with the settings used for calls to updateMembership. */
+ public OperationCallSettings
+ updateMembershipOperationSettings() {
+ return updateMembershipOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to updateFeature. */
+ public UnaryCallSettings updateFeatureSettings() {
+ return updateFeatureSettings;
+ }
+
+ /** Returns the object with the settings used for calls to updateFeature. */
+ public OperationCallSettings
+ updateFeatureOperationSettings() {
+ return updateFeatureOperationSettings;
+ }
+
+ /** Returns the object with the settings used for calls to generateConnectManifest. */
+ public UnaryCallSettings
+ generateConnectManifestSettings() {
+ return generateConnectManifestSettings;
+ }
+
+ @BetaApi("A restructuring of stub classes is planned, so this may break in the future")
+ public GkeHubStub createStub() throws IOException {
+ if (getTransportChannelProvider()
+ .getTransportName()
+ .equals(GrpcTransportChannel.getGrpcTransportName())) {
+ return GrpcGkeHubStub.create(this);
+ }
+ throw new UnsupportedOperationException(
+ String.format(
+ "Transport not supported: %s", getTransportChannelProvider().getTransportName()));
+ }
+
+ /** Returns a builder for the default ExecutorProvider for this service. */
+ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
+ return InstantiatingExecutorProvider.newBuilder();
+ }
+
+ /** Returns the default service endpoint. */
+ public static String getDefaultEndpoint() {
+ return "gkehub.googleapis.com:443";
+ }
+
+ /** Returns the default mTLS service endpoint. */
+ public static String getDefaultMtlsEndpoint() {
+ return "gkehub.mtls.googleapis.com:443";
+ }
+
+ /** Returns the default service scopes. */
+ public static List getDefaultServiceScopes() {
+ return DEFAULT_SERVICE_SCOPES;
+ }
+
+ /** Returns a builder for the default credentials for this service. */
+ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
+ return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
+ }
+
+ /** Returns a builder for the default ChannelProvider for this service. */
+ public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
+ return InstantiatingGrpcChannelProvider.newBuilder()
+ .setMaxInboundMessageSize(Integer.MAX_VALUE);
+ }
+
+ public static TransportChannelProvider defaultTransportChannelProvider() {
+ return defaultGrpcTransportProviderBuilder().build();
+ }
+
+ @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
+ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
+ return ApiClientHeaderProvider.newBuilder()
+ .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(GkeHubStubSettings.class))
+ .setTransportToken(
+ GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
+ }
+
+ /** 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 GkeHubStubSettings(Builder settingsBuilder) throws IOException {
+ super(settingsBuilder);
+
+ listMembershipsSettings = settingsBuilder.listMembershipsSettings().build();
+ listFeaturesSettings = settingsBuilder.listFeaturesSettings().build();
+ getMembershipSettings = settingsBuilder.getMembershipSettings().build();
+ getFeatureSettings = settingsBuilder.getFeatureSettings().build();
+ createMembershipSettings = settingsBuilder.createMembershipSettings().build();
+ createMembershipOperationSettings = settingsBuilder.createMembershipOperationSettings().build();
+ createFeatureSettings = settingsBuilder.createFeatureSettings().build();
+ createFeatureOperationSettings = settingsBuilder.createFeatureOperationSettings().build();
+ deleteMembershipSettings = settingsBuilder.deleteMembershipSettings().build();
+ deleteMembershipOperationSettings = settingsBuilder.deleteMembershipOperationSettings().build();
+ deleteFeatureSettings = settingsBuilder.deleteFeatureSettings().build();
+ deleteFeatureOperationSettings = settingsBuilder.deleteFeatureOperationSettings().build();
+ updateMembershipSettings = settingsBuilder.updateMembershipSettings().build();
+ updateMembershipOperationSettings = settingsBuilder.updateMembershipOperationSettings().build();
+ updateFeatureSettings = settingsBuilder.updateFeatureSettings().build();
+ updateFeatureOperationSettings = settingsBuilder.updateFeatureOperationSettings().build();
+ generateConnectManifestSettings = settingsBuilder.generateConnectManifestSettings().build();
+ }
+
+ /** Builder for GkeHubStubSettings. */
+ public static class Builder extends StubSettings.Builder {
+ private final ImmutableList> unaryMethodSettingsBuilders;
+ private final PagedCallSettings.Builder<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings;
+ private final PagedCallSettings.Builder<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>
+ listFeaturesSettings;
+ private final UnaryCallSettings.Builder getMembershipSettings;
+ private final UnaryCallSettings.Builder getFeatureSettings;
+ private final UnaryCallSettings.Builder
+ createMembershipSettings;
+ private final OperationCallSettings.Builder<
+ CreateMembershipRequest, Membership, OperationMetadata>
+ createMembershipOperationSettings;
+ private final UnaryCallSettings.Builder createFeatureSettings;
+ private final OperationCallSettings.Builder
+ createFeatureOperationSettings;
+ private final UnaryCallSettings.Builder
+ deleteMembershipSettings;
+ private final OperationCallSettings.Builder
+ deleteMembershipOperationSettings;
+ private final UnaryCallSettings.Builder deleteFeatureSettings;
+ private final OperationCallSettings.Builder
+ deleteFeatureOperationSettings;
+ private final UnaryCallSettings.Builder
+ updateMembershipSettings;
+ private final OperationCallSettings.Builder<
+ UpdateMembershipRequest, Membership, OperationMetadata>
+ updateMembershipOperationSettings;
+ private final UnaryCallSettings.Builder updateFeatureSettings;
+ private final OperationCallSettings.Builder
+ updateFeatureOperationSettings;
+ private final UnaryCallSettings.Builder<
+ GenerateConnectManifestRequest, GenerateConnectManifestResponse>
+ generateConnectManifestSettings;
+ private static final ImmutableMap>
+ RETRYABLE_CODE_DEFINITIONS;
+
+ static {
+ ImmutableMap.Builder> definitions =
+ ImmutableMap.builder();
+ definitions.put(
+ "retry_policy_0_codes",
+ ImmutableSet.copyOf(Lists.newArrayList(StatusCode.Code.UNAVAILABLE)));
+ RETRYABLE_CODE_DEFINITIONS = definitions.build();
+ }
+
+ private static final ImmutableMap RETRY_PARAM_DEFINITIONS;
+
+ static {
+ ImmutableMap.Builder definitions = ImmutableMap.builder();
+ RetrySettings settings = null;
+ settings =
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(1000L))
+ .setRetryDelayMultiplier(1.3)
+ .setMaxRetryDelay(Duration.ofMillis(10000L))
+ .setInitialRpcTimeout(Duration.ofMillis(60000L))
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ofMillis(60000L))
+ .setTotalTimeout(Duration.ofMillis(60000L))
+ .build();
+ definitions.put("retry_policy_0_params", settings);
+ RETRY_PARAM_DEFINITIONS = definitions.build();
+ }
+
+ protected Builder() {
+ this(((ClientContext) null));
+ }
+
+ protected Builder(ClientContext clientContext) {
+ super(clientContext);
+
+ listMembershipsSettings = PagedCallSettings.newBuilder(LIST_MEMBERSHIPS_PAGE_STR_FACT);
+ listFeaturesSettings = PagedCallSettings.newBuilder(LIST_FEATURES_PAGE_STR_FACT);
+ getMembershipSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ getFeatureSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ createMembershipSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ createMembershipOperationSettings = OperationCallSettings.newBuilder();
+ createFeatureSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ createFeatureOperationSettings = OperationCallSettings.newBuilder();
+ deleteMembershipSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ deleteMembershipOperationSettings = OperationCallSettings.newBuilder();
+ deleteFeatureSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ deleteFeatureOperationSettings = OperationCallSettings.newBuilder();
+ updateMembershipSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ updateMembershipOperationSettings = OperationCallSettings.newBuilder();
+ updateFeatureSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+ updateFeatureOperationSettings = OperationCallSettings.newBuilder();
+ generateConnectManifestSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
+
+ unaryMethodSettingsBuilders =
+ ImmutableList.>of(
+ listMembershipsSettings,
+ listFeaturesSettings,
+ getMembershipSettings,
+ getFeatureSettings,
+ createMembershipSettings,
+ createFeatureSettings,
+ deleteMembershipSettings,
+ deleteFeatureSettings,
+ updateMembershipSettings,
+ updateFeatureSettings,
+ generateConnectManifestSettings);
+ initDefaults(this);
+ }
+
+ protected Builder(GkeHubStubSettings settings) {
+ super(settings);
+
+ listMembershipsSettings = settings.listMembershipsSettings.toBuilder();
+ listFeaturesSettings = settings.listFeaturesSettings.toBuilder();
+ getMembershipSettings = settings.getMembershipSettings.toBuilder();
+ getFeatureSettings = settings.getFeatureSettings.toBuilder();
+ createMembershipSettings = settings.createMembershipSettings.toBuilder();
+ createMembershipOperationSettings = settings.createMembershipOperationSettings.toBuilder();
+ createFeatureSettings = settings.createFeatureSettings.toBuilder();
+ createFeatureOperationSettings = settings.createFeatureOperationSettings.toBuilder();
+ deleteMembershipSettings = settings.deleteMembershipSettings.toBuilder();
+ deleteMembershipOperationSettings = settings.deleteMembershipOperationSettings.toBuilder();
+ deleteFeatureSettings = settings.deleteFeatureSettings.toBuilder();
+ deleteFeatureOperationSettings = settings.deleteFeatureOperationSettings.toBuilder();
+ updateMembershipSettings = settings.updateMembershipSettings.toBuilder();
+ updateMembershipOperationSettings = settings.updateMembershipOperationSettings.toBuilder();
+ updateFeatureSettings = settings.updateFeatureSettings.toBuilder();
+ updateFeatureOperationSettings = settings.updateFeatureOperationSettings.toBuilder();
+ generateConnectManifestSettings = settings.generateConnectManifestSettings.toBuilder();
+
+ unaryMethodSettingsBuilders =
+ ImmutableList.>of(
+ listMembershipsSettings,
+ listFeaturesSettings,
+ getMembershipSettings,
+ getFeatureSettings,
+ createMembershipSettings,
+ createFeatureSettings,
+ deleteMembershipSettings,
+ deleteFeatureSettings,
+ updateMembershipSettings,
+ updateFeatureSettings,
+ generateConnectManifestSettings);
+ }
+
+ private static Builder createDefault() {
+ Builder builder = new Builder(((ClientContext) null));
+
+ builder.setTransportChannelProvider(defaultTransportChannelProvider());
+ builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
+ builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
+ builder.setEndpoint(getDefaultEndpoint());
+ builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
+ builder.setSwitchToMtlsEndpointAllowed(true);
+
+ return initDefaults(builder);
+ }
+
+ private static Builder initDefaults(Builder builder) {
+ builder
+ .listMembershipsSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .listFeaturesSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .getMembershipSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .getFeatureSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .createMembershipSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .createFeatureSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .deleteMembershipSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .deleteFeatureSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .updateMembershipSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .updateFeatureSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .generateConnectManifestSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
+
+ builder
+ .createMembershipOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Membership.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ builder
+ .createFeatureOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Feature.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ builder
+ .deleteMembershipOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ builder
+ .deleteFeatureOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ builder
+ .updateMembershipOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Membership.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ builder
+ .updateFeatureOperationSettings()
+ .setInitialCallSettings(
+ UnaryCallSettings
+ .newUnaryCallSettingsBuilder()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"))
+ .build())
+ .setResponseTransformer(
+ ProtoOperationTransformers.ResponseTransformer.create(Feature.class))
+ .setMetadataTransformer(
+ ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
+ .setPollingAlgorithm(
+ OperationTimedPollAlgorithm.create(
+ RetrySettings.newBuilder()
+ .setInitialRetryDelay(Duration.ofMillis(5000L))
+ .setRetryDelayMultiplier(1.5)
+ .setMaxRetryDelay(Duration.ofMillis(45000L))
+ .setInitialRpcTimeout(Duration.ZERO)
+ .setRpcTimeoutMultiplier(1.0)
+ .setMaxRpcTimeout(Duration.ZERO)
+ .setTotalTimeout(Duration.ofMillis(300000L))
+ .build()));
+
+ return builder;
+ }
+
+ // NEXT_MAJOR_VER: remove 'throws Exception'.
+ /**
+ * 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) throws Exception {
+ super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater);
+ return this;
+ }
+
+ public ImmutableList> unaryMethodSettingsBuilders() {
+ return unaryMethodSettingsBuilders;
+ }
+
+ /** Returns the builder for the settings used for calls to listMemberships. */
+ public PagedCallSettings.Builder<
+ ListMembershipsRequest, ListMembershipsResponse, ListMembershipsPagedResponse>
+ listMembershipsSettings() {
+ return listMembershipsSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to listFeatures. */
+ public PagedCallSettings.Builder<
+ ListFeaturesRequest, ListFeaturesResponse, ListFeaturesPagedResponse>
+ listFeaturesSettings() {
+ return listFeaturesSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to getMembership. */
+ public UnaryCallSettings.Builder getMembershipSettings() {
+ return getMembershipSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to getFeature. */
+ public UnaryCallSettings.Builder getFeatureSettings() {
+ return getFeatureSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to createMembership. */
+ public UnaryCallSettings.Builder
+ createMembershipSettings() {
+ return createMembershipSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to createMembership. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ createMembershipOperationSettings() {
+ return createMembershipOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to createFeature. */
+ public UnaryCallSettings.Builder createFeatureSettings() {
+ return createFeatureSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to createFeature. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ createFeatureOperationSettings() {
+ return createFeatureOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to deleteMembership. */
+ public UnaryCallSettings.Builder
+ deleteMembershipSettings() {
+ return deleteMembershipSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to deleteMembership. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ deleteMembershipOperationSettings() {
+ return deleteMembershipOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to deleteFeature. */
+ public UnaryCallSettings.Builder deleteFeatureSettings() {
+ return deleteFeatureSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to deleteFeature. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ deleteFeatureOperationSettings() {
+ return deleteFeatureOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to updateMembership. */
+ public UnaryCallSettings.Builder
+ updateMembershipSettings() {
+ return updateMembershipSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to updateMembership. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ updateMembershipOperationSettings() {
+ return updateMembershipOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to updateFeature. */
+ public UnaryCallSettings.Builder updateFeatureSettings() {
+ return updateFeatureSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to updateFeature. */
+ @BetaApi(
+ "The surface for use by generated code is not stable yet and may change in the future.")
+ public OperationCallSettings.Builder
+ updateFeatureOperationSettings() {
+ return updateFeatureOperationSettings;
+ }
+
+ /** Returns the builder for the settings used for calls to generateConnectManifest. */
+ public UnaryCallSettings.Builder<
+ GenerateConnectManifestRequest, GenerateConnectManifestResponse>
+ generateConnectManifestSettings() {
+ return generateConnectManifestSettings;
+ }
+
+ @Override
+ public GkeHubStubSettings build() throws IOException {
+ return new GkeHubStubSettings(this);
+ }
+ }
+}
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubCallableFactory.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubCallableFactory.java
new file mode 100644
index 00000000..9693b459
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubCallableFactory.java
@@ -0,0 +1,113 @@
+/*
+ * 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.gkehub.v1.stub;
+
+import com.google.api.gax.grpc.GrpcCallSettings;
+import com.google.api.gax.grpc.GrpcCallableFactory;
+import com.google.api.gax.grpc.GrpcStubCallableFactory;
+import com.google.api.gax.rpc.BatchingCallSettings;
+import com.google.api.gax.rpc.BidiStreamingCallable;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.ClientStreamingCallable;
+import com.google.api.gax.rpc.OperationCallSettings;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.PagedCallSettings;
+import com.google.api.gax.rpc.ServerStreamingCallSettings;
+import com.google.api.gax.rpc.ServerStreamingCallable;
+import com.google.api.gax.rpc.StreamingCallSettings;
+import com.google.api.gax.rpc.UnaryCallSettings;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.longrunning.Operation;
+import com.google.longrunning.stub.OperationsStub;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * gRPC callable factory implementation for the GkeHub service API.
+ *
+ * This class is for advanced usage.
+ */
+@Generated("by gapic-generator-java")
+public class GrpcGkeHubCallableFactory implements GrpcStubCallableFactory {
+
+ @Override
+ public UnaryCallable createUnaryCallable(
+ GrpcCallSettings grpcCallSettings,
+ UnaryCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public
+ UnaryCallable createPagedCallable(
+ GrpcCallSettings grpcCallSettings,
+ PagedCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public UnaryCallable createBatchingCallable(
+ GrpcCallSettings grpcCallSettings,
+ BatchingCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createBatchingCallable(
+ grpcCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public
+ OperationCallable createOperationCallable(
+ GrpcCallSettings grpcCallSettings,
+ OperationCallSettings callSettings,
+ ClientContext clientContext,
+ OperationsStub operationsStub) {
+ return GrpcCallableFactory.createOperationCallable(
+ grpcCallSettings, callSettings, clientContext, operationsStub);
+ }
+
+ @Override
+ public
+ BidiStreamingCallable createBidiStreamingCallable(
+ GrpcCallSettings grpcCallSettings,
+ StreamingCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createBidiStreamingCallable(
+ grpcCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public
+ ServerStreamingCallable createServerStreamingCallable(
+ GrpcCallSettings grpcCallSettings,
+ ServerStreamingCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createServerStreamingCallable(
+ grpcCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public
+ ClientStreamingCallable createClientStreamingCallable(
+ GrpcCallSettings grpcCallSettings,
+ StreamingCallSettings callSettings,
+ ClientContext clientContext) {
+ return GrpcCallableFactory.createClientStreamingCallable(
+ grpcCallSettings, callSettings, clientContext);
+ }
+}
diff --git a/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubStub.java b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubStub.java
new file mode 100644
index 00000000..e4f2bc97
--- /dev/null
+++ b/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GrpcGkeHubStub.java
@@ -0,0 +1,612 @@
+/*
+ * 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.gkehub.v1.stub;
+
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListFeaturesPagedResponse;
+import static com.google.cloud.gkehub.v1.GkeHubClient.ListMembershipsPagedResponse;
+
+import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.core.BackgroundResourceAggregation;
+import com.google.api.gax.grpc.GrpcCallSettings;
+import com.google.api.gax.grpc.GrpcStubCallableFactory;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.RequestParamsExtractor;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.cloud.gkehub.v1.CreateFeatureRequest;
+import com.google.cloud.gkehub.v1.CreateMembershipRequest;
+import com.google.cloud.gkehub.v1.DeleteFeatureRequest;
+import com.google.cloud.gkehub.v1.DeleteMembershipRequest;
+import com.google.cloud.gkehub.v1.Feature;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestRequest;
+import com.google.cloud.gkehub.v1.GenerateConnectManifestResponse;
+import com.google.cloud.gkehub.v1.GetFeatureRequest;
+import com.google.cloud.gkehub.v1.GetMembershipRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesRequest;
+import com.google.cloud.gkehub.v1.ListFeaturesResponse;
+import com.google.cloud.gkehub.v1.ListMembershipsRequest;
+import com.google.cloud.gkehub.v1.ListMembershipsResponse;
+import com.google.cloud.gkehub.v1.Membership;
+import com.google.cloud.gkehub.v1.OperationMetadata;
+import com.google.cloud.gkehub.v1.UpdateFeatureRequest;
+import com.google.cloud.gkehub.v1.UpdateMembershipRequest;
+import com.google.common.collect.ImmutableMap;
+import com.google.longrunning.Operation;
+import com.google.longrunning.stub.GrpcOperationsStub;
+import com.google.protobuf.Empty;
+import io.grpc.MethodDescriptor;
+import io.grpc.protobuf.ProtoUtils;
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * gRPC stub implementation for the GkeHub service API.
+ *
+ * This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+public class GrpcGkeHubStub extends GkeHubStub {
+ private static final MethodDescriptor
+ listMembershipsMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/ListMemberships")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(ListMembershipsRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListMembershipsResponse.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor
+ listFeaturesMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/ListFeatures")
+ .setRequestMarshaller(ProtoUtils.marshaller(ListFeaturesRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListFeaturesResponse.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor
+ getMembershipMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/GetMembership")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(GetMembershipRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Membership.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor getFeatureMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/GetFeature")
+ .setRequestMarshaller(ProtoUtils.marshaller(GetFeatureRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Feature.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor
+ createMembershipMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/CreateMembership")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(CreateMembershipRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor
+ createFeatureMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/CreateFeature")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(CreateFeatureRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor
+ deleteMembershipMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.cloud.gkehub.v1.GkeHub/DeleteMembership")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(DeleteMembershipRequest.getDefaultInstance()))
+ .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+ .build();
+
+ private static final MethodDescriptor