diff --git a/generation_config.yaml b/generation_config.yaml index e2815f67eb0d..e10b29e95df0 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -793,11 +793,12 @@ libraries: - proto_path: google/cloud/datalabeling/v1beta1 - api_shortname: datalineage name_pretty: Data Lineage - product_documentation: https://cloud.google.com/data-catalog/docs/data-lineage/ + product_documentation: https://cloud.google.com/dataplex/docs/about-data-lineage api_description: Lineage is used to track data flows between assets over time. release_level: stable GAPICs: - proto_path: google/cloud/datacatalog/lineage/v1 + - proto_path: google/cloud/datacatalog/lineage/configmanagement/v1 - api_shortname: datamanager name_pretty: Data Manager API product_documentation: https://developers.google.com/data-manager diff --git a/java-datalineage/.OwlBot-hermetic.yaml b/java-datalineage/.OwlBot-hermetic.yaml index 48b9cf573b95..1d8c3d360b88 100644 --- a/java-datalineage/.OwlBot-hermetic.yaml +++ b/java-datalineage/.OwlBot-hermetic.yaml @@ -31,5 +31,14 @@ deep-copy-regex: dest: "/owl-bot-staging/java-datalineage/$1/google-cloud-datalineage/src" - source: "/google/cloud/datacatalog/lineage/(v.*)/.*-java/samples/snippets/generated" dest: "/owl-bot-staging/java-datalineage/$1/samples/snippets/generated" +# configmanagement +- source: "/google/cloud/datacatalog/lineage/configmanagement/(v.*)/.*-java/proto-google-.*/src" + dest: "/owl-bot-staging/java-datalineage/$1/proto-google-cloud-datalineage-$1/src" +- source: "/google/cloud/datacatalog/lineage/configmanagement/(v.*)/.*-java/grpc-google-.*/src" + dest: "/owl-bot-staging/java-datalineage/$1/grpc-google-cloud-datalineage-$1/src" +- source: "/google/cloud/datacatalog/lineage/configmanagement/(v.*)/.*-java/gapic-google-.*/src" + dest: "/owl-bot-staging/java-datalineage/$1/google-cloud-datalineage/src" +- source: "/google/cloud/datacatalog/lineage/configmanagement/(v.*)/.*-java/samples/snippets/generated" + dest: "/owl-bot-staging/java-datalineage/$1/samples/snippets/generated" api-name: datalineage \ No newline at end of file diff --git a/java-datalineage/.repo-metadata.json b/java-datalineage/.repo-metadata.json index c908497f2f26..bd34aaa12710 100644 --- a/java-datalineage/.repo-metadata.json +++ b/java-datalineage/.repo-metadata.json @@ -1,7 +1,7 @@ { "api_shortname": "datalineage", "name_pretty": "Data Lineage", - "product_documentation": "https://cloud.google.com/data-catalog/docs/data-lineage/", + "product_documentation": "https://cloud.google.com/dataplex/docs/about-data-lineage", "api_description": "Lineage is used to track data flows between assets over time.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-datalineage/latest/overview", "release_level": "stable", diff --git a/java-datalineage/README.md b/java-datalineage/README.md index 3dffc65f14d5..343dd84dc83e 100644 --- a/java-datalineage/README.md +++ b/java-datalineage/README.md @@ -171,7 +171,7 @@ Apache 2.0 - See [LICENSE][license] for more information. Java is a registered trademark of Oracle and/or its affiliates. -[product-docs]: https://cloud.google.com/data-catalog/docs/data-lineage/ +[product-docs]: https://cloud.google.com/dataplex/docs/about-data-lineage [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-datalineage/latest/overview [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-datalineage.svg diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClient.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClient.java new file mode 100644 index 000000000000..cb4755f1b6ab --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClient.java @@ -0,0 +1,438 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.stub.ConfigManagementServiceStub; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.stub.ConfigManagementServiceStubSettings; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: Lineage Config Management service. Config Management service is used to + * manage the configuration for Data Lineage. These Configs define different configuration options + * for Lineage customers to control behaviour of lineage systems. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (ConfigManagementServiceClient configManagementServiceClient =
+ *     ConfigManagementServiceClient.create()) {
+ *   ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]");
+ *   Config response = configManagementServiceClient.getConfig(name);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the ConfigManagementServiceClient object to clean up + * resources such as threads. In the example above, try-with-resources is used, which automatically + * calls close(). + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Methods
MethodDescriptionMethod Variants

GetConfig

Get the Config for a given resource.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getConfig(GetConfigRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getConfig(ConfigName name) + *

  • getConfig(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getConfigCallable() + *

+ *

UpdateConfig

Update the Config for a given resource.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updateConfig(UpdateConfigRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • updateConfig(Config config) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updateConfigCallable() + *

+ *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of + * ConfigManagementServiceSettings to create(). For example: + * + *

To customize credentials: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * ConfigManagementServiceSettings configManagementServiceSettings =
+ *     ConfigManagementServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * ConfigManagementServiceClient configManagementServiceClient =
+ *     ConfigManagementServiceClient.create(configManagementServiceSettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * ConfigManagementServiceSettings configManagementServiceSettings =
+ *     ConfigManagementServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * ConfigManagementServiceClient configManagementServiceClient =
+ *     ConfigManagementServiceClient.create(configManagementServiceSettings);
+ * }
+ * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * ConfigManagementServiceSettings configManagementServiceSettings =
+ *     ConfigManagementServiceSettings.newHttpJsonBuilder().build();
+ * ConfigManagementServiceClient configManagementServiceClient =
+ *     ConfigManagementServiceClient.create(configManagementServiceSettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@Generated("by gapic-generator-java") +public class ConfigManagementServiceClient implements BackgroundResource { + private final ConfigManagementServiceSettings settings; + private final ConfigManagementServiceStub stub; + + /** Constructs an instance of ConfigManagementServiceClient with default settings. */ + public static final ConfigManagementServiceClient create() throws IOException { + return create(ConfigManagementServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of ConfigManagementServiceClient, using the given settings. The channels + * are created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final ConfigManagementServiceClient create(ConfigManagementServiceSettings settings) + throws IOException { + return new ConfigManagementServiceClient(settings); + } + + /** + * Constructs an instance of ConfigManagementServiceClient, using the given stub for making calls. + * This is for advanced usage - prefer using create(ConfigManagementServiceSettings). + */ + public static final ConfigManagementServiceClient create(ConfigManagementServiceStub stub) { + return new ConfigManagementServiceClient(stub); + } + + /** + * Constructs an instance of ConfigManagementServiceClient, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected ConfigManagementServiceClient(ConfigManagementServiceSettings settings) + throws IOException { + this.settings = settings; + this.stub = ((ConfigManagementServiceStubSettings) settings.getStubSettings()).createStub(); + } + + protected ConfigManagementServiceClient(ConfigManagementServiceStub stub) { + this.settings = null; + this.stub = stub; + } + + public final ConfigManagementServiceSettings getSettings() { + return settings; + } + + public ConfigManagementServiceStub getStub() { + return stub; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Get the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]");
+   *   Config response = configManagementServiceClient.getConfig(name);
+   * }
+   * }
+ * + * @param name Required. REQUIRED: The resource name of the config to be fetched. Format: + * `organizations/{organization_id}/locations/global/config` + * `folders/{folder_id}/locations/global/config` + * `projects/{project_id}/locations/global/config` + * `projects/{project_number}/locations/global/config` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Config getConfig(ConfigName name) { + GetConfigRequest request = + GetConfigRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getConfig(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Get the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   String name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString();
+   *   Config response = configManagementServiceClient.getConfig(name);
+   * }
+   * }
+ * + * @param name Required. REQUIRED: The resource name of the config to be fetched. Format: + * `organizations/{organization_id}/locations/global/config` + * `folders/{folder_id}/locations/global/config` + * `projects/{project_id}/locations/global/config` + * `projects/{project_number}/locations/global/config` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Config getConfig(String name) { + GetConfigRequest request = GetConfigRequest.newBuilder().setName(name).build(); + return getConfig(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Get the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   GetConfigRequest request =
+   *       GetConfigRequest.newBuilder()
+   *           .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString())
+   *           .build();
+   *   Config response = configManagementServiceClient.getConfig(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 Config getConfig(GetConfigRequest request) { + return getConfigCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Get the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   GetConfigRequest request =
+   *       GetConfigRequest.newBuilder()
+   *           .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString())
+   *           .build();
+   *   ApiFuture future =
+   *       configManagementServiceClient.getConfigCallable().futureCall(request);
+   *   // Do something.
+   *   Config response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getConfigCallable() { + return stub.getConfigCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Update the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   Config config = Config.newBuilder().build();
+   *   Config response = configManagementServiceClient.updateConfig(config);
+   * }
+   * }
+ * + * @param config Required. REQUIRED: The config to be applied to the resource and all its + * descendants. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Config updateConfig(Config config) { + UpdateConfigRequest request = UpdateConfigRequest.newBuilder().setConfig(config).build(); + return updateConfig(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Update the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   UpdateConfigRequest request =
+   *       UpdateConfigRequest.newBuilder().setConfig(Config.newBuilder().build()).build();
+   *   Config response = configManagementServiceClient.updateConfig(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 Config updateConfig(UpdateConfigRequest request) { + return updateConfigCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Update the Config for a given resource. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (ConfigManagementServiceClient configManagementServiceClient =
+   *     ConfigManagementServiceClient.create()) {
+   *   UpdateConfigRequest request =
+   *       UpdateConfigRequest.newBuilder().setConfig(Config.newBuilder().build()).build();
+   *   ApiFuture future =
+   *       configManagementServiceClient.updateConfigCallable().futureCall(request);
+   *   // Do something.
+   *   Config response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updateConfigCallable() { + return stub.updateConfigCallable(); + } + + @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); + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceSettings.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceSettings.java new file mode 100644 index 000000000000..9e081eb10f8a --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceSettings.java @@ -0,0 +1,228 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +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.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.stub.ConfigManagementServiceStubSettings; +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 ConfigManagementServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

+ * + *

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 + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getConfig: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * ConfigManagementServiceSettings.Builder configManagementServiceSettingsBuilder =
+ *     ConfigManagementServiceSettings.newBuilder();
+ * configManagementServiceSettingsBuilder
+ *     .getConfigSettings()
+ *     .setRetrySettings(
+ *         configManagementServiceSettingsBuilder
+ *             .getConfigSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * ConfigManagementServiceSettings configManagementServiceSettings =
+ *     configManagementServiceSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + */ +@Generated("by gapic-generator-java") +public class ConfigManagementServiceSettings + extends ClientSettings { + + /** Returns the object with the settings used for calls to getConfig. */ + public UnaryCallSettings getConfigSettings() { + return ((ConfigManagementServiceStubSettings) getStubSettings()).getConfigSettings(); + } + + /** Returns the object with the settings used for calls to updateConfig. */ + public UnaryCallSettings updateConfigSettings() { + return ((ConfigManagementServiceStubSettings) getStubSettings()).updateConfigSettings(); + } + + public static final ConfigManagementServiceSettings create( + ConfigManagementServiceStubSettings stub) throws IOException { + return new ConfigManagementServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return ConfigManagementServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return ConfigManagementServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return ConfigManagementServiceStubSettings.defaultTransportChannelProvider(); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** 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 ConfigManagementServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for ConfigManagementServiceSettings. */ + public static class Builder + extends ClientSettings.Builder { + + protected Builder() throws IOException { + this(((ClientContext) null)); + } + + protected Builder(ClientContext clientContext) { + super(ConfigManagementServiceStubSettings.newBuilder(clientContext)); + } + + protected Builder(ConfigManagementServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(ConfigManagementServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + private static Builder createDefault() { + return new Builder(ConfigManagementServiceStubSettings.newBuilder()); + } + + private static Builder createHttpJsonDefault() { + return new Builder(ConfigManagementServiceStubSettings.newHttpJsonBuilder()); + } + + public ConfigManagementServiceStubSettings.Builder getStubSettingsBuilder() { + return ((ConfigManagementServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to getConfig. */ + public UnaryCallSettings.Builder getConfigSettings() { + return getStubSettingsBuilder().getConfigSettings(); + } + + /** Returns the builder for the settings used for calls to updateConfig. */ + public UnaryCallSettings.Builder updateConfigSettings() { + return getStubSettingsBuilder().updateConfigSettings(); + } + + @Override + public ConfigManagementServiceSettings build() throws IOException { + return new ConfigManagementServiceSettings(this); + } + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/gapic_metadata.json b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/gapic_metadata.json new file mode 100644 index 000000000000..0a41dee0fd6e --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/gapic_metadata.json @@ -0,0 +1,24 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.datacatalog.lineage.configmanagement.v1", + "libraryPackage": "com.google.cloud.datacatalog.lineage.configmanagement.v1", + "services": { + "ConfigManagementService": { + "clients": { + "grpc": { + "libraryClient": "ConfigManagementServiceClient", + "rpcs": { + "GetConfig": { + "methods": ["getConfig", "getConfig", "getConfig", "getConfigCallable"] + }, + "UpdateConfig": { + "methods": ["updateConfig", "updateConfig", "updateConfigCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/package-info.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/package-info.java new file mode 100644 index 000000000000..ffd3045f784a --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/package-info.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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. + */ + +/** + * A client to Data Lineage API + * + *

The interfaces provided are listed below, along with usage samples. + * + *

======================= ConfigManagementServiceClient ======================= + * + *

Service Description: Lineage Config Management service. Config Management service is used to + * manage the configuration for Data Lineage. These Configs define different configuration options + * for Lineage customers to control behaviour of lineage systems. + * + *

Sample for ConfigManagementServiceClient: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (ConfigManagementServiceClient configManagementServiceClient =
+ *     ConfigManagementServiceClient.create()) {
+ *   ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]");
+ *   Config response = configManagementServiceClient.getConfig(name);
+ * }
+ * }
+ */ +@Generated("by gapic-generator-java") +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +import javax.annotation.Generated; diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStub.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStub.java new file mode 100644 index 000000000000..6b429d7be236 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStub.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Base stub class for the ConfigManagementService service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public abstract class ConfigManagementServiceStub implements BackgroundResource { + + public UnaryCallable getConfigCallable() { + throw new UnsupportedOperationException("Not implemented: getConfigCallable()"); + } + + public UnaryCallable updateConfigCallable() { + throw new UnsupportedOperationException("Not implemented: updateConfigCallable()"); + } + + @Override + public abstract void close(); +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStubSettings.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStubSettings.java new file mode 100644 index 000000000000..77630ba2eaa2 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/ConfigManagementServiceStubSettings.java @@ -0,0 +1,379 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.core.ObsoleteApi; +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.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.LibraryMetadata; +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.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; +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 java.io.IOException; +import java.time.Duration; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link ConfigManagementServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (datalineage.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 + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getConfig: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * ConfigManagementServiceStubSettings.Builder configManagementServiceSettingsBuilder =
+ *     ConfigManagementServiceStubSettings.newBuilder();
+ * configManagementServiceSettingsBuilder
+ *     .getConfigSettings()
+ *     .setRetrySettings(
+ *         configManagementServiceSettingsBuilder
+ *             .getConfigSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * ConfigManagementServiceStubSettings configManagementServiceSettings =
+ *     configManagementServiceSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + */ +@Generated("by gapic-generator-java") +@SuppressWarnings("CanonicalDuration") +public class ConfigManagementServiceStubSettings + 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 UnaryCallSettings getConfigSettings; + private final UnaryCallSettings updateConfigSettings; + + /** Returns the object with the settings used for calls to getConfig. */ + public UnaryCallSettings getConfigSettings() { + return getConfigSettings; + } + + /** Returns the object with the settings used for calls to updateConfig. */ + public UnaryCallSettings updateConfigSettings() { + return updateConfigSettings; + } + + public ConfigManagementServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcConfigManagementServiceStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonConfigManagementServiceStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "datalineage"; + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + @ObsoleteApi("Use getEndpoint() instead") + public static String getDefaultEndpoint() { + return "datalineage.googleapis.com:443"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "datalineage.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) + .setUseJwtAccessWithScope(true); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return InstantiatingHttpJsonChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(ConfigManagementServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(ConfigManagementServiceStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ConfigManagementServiceStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** 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 ConfigManagementServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + getConfigSettings = settingsBuilder.getConfigSettings().build(); + updateConfigSettings = settingsBuilder.updateConfigSettings().build(); + } + + @Override + protected LibraryMetadata getLibraryMetadata() { + return LibraryMetadata.newBuilder() + .setArtifactName("com.google.cloud:google-cloud-datalineage") + .setRepository("googleapis/google-cloud-java") + .setVersion(Version.VERSION) + .build(); + } + + /** Builder for ConfigManagementServiceStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final UnaryCallSettings.Builder getConfigSettings; + private final UnaryCallSettings.Builder updateConfigSettings; + 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() + .setInitialRetryDelayDuration(Duration.ofMillis(100L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelayDuration(Duration.ofMillis(60000L)) + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(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); + + getConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updateConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + getConfigSettings, updateConfigSettings); + initDefaults(this); + } + + protected Builder(ConfigManagementServiceStubSettings settings) { + super(settings); + + getConfigSettings = settings.getConfigSettings.toBuilder(); + updateConfigSettings = settings.updateConfigSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + getConfigSettings, updateConfigSettings); + } + + private static Builder createDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder createHttpJsonDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + builder + .getConfigSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .updateConfigSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + return builder; + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to getConfig. */ + public UnaryCallSettings.Builder getConfigSettings() { + return getConfigSettings; + } + + /** Returns the builder for the settings used for calls to updateConfig. */ + public UnaryCallSettings.Builder updateConfigSettings() { + return updateConfigSettings; + } + + @Override + public ConfigManagementServiceStubSettings build() throws IOException { + return new ConfigManagementServiceStubSettings(this); + } + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceCallableFactory.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceCallableFactory.java new file mode 100644 index 000000000000..414459e015e3 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceCallableFactory.java @@ -0,0 +1,113 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.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 ConfigManagementService service API. + * + *

This class is for advanced usage. + */ +@Generated("by gapic-generator-java") +public class GrpcConfigManagementServiceCallableFactory 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/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceStub.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceStub.java new file mode 100644 index 000000000000..da04bd529383 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/GrpcConfigManagementServiceStub.java @@ -0,0 +1,194 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +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.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC stub implementation for the ConfigManagementService service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public class GrpcConfigManagementServiceStub extends ConfigManagementServiceStub { + private static final MethodDescriptor getConfigMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementService/GetConfig") + .setRequestMarshaller(ProtoUtils.marshaller(GetConfigRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Config.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor updateConfigMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementService/UpdateConfig") + .setRequestMarshaller(ProtoUtils.marshaller(UpdateConfigRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Config.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private final UnaryCallable getConfigCallable; + private final UnaryCallable updateConfigCallable; + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + private final GrpcStubCallableFactory callableFactory; + + public static final GrpcConfigManagementServiceStub create( + ConfigManagementServiceStubSettings settings) throws IOException { + return new GrpcConfigManagementServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcConfigManagementServiceStub create(ClientContext clientContext) + throws IOException { + return new GrpcConfigManagementServiceStub( + ConfigManagementServiceStubSettings.newBuilder().build(), clientContext); + } + + public static final GrpcConfigManagementServiceStub create( + ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { + return new GrpcConfigManagementServiceStub( + ConfigManagementServiceStubSettings.newBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of GrpcConfigManagementServiceStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcConfigManagementServiceStub( + ConfigManagementServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this(settings, clientContext, new GrpcConfigManagementServiceCallableFactory()); + } + + /** + * Constructs an instance of GrpcConfigManagementServiceStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcConfigManagementServiceStub( + ConfigManagementServiceStubSettings settings, + ClientContext clientContext, + GrpcStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); + + GrpcCallSettings getConfigTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getConfigMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings updateConfigTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateConfigMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("config.name", String.valueOf(request.getConfig().getName())); + return builder.build(); + }) + .build(); + + this.getConfigCallable = + callableFactory.createUnaryCallable( + getConfigTransportSettings, settings.getConfigSettings(), clientContext); + this.updateConfigCallable = + callableFactory.createUnaryCallable( + updateConfigTransportSettings, settings.updateConfigSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + @Override + public UnaryCallable getConfigCallable() { + return getConfigCallable; + } + + @Override + public UnaryCallable updateConfigCallable() { + return updateConfigCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceCallableFactory.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceCallableFactory.java new file mode 100644 index 000000000000..861c98eaadd2 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceCallableFactory.java @@ -0,0 +1,101 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +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.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the ConfigManagementService service API. + * + *

This class is for advanced usage. + */ +@Generated("by gapic-generator-java") +public class HttpJsonConfigManagementServiceCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceStub.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceStub.java new file mode 100644 index 000000000000..8ef8fac7e72f --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/HttpJsonConfigManagementServiceStub.java @@ -0,0 +1,268 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the ConfigManagementService service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public class HttpJsonConfigManagementServiceStub extends ConfigManagementServiceStub { + private static final TypeRegistry typeRegistry = TypeRegistry.newBuilder().build(); + + private static final ApiMethodDescriptor getConfigMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementService/GetConfig") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/config}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setAdditionalPaths( + "/v1/{name=folders/*/locations/*/config}", + "/v1/{name=organizations/*/locations/*/config}") + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Config.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + updateConfigMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementService/UpdateConfig") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{config.name=projects/*/locations/*/config}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "config.name", request.getConfig().getName()); + return fields; + }) + .setAdditionalPaths( + "/v1/{config.name=folders/*/locations/*/config}", + "/v1/{config.name=organizations/*/locations/*/config}") + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("config", request.getConfig(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Config.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private final UnaryCallable getConfigCallable; + private final UnaryCallable updateConfigCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonConfigManagementServiceStub create( + ConfigManagementServiceStubSettings settings) throws IOException { + return new HttpJsonConfigManagementServiceStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonConfigManagementServiceStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonConfigManagementServiceStub( + ConfigManagementServiceStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonConfigManagementServiceStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonConfigManagementServiceStub( + ConfigManagementServiceStubSettings.newHttpJsonBuilder().build(), + clientContext, + callableFactory); + } + + /** + * Constructs an instance of HttpJsonConfigManagementServiceStub, using the given settings. This + * is protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonConfigManagementServiceStub( + ConfigManagementServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this(settings, clientContext, new HttpJsonConfigManagementServiceCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonConfigManagementServiceStub, using the given settings. This + * is protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonConfigManagementServiceStub( + ConfigManagementServiceStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + + HttpJsonCallSettings getConfigTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getConfigMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings updateConfigTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateConfigMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("config.name", String.valueOf(request.getConfig().getName())); + return builder.build(); + }) + .build(); + + this.getConfigCallable = + callableFactory.createUnaryCallable( + getConfigTransportSettings, settings.getConfigSettings(), clientContext); + this.updateConfigCallable = + callableFactory.createUnaryCallable( + updateConfigTransportSettings, settings.updateConfigSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(getConfigMethodDescriptor); + methodDescriptors.add(updateConfigMethodDescriptor); + return methodDescriptors; + } + + @Override + public UnaryCallable getConfigCallable() { + return getConfigCallable; + } + + @Override + public UnaryCallable updateConfigCallable() { + return updateConfigCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java new file mode 100644 index 000000000000..04deee00b798 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/Version.java @@ -0,0 +1,27 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub; + +import com.google.api.core.InternalApi; + +@InternalApi("For internal use only") +final class Version { + // {x-version-update-start:google-cloud-datalineage:current} + static final String VERSION = "0.0.0-SNAPSHOT"; + // {x-version-update-end} + +} diff --git a/java-datalineage/google-cloud-datalineage/src/main/resources/META-INF/native-image/com.google.cloud.datacatalog.lineage.configmanagement.v1/reflect-config.json b/java-datalineage/google-cloud-datalineage/src/main/resources/META-INF/native-image/com.google.cloud.datacatalog.lineage.configmanagement.v1/reflect-config.json new file mode 100644 index 000000000000..54cf8bd5c678 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/main/resources/META-INF/native-image/com.google.cloud.datacatalog.lineage.configmanagement.v1/reflect-config.json @@ -0,0 +1,1424 @@ +[ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryDestination", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryOrganization", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldBehavior", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.LaunchStage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$History", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Style", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$IntegrationSelector", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$IntegrationSelector$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$IntegrationSelector$Integration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$LineageEnablement", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.Config$Ingestion$IngestionRule$LineageEnablement$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$Edition", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnforceNamingStyle", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnumType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$FieldPresence", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$JsonFormat", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$MessageEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$RepeatedFieldEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Utf8Validation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$DefaultSymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Label", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$CType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$JSType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionRetention", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionTargetType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$OptimizeMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Semantic", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$IdempotencyLevel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + } +] \ No newline at end of file diff --git a/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientHttpJsonTest.java b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientHttpJsonTest.java new file mode 100644 index 000000000000..50b94377732e --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientHttpJsonTest.java @@ -0,0 +1,221 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.stub.HttpJsonConfigManagementServiceStub; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class ConfigManagementServiceClientHttpJsonTest { + private static MockHttpService mockService; + private static ConfigManagementServiceClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonConfigManagementServiceStub.getMethodDescriptors(), + ConfigManagementServiceSettings.getDefaultEndpoint()); + ConfigManagementServiceSettings settings = + ConfigManagementServiceSettings.newHttpJsonBuilder() + .setTransportChannelProvider( + ConfigManagementServiceSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = ConfigManagementServiceClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void getConfigTest() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockService.addResponse(expectedResponse); + + ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]"); + + Config actualResponse = client.getConfig(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getConfigExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]"); + client.getConfig(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getConfigTest2() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-505/locations/location-505/config"; + + Config actualResponse = client.getConfig(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getConfigExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-505/locations/location-505/config"; + client.getConfig(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateConfigTest() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockService.addResponse(expectedResponse); + + Config config = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + + Config actualResponse = client.updateConfig(config); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateConfigExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + Config config = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + client.updateConfig(config); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientTest.java b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientTest.java new file mode 100644 index 000000000000..4f22e794e1bb --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceClientTest.java @@ -0,0 +1,198 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.protobuf.AbstractMessage; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class ConfigManagementServiceClientTest { + private static MockConfigManagementService mockConfigManagementService; + private static MockServiceHelper mockServiceHelper; + private LocalChannelProvider channelProvider; + private ConfigManagementServiceClient client; + + @BeforeClass + public static void startStaticServer() { + mockConfigManagementService = new MockConfigManagementService(); + mockServiceHelper = + new MockServiceHelper( + UUID.randomUUID().toString(), + Arrays.asList(mockConfigManagementService)); + mockServiceHelper.start(); + } + + @AfterClass + public static void stopServer() { + mockServiceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); + ConfigManagementServiceSettings settings = + ConfigManagementServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = ConfigManagementServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + public void getConfigTest() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockConfigManagementService.addResponse(expectedResponse); + + ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]"); + + Config actualResponse = client.getConfig(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockConfigManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetConfigRequest actualRequest = ((GetConfigRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getConfigExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockConfigManagementService.addException(exception); + + try { + ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]"); + client.getConfig(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getConfigTest2() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockConfigManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + + Config actualResponse = client.getConfig(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockConfigManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetConfigRequest actualRequest = ((GetConfigRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getConfigExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockConfigManagementService.addException(exception); + + try { + String name = "name3373707"; + client.getConfig(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateConfigTest() throws Exception { + Config expectedResponse = + Config.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .setIngestion(Config.Ingestion.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockConfigManagementService.addResponse(expectedResponse); + + Config config = Config.newBuilder().build(); + + Config actualResponse = client.updateConfig(config); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockConfigManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateConfigRequest actualRequest = ((UpdateConfigRequest) actualRequests.get(0)); + + Assert.assertEquals(config, actualRequest.getConfig()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateConfigExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockConfigManagementService.addException(exception); + + try { + Config config = Config.newBuilder().build(); + client.updateConfig(config); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementService.java b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementService.java new file mode 100644 index 000000000000..856461dcfc86 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementService.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockConfigManagementService implements MockGrpcService { + private final MockConfigManagementServiceImpl serviceImpl; + + public MockConfigManagementService() { + serviceImpl = new MockConfigManagementServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementServiceImpl.java b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementServiceImpl.java new file mode 100644 index 000000000000..d5faa832bac4 --- /dev/null +++ b/java-datalineage/google-cloud-datalineage/src/test/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/MockConfigManagementServiceImpl.java @@ -0,0 +1,100 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceGrpc.ConfigManagementServiceImplBase; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockConfigManagementServiceImpl extends ConfigManagementServiceImplBase { + private List requests; + private Queue responses; + + public MockConfigManagementServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void getConfig(GetConfigRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Config) { + requests.add(request); + responseObserver.onNext(((Config) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetConfig, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Config.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updateConfig(UpdateConfigRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Config) { + requests.add(request); + responseObserver.onNext(((Config) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateConfig, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Config.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-datalineage/grpc-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceGrpc.java b/java-datalineage/grpc-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceGrpc.java new file mode 100644 index 000000000000..35588f46bd90 --- /dev/null +++ b/java-datalineage/grpc-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementServiceGrpc.java @@ -0,0 +1,589 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * Lineage Config Management service. Config Management service is used to
+ * manage the configuration for Data Lineage. These Configs define different
+ * configuration options for Lineage customers to control behaviour of lineage
+ * systems.
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class ConfigManagementServiceGrpc { + + private ConfigManagementServiceGrpc() {} + + public static final java.lang.String SERVICE_NAME = + "google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementService"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getGetConfigMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetConfig", + requestType = com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.class, + responseType = com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getGetConfigMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getGetConfigMethod; + if ((getGetConfigMethod = ConfigManagementServiceGrpc.getGetConfigMethod) == null) { + synchronized (ConfigManagementServiceGrpc.class) { + if ((getGetConfigMethod = ConfigManagementServiceGrpc.getGetConfigMethod) == null) { + ConfigManagementServiceGrpc.getGetConfigMethod = + getGetConfigMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetConfig")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.datacatalog.lineage.configmanagement.v1 + .GetConfigRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .getDefaultInstance())) + .setSchemaDescriptor( + new ConfigManagementServiceMethodDescriptorSupplier("GetConfig")) + .build(); + } + } + } + return getGetConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getUpdateConfigMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateConfig", + requestType = + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.class, + responseType = com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getUpdateConfigMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getUpdateConfigMethod; + if ((getUpdateConfigMethod = ConfigManagementServiceGrpc.getUpdateConfigMethod) == null) { + synchronized (ConfigManagementServiceGrpc.class) { + if ((getUpdateConfigMethod = ConfigManagementServiceGrpc.getUpdateConfigMethod) == null) { + ConfigManagementServiceGrpc.getUpdateConfigMethod = + getUpdateConfigMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdateConfig")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.datacatalog.lineage.configmanagement.v1 + .UpdateConfigRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .getDefaultInstance())) + .setSchemaDescriptor( + new ConfigManagementServiceMethodDescriptorSupplier("UpdateConfig")) + .build(); + } + } + } + return getUpdateConfigMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static ConfigManagementServiceStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public ConfigManagementServiceStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceStub(channel, callOptions); + } + }; + return ConfigManagementServiceStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static ConfigManagementServiceBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public ConfigManagementServiceBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceBlockingV2Stub(channel, callOptions); + } + }; + return ConfigManagementServiceBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static ConfigManagementServiceBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public ConfigManagementServiceBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceBlockingStub(channel, callOptions); + } + }; + return ConfigManagementServiceBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static ConfigManagementServiceFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public ConfigManagementServiceFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceFutureStub(channel, callOptions); + } + }; + return ConfigManagementServiceFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Get the Config for a given resource.
+     * 
+ */ + default void getConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConfigMethod(), responseObserver); + } + + /** + * + * + *
+     * Update the Config for a given resource.
+     * 
+ */ + default void updateConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateConfigMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service ConfigManagementService. + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public abstract static class ConfigManagementServiceImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return ConfigManagementServiceGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service ConfigManagementService. + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public static final class ConfigManagementServiceStub + extends io.grpc.stub.AbstractAsyncStub { + private ConfigManagementServiceStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ConfigManagementServiceStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceStub(channel, callOptions); + } + + /** + * + * + *
+     * Get the Config for a given resource.
+     * 
+ */ + public void getConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Update the Config for a given resource.
+     * 
+ */ + public void updateConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateConfigMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service ConfigManagementService. + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public static final class ConfigManagementServiceBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private ConfigManagementServiceBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ConfigManagementServiceBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Get the Config for a given resource.
+     * 
+ */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config getConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetConfigMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Update the Config for a given resource.
+     * 
+ */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config updateConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateConfigMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service ConfigManagementService. + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public static final class ConfigManagementServiceBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private ConfigManagementServiceBlockingStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ConfigManagementServiceBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Get the Config for a given resource.
+     * 
+ */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config getConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetConfigMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Update the Config for a given resource.
+     * 
+ */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config updateConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateConfigMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service + * ConfigManagementService. + * + *
+   * Lineage Config Management service. Config Management service is used to
+   * manage the configuration for Data Lineage. These Configs define different
+   * configuration options for Lineage customers to control behaviour of lineage
+   * systems.
+   * 
+ */ + public static final class ConfigManagementServiceFutureStub + extends io.grpc.stub.AbstractFutureStub { + private ConfigManagementServiceFutureStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ConfigManagementServiceFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new ConfigManagementServiceFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Get the Config for a given resource.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + getConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetConfigMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Update the Config for a given resource.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config> + updateConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateConfigMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_GET_CONFIG = 0; + private static final int METHODID_UPDATE_CONFIG = 1; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_GET_CONFIG: + serviceImpl.getConfig( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config>) + responseObserver); + break; + case METHODID_UPDATE_CONFIG: + serviceImpl.updateConfig( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + request, + (io.grpc.stub.StreamObserver< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config>) + responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getGetConfigMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config>( + service, METHODID_GET_CONFIG))) + .addMethod( + getUpdateConfigMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config>( + service, METHODID_UPDATE_CONFIG))) + .build(); + } + + private abstract static class ConfigManagementServiceBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + ConfigManagementServiceBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("ConfigManagementService"); + } + } + + private static final class ConfigManagementServiceFileDescriptorSupplier + extends ConfigManagementServiceBaseDescriptorSupplier { + ConfigManagementServiceFileDescriptorSupplier() {} + } + + private static final class ConfigManagementServiceMethodDescriptorSupplier + extends ConfigManagementServiceBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + ConfigManagementServiceMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (ConfigManagementServiceGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new ConfigManagementServiceFileDescriptorSupplier()) + .addMethod(getGetConfigMethod()) + .addMethod(getUpdateConfigMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/Config.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/Config.java new file mode 100644 index 000000000000..ca47316c742f --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/Config.java @@ -0,0 +1,5193 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +/** + * + * + *
+ * Configuration for Data Lineage. Defines different configuration options for
+ * Lineage customers to control behaviour of lineage systems.
+ * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.Config} + */ +@com.google.protobuf.Generated +public final class Config extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config) + ConfigOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Config"); + } + + // Use Config.newBuilder() to construct. + private Config(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Config() { + name_ = ""; + etag_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder.class); + } + + public interface IngestionOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule> + getRulesList(); + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + getRules(int index); + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getRulesCount(); + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + ? extends + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder> + getRulesOrBuilderList(); + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRuleOrBuilder + getRulesOrBuilder(int index); + } + + /** + * + * + *
+   * Defines how Lineage should be ingested for a given resource.
+   * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion} + */ + public static final class Ingestion extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) + IngestionOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Ingestion"); + } + + // Use Ingestion.newBuilder() to construct. + private Ingestion(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Ingestion() { + rules_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder + .class); + } + + public interface IngestionRuleOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the integrationSelector field is set. + */ + boolean hasIntegrationSelector(); + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integrationSelector. + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + getIntegrationSelector(); + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelectorOrBuilder + getIntegrationSelectorOrBuilder(); + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the lineageEnablement field is set. + */ + boolean hasLineageEnablement(); + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The lineageEnablement. + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + getLineageEnablement(); + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablementOrBuilder + getLineageEnablementOrBuilder(); + } + + /** + * + * + *
+     * Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule} + */ + public static final class IngestionRule extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule) + IngestionRuleOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "IngestionRule"); + } + + // Use IngestionRule.newBuilder() to construct. + private IngestionRule(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private IngestionRule() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder.class); + } + + public interface IntegrationSelectorOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Required. Integration to which the rule applies.
+         * This field can be used to specify the integration against which the
+         * ingestion rule should be applied.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for integration. + */ + int getIntegrationValue(); + + /** + * + * + *
+         * Required. Integration to which the rule applies.
+         * This field can be used to specify the integration against which the
+         * ingestion rule should be applied.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integration. + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector.Integration + getIntegration(); + } + + /** + * + * + *
+       * Integration selector of the rule. The rule is only applied to the
+       * Integration selected by the selector.
+       * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector} + */ + public static final class IntegrationSelector extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector) + IntegrationSelectorOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "IntegrationSelector"); + } + + // Use IntegrationSelector.newBuilder() to construct. + private IntegrationSelector(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private IntegrationSelector() { + integration_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder.class); + } + + /** + * + * + *
+         * Integration to which the rule applies.
+         * This enum is expected to grow over time.
+         * 
+ * + * Protobuf enum {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration} + */ + public enum Integration implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+           * Integration is Unspecified
+           * 
+ * + * INTEGRATION_UNSPECIFIED = 0; + */ + INTEGRATION_UNSPECIFIED(0), + /** + * + * + *
+           * Dataproc
+           * 
+ * + * DATAPROC = 2; + */ + DATAPROC(2), + /** + * + * + *
+           * Looker Core
+           * 
+ * + * LOOKER_CORE = 3; + */ + LOOKER_CORE(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Integration"); + } + + /** + * + * + *
+           * Integration is Unspecified
+           * 
+ * + * INTEGRATION_UNSPECIFIED = 0; + */ + public static final int INTEGRATION_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+           * Dataproc
+           * 
+ * + * DATAPROC = 2; + */ + public static final int DATAPROC_VALUE = 2; + + /** + * + * + *
+           * Looker Core
+           * 
+ * + * LOOKER_CORE = 3; + */ + public static final int LOOKER_CORE_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Integration valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Integration forNumber(int value) { + switch (value) { + case 0: + return INTEGRATION_UNSPECIFIED; + case 2: + return DATAPROC; + case 3: + return LOOKER_CORE; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Integration findValueByNumber(int number) { + return Integration.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Integration[] VALUES = values(); + + public static Integration valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Integration(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration) + } + + public static final int INTEGRATION_FIELD_NUMBER = 1; + private int integration_ = 0; + + /** + * + * + *
+         * Required. Integration to which the rule applies.
+         * This field can be used to specify the integration against which the
+         * ingestion rule should be applied.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for integration. + */ + @java.lang.Override + public int getIntegrationValue() { + return integration_; + } + + /** + * + * + *
+         * Required. Integration to which the rule applies.
+         * This field can be used to specify the integration against which the
+         * ingestion rule should be applied.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integration. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration + getIntegration() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector.Integration + result = + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.forNumber(integration_); + return result == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.UNRECOGNIZED + : result; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (integration_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.INTEGRATION_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, integration_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (integration_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.INTEGRATION_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, integration_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector) + obj; + + if (integration_ != other.integration_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + INTEGRATION_FIELD_NUMBER; + hash = (53 * hash) + integration_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * Integration selector of the rule. The rule is only applied to the
+         * Integration selected by the selector.
+         * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector) + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelectorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder.class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + integration_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.integration_ = integration_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance()) return this; + if (other.integration_ != 0) { + setIntegrationValue(other.getIntegrationValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + integration_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int integration_ = 0; + + /** + * + * + *
+           * Required. Integration to which the rule applies.
+           * This field can be used to specify the integration against which the
+           * ingestion rule should be applied.
+           * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for integration. + */ + @java.lang.Override + public int getIntegrationValue() { + return integration_; + } + + /** + * + * + *
+           * Required. Integration to which the rule applies.
+           * This field can be used to specify the integration against which the
+           * ingestion rule should be applied.
+           * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for integration to set. + * @return This builder for chaining. + */ + public Builder setIntegrationValue(int value) { + integration_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Required. Integration to which the rule applies.
+           * This field can be used to specify the integration against which the
+           * ingestion rule should be applied.
+           * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integration. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration + getIntegration() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector.Integration + result = + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.forNumber(integration_); + return result == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration.UNRECOGNIZED + : result; + } + + /** + * + * + *
+           * Required. Integration to which the rule applies.
+           * This field can be used to specify the integration against which the
+           * ingestion rule should be applied.
+           * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The integration to set. + * @return This builder for chaining. + */ + public Builder setIntegration( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Integration + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + integration_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+           * Required. Integration to which the rule applies.
+           * This field can be used to specify the integration against which the
+           * ingestion rule should be applied.
+           * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration integration = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearIntegration() { + bitField0_ = (bitField0_ & ~0x00000001); + integration_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .Ingestion.IngestionRule.IntegrationSelector + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public IntegrationSelector parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface LineageEnablementOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Optional. If true, ingestion of lineage should be enabled. If false,
+         * it should be disabled. If unspecified, the system default value is
+         * used.
+         * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the enabled field is set. + */ + boolean hasEnabled(); + + /** + * + * + *
+         * Optional. If true, ingestion of lineage should be enabled. If false,
+         * it should be disabled. If unspecified, the system default value is
+         * used.
+         * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The enabled. + */ + boolean getEnabled(); + } + + /** + * + * + *
+       * Lineage enablement configuration. Defines configurations for the
+       * ingestion of lineage for the resource and its children.
+       * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement} + */ + public static final class LineageEnablement extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement) + LineageEnablementOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "LineageEnablement"); + } + + // Use LineageEnablement.newBuilder() to construct. + private LineageEnablement(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private LineageEnablement() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder.class); + } + + private int bitField0_; + public static final int ENABLED_FIELD_NUMBER = 1; + private boolean enabled_ = false; + + /** + * + * + *
+         * Optional. If true, ingestion of lineage should be enabled. If false,
+         * it should be disabled. If unspecified, the system default value is
+         * used.
+         * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the enabled field is set. + */ + @java.lang.Override + public boolean hasEnabled() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Optional. If true, ingestion of lineage should be enabled. If false,
+         * it should be disabled. If unspecified, the system default value is
+         * used.
+         * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The enabled. + */ + @java.lang.Override + public boolean getEnabled() { + return enabled_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeBool(1, enabled_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, enabled_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement) + obj; + + if (hasEnabled() != other.hasEnabled()) return false; + if (hasEnabled()) { + if (getEnabled() != other.getEnabled()) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEnabled()) { + hash = (37 * hash) + ENABLED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnabled()); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * Lineage enablement configuration. Defines configurations for the
+         * ingestion of lineage for the resource and its children.
+         * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement) + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablementOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder.class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + enabled_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.enabled_ = enabled_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance()) return this; + if (other.hasEnabled()) { + setEnabled(other.getEnabled()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + enabled_ = input.readBool(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private boolean enabled_; + + /** + * + * + *
+           * Optional. If true, ingestion of lineage should be enabled. If false,
+           * it should be disabled. If unspecified, the system default value is
+           * used.
+           * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the enabled field is set. + */ + @java.lang.Override + public boolean hasEnabled() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Optional. If true, ingestion of lineage should be enabled. If false,
+           * it should be disabled. If unspecified, the system default value is
+           * used.
+           * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The enabled. + */ + @java.lang.Override + public boolean getEnabled() { + return enabled_; + } + + /** + * + * + *
+           * Optional. If true, ingestion of lineage should be enabled. If false,
+           * it should be disabled. If unspecified, the system default value is
+           * used.
+           * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The enabled to set. + * @return This builder for chaining. + */ + public Builder setEnabled(boolean value) { + + enabled_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. If true, ingestion of lineage should be enabled. If false,
+           * it should be disabled. If unspecified, the system default value is
+           * used.
+           * 
+ * + * optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEnabled() { + bitField0_ = (bitField0_ & ~0x00000001); + enabled_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .Ingestion.IngestionRule.LineageEnablement + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public LineageEnablement parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int INTEGRATION_SELECTOR_FIELD_NUMBER = 1; + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + integrationSelector_; + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the integrationSelector field is set. + */ + @java.lang.Override + public boolean hasIntegrationSelector() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integrationSelector. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + getIntegrationSelector() { + return integrationSelector_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance() + : integrationSelector_; + } + + /** + * + * + *
+       * Required. Integration selector of the rule. The rule is only applied to
+       * the Integration selected by the selector.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelectorOrBuilder + getIntegrationSelectorOrBuilder() { + return integrationSelector_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance() + : integrationSelector_; + } + + public static final int LINEAGE_ENABLEMENT_FIELD_NUMBER = 3; + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + lineageEnablement_; + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the lineageEnablement field is set. + */ + @java.lang.Override + public boolean hasLineageEnablement() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The lineageEnablement. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + getLineageEnablement() { + return lineageEnablement_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance() + : lineageEnablement_; + } + + /** + * + * + *
+       * Required. Lineage enablement configuration. Defines configurations for
+       * the ingestion of lineage for the resource and its children. If
+       * unspecified, the ingestion will be enabled only if it was configured in
+       * the resource's parent.
+       * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablementOrBuilder + getLineageEnablementOrBuilder() { + return lineageEnablement_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance() + : lineageEnablement_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getIntegrationSelector()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getLineageEnablement()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, getIntegrationSelector()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(3, getLineageEnablement()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule) + obj; + + if (hasIntegrationSelector() != other.hasIntegrationSelector()) return false; + if (hasIntegrationSelector()) { + if (!getIntegrationSelector().equals(other.getIntegrationSelector())) return false; + } + if (hasLineageEnablement() != other.hasLineageEnablement()) return false; + if (hasLineageEnablement()) { + if (!getLineageEnablement().equals(other.getLineageEnablement())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasIntegrationSelector()) { + hash = (37 * hash) + INTEGRATION_SELECTOR_FIELD_NUMBER; + hash = (53 * hash) + getIntegrationSelector().hashCode(); + } + if (hasLineageEnablement()) { + hash = (37 * hash) + LINEAGE_ENABLEMENT_FIELD_NUMBER; + hash = (53 * hash) + getLineageEnablement().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Ingestion rule for Data Lineage ingestion.
+       * 
+ * + * Protobuf type {@code + * google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule) + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder.class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetIntegrationSelectorFieldBuilder(); + internalGetLineageEnablementFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + integrationSelector_ = null; + if (integrationSelectorBuilder_ != null) { + integrationSelectorBuilder_.dispose(); + integrationSelectorBuilder_ = null; + } + lineageEnablement_ = null; + if (lineageEnablementBuilder_ != null) { + lineageEnablementBuilder_.dispose(); + lineageEnablementBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.integrationSelector_ = + integrationSelectorBuilder_ == null + ? integrationSelector_ + : integrationSelectorBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.lineageEnablement_ = + lineageEnablementBuilder_ == null + ? lineageEnablement_ + : lineageEnablementBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.getDefaultInstance()) return this; + if (other.hasIntegrationSelector()) { + mergeIntegrationSelector(other.getIntegrationSelector()); + } + if (other.hasLineageEnablement()) { + mergeLineageEnablement(other.getLineageEnablement()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetIntegrationSelectorFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: + { + input.readMessage( + internalGetLineageEnablementFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + integrationSelector_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelectorOrBuilder> + integrationSelectorBuilder_; + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the integrationSelector field is set. + */ + public boolean hasIntegrationSelector() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The integrationSelector. + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector + getIntegrationSelector() { + if (integrationSelectorBuilder_ == null) { + return integrationSelector_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance() + : integrationSelector_; + } else { + return integrationSelectorBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setIntegrationSelector( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + value) { + if (integrationSelectorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + integrationSelector_ = value; + } else { + integrationSelectorBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setIntegrationSelector( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector.Builder + builderForValue) { + if (integrationSelectorBuilder_ == null) { + integrationSelector_ = builderForValue.build(); + } else { + integrationSelectorBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeIntegrationSelector( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .IntegrationSelector + value) { + if (integrationSelectorBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && integrationSelector_ != null + && integrationSelector_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance()) { + getIntegrationSelectorBuilder().mergeFrom(value); + } else { + integrationSelector_ = value; + } + } else { + integrationSelectorBuilder_.mergeFrom(value); + } + if (integrationSelector_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearIntegrationSelector() { + bitField0_ = (bitField0_ & ~0x00000001); + integrationSelector_ = null; + if (integrationSelectorBuilder_ != null) { + integrationSelectorBuilder_.dispose(); + integrationSelectorBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder + getIntegrationSelectorBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetIntegrationSelectorFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelectorOrBuilder + getIntegrationSelectorOrBuilder() { + if (integrationSelectorBuilder_ != null) { + return integrationSelectorBuilder_.getMessageOrBuilder(); + } else { + return integrationSelector_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.getDefaultInstance() + : integrationSelector_; + } + } + + /** + * + * + *
+         * Required. Integration selector of the rule. The rule is only applied to
+         * the Integration selected by the selector.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector integration_selector = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelectorOrBuilder> + internalGetIntegrationSelectorFieldBuilder() { + if (integrationSelectorBuilder_ == null) { + integrationSelectorBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelector.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.IntegrationSelectorOrBuilder>( + getIntegrationSelector(), getParentForChildren(), isClean()); + integrationSelector_ = null; + } + return integrationSelectorBuilder_; + } + + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + lineageEnablement_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablementOrBuilder> + lineageEnablementBuilder_; + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the lineageEnablement field is set. + */ + public boolean hasLineageEnablement() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The lineageEnablement. + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement + getLineageEnablement() { + if (lineageEnablementBuilder_ == null) { + return lineageEnablement_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance() + : lineageEnablement_; + } else { + return lineageEnablementBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setLineageEnablement( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + value) { + if (lineageEnablementBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + lineageEnablement_ = value; + } else { + lineageEnablementBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setLineageEnablement( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement.Builder + builderForValue) { + if (lineageEnablementBuilder_ == null) { + lineageEnablement_ = builderForValue.build(); + } else { + lineageEnablementBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeLineageEnablement( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .LineageEnablement + value) { + if (lineageEnablementBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && lineageEnablement_ != null + && lineageEnablement_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance()) { + getLineageEnablementBuilder().mergeFrom(value); + } else { + lineageEnablement_ = value; + } + } else { + lineageEnablementBuilder_.mergeFrom(value); + } + if (lineageEnablement_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearLineageEnablement() { + bitField0_ = (bitField0_ & ~0x00000002); + lineageEnablement_ = null; + if (lineageEnablementBuilder_ != null) { + lineageEnablementBuilder_.dispose(); + lineageEnablementBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder + getLineageEnablementBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetLineageEnablementFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablementOrBuilder + getLineageEnablementOrBuilder() { + if (lineageEnablementBuilder_ != null) { + return lineageEnablementBuilder_.getMessageOrBuilder(); + } else { + return lineageEnablement_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.getDefaultInstance() + : lineageEnablement_; + } + } + + /** + * + * + *
+         * Required. Lineage enablement configuration. Defines configurations for
+         * the ingestion of lineage for the resource and its children. If
+         * unspecified, the ingestion will be enabled only if it was configured in
+         * the resource's parent.
+         * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement lineage_enablement = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablementOrBuilder> + internalGetLineageEnablementFieldBuilder() { + if (lineageEnablementBuilder_ == null) { + lineageEnablementBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablement.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.LineageEnablementOrBuilder>( + getLineageEnablement(), getParentForChildren(), isClean()); + lineageEnablement_ = null; + } + return lineageEnablementBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public IngestionRule parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public static final int RULES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule> + rules_; + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule> + getRulesList() { + return rules_; + } + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder> + getRulesOrBuilderList() { + return rules_; + } + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public int getRulesCount() { + return rules_.size(); + } + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + getRules(int index) { + return rules_.get(index); + } + + /** + * + * + *
+     * Optional. List of rules for Data Lineage ingestion.
+     * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder + getRulesOrBuilder(int index) { + return rules_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < rules_.size(); i++) { + output.writeMessage(1, rules_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < rules_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, rules_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) obj; + + if (!getRulesList().equals(other.getRulesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRulesCount() > 0) { + hash = (37 * hash) + RULES_FIELD_NUMBER; + hash = (53 * hash) + getRulesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Defines how Lineage should be ingested for a given resource.
+     * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder + .class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (rulesBuilder_ == null) { + rules_ = java.util.Collections.emptyList(); + } else { + rules_ = null; + rulesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion result) { + if (rulesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + rules_ = java.util.Collections.unmodifiableList(rules_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.rules_ = rules_; + } else { + result.rules_ = rulesBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance()) return this; + if (rulesBuilder_ == null) { + if (!other.rules_.isEmpty()) { + if (rules_.isEmpty()) { + rules_ = other.rules_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureRulesIsMutable(); + rules_.addAll(other.rules_); + } + onChanged(); + } + } else { + if (!other.rules_.isEmpty()) { + if (rulesBuilder_.isEmpty()) { + rulesBuilder_.dispose(); + rulesBuilder_ = null; + rules_ = other.rules_; + bitField0_ = (bitField0_ & ~0x00000001); + rulesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetRulesFieldBuilder() + : null; + } else { + rulesBuilder_.addAllMessages(other.rules_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule + m = + input.readMessage( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .Ingestion.IngestionRule.parser(), + extensionRegistry); + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(m); + } else { + rulesBuilder_.addMessage(m); + } + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule> + rules_ = java.util.Collections.emptyList(); + + private void ensureRulesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + rules_ = + new java.util.ArrayList< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule>(rules_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder> + rulesBuilder_; + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule> + getRulesList() { + if (rulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(rules_); + } else { + return rulesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public int getRulesCount() { + if (rulesBuilder_ == null) { + return rules_.size(); + } else { + return rulesBuilder_.getCount(); + } + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + getRules(int index) { + if (rulesBuilder_ == null) { + return rules_.get(index); + } else { + return rulesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setRules( + int index, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.set(index, value); + onChanged(); + } else { + rulesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setRules( + int index, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.set(index, builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addRules( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.add(value); + onChanged(); + } else { + rulesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addRules( + int index, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + value) { + if (rulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRulesIsMutable(); + rules_.add(index, value); + onChanged(); + } else { + rulesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addRules( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addRules( + int index, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + builderForValue) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.add(index, builderForValue.build()); + onChanged(); + } else { + rulesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addAllRules( + java.lang.Iterable< + ? extends + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule> + values) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, rules_); + onChanged(); + } else { + rulesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearRules() { + if (rulesBuilder_ == null) { + rules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + rulesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeRules(int index) { + if (rulesBuilder_ == null) { + ensureRulesIsMutable(); + rules_.remove(index); + onChanged(); + } else { + rulesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + getRulesBuilder(int index) { + return internalGetRulesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder + getRulesOrBuilder(int index) { + if (rulesBuilder_ == null) { + return rules_.get(index); + } else { + return rulesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + ? extends + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder> + getRulesOrBuilderList() { + if (rulesBuilder_ != null) { + return rulesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(rules_); + } + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + addRulesBuilder() { + return internalGetRulesFieldBuilder() + .addBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.getDefaultInstance()); + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule + .Builder + addRulesBuilder(int index) { + return internalGetRulesFieldBuilder() + .addBuilder( + index, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.getDefaultInstance()); + } + + /** + * + * + *
+       * Optional. List of rules for Data Lineage ingestion.
+       * 
+ * + * + * repeated .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule rules = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder> + getRulesBuilderList() { + return internalGetRulesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder> + internalGetRulesFieldBuilder() { + if (rulesBuilder_ == null) { + rulesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRule.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .IngestionRuleOrBuilder>( + rules_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + rules_ = null; + } + return rulesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Ingestion parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of the config.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of the config.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INGESTION_FIELD_NUMBER = 2; + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion_; + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the ingestion field is set. + */ + @java.lang.Override + public boolean hasIngestion() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The ingestion. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion getIngestion() { + return ingestion_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance() + : ingestion_; + } + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder + getIngestionOrBuilder() { + return ingestion_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance() + : ingestion_; + } + + public static final int ETAG_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object etag_ = ""; + + /** + * + * + *
+   * Optional. `etag` is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a config from overwriting each
+   * other. It is required that systems make use of the `etag` in the
+   * read-modify-write cycle to perform config updates in order to avoid race
+   * conditions: An `etag` is returned in the response to `GetConfig`, and
+   * systems are expected to put that etag in the request to `UpdateConfig` to
+   * ensure that their change will be applied to the same version of the config.
+   * If an `etag` is not provided in the call to `UpdateConfig`, then the
+   * existing config, if any, will be overwritten.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. `etag` is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a config from overwriting each
+   * other. It is required that systems make use of the `etag` in the
+   * read-modify-write cycle to perform config updates in order to avoid race
+   * conditions: An `etag` is returned in the response to `GetConfig`, and
+   * systems are expected to put that etag in the request to `UpdateConfig` to
+   * ensure that their change will be applied to the same version of the config.
+   * If an `etag` is not provided in the call to `UpdateConfig`, then the
+   * existing config, if any, will be overwritten.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getIngestion()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, etag_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getIngestion()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(etag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, etag_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.Config)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.Config) obj; + + if (!getName().equals(other.getName())) return false; + if (hasIngestion() != other.hasIngestion()) return false; + if (hasIngestion()) { + if (!getIngestion().equals(other.getIngestion())) return false; + } + if (!getEtag().equals(other.getEtag())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasIngestion()) { + hash = (37 * hash) + INGESTION_FIELD_NUMBER; + hash = (53 * hash) + getIngestion().hashCode(); + } + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Configuration for Data Lineage. Defines different configuration options for
+   * Lineage customers to control behaviour of lineage systems.
+   * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.Config} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.Config) + com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder.class); + } + + // Construct using com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetIngestionFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + ingestion_ = null; + if (ingestionBuilder_ != null) { + ingestionBuilder_.dispose(); + ingestionBuilder_ = null; + } + etag_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.ingestion_ = ingestionBuilder_ == null ? ingestion_ : ingestionBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.etag_ = etag_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.Config) { + return mergeFrom((com.google.cloud.datacatalog.lineage.configmanagement.v1.Config) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasIngestion()) { + mergeIngestion(other.getIngestion()); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetIngestionFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + etag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of the config.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the config.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the config.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the config.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the config.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder> + ingestionBuilder_; + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the ingestion field is set. + */ + public boolean hasIngestion() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The ingestion. + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + getIngestion() { + if (ingestionBuilder_ == null) { + return ingestion_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance() + : ingestion_; + } else { + return ingestionBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setIngestion( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion value) { + if (ingestionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ingestion_ = value; + } else { + ingestionBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setIngestion( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder + builderForValue) { + if (ingestionBuilder_ == null) { + ingestion_ = builderForValue.build(); + } else { + ingestionBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeIngestion( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion value) { + if (ingestionBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && ingestion_ != null + && ingestion_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance()) { + getIngestionBuilder().mergeFrom(value); + } else { + ingestion_ = value; + } + } else { + ingestionBuilder_.mergeFrom(value); + } + if (ingestion_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearIngestion() { + bitField0_ = (bitField0_ & ~0x00000002); + ingestion_ = null; + if (ingestionBuilder_ != null) { + ingestionBuilder_.dispose(); + ingestionBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder + getIngestionBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetIngestionFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder + getIngestionOrBuilder() { + if (ingestionBuilder_ != null) { + return ingestionBuilder_.getMessageOrBuilder(); + } else { + return ingestion_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion + .getDefaultInstance() + : ingestion_; + } + } + + /** + * + * + *
+     * Optional. Ingestion rule for Data Lineage ingestion.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder> + internalGetIngestionFieldBuilder() { + if (ingestionBuilder_ == null) { + ingestionBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder>( + getIngestion(), getParentForChildren(), isClean()); + ingestion_ = null; + } + return ingestionBuilder_; + } + + private java.lang.Object etag_ = ""; + + /** + * + * + *
+     * Optional. `etag` is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a config from overwriting each
+     * other. It is required that systems make use of the `etag` in the
+     * read-modify-write cycle to perform config updates in order to avoid race
+     * conditions: An `etag` is returned in the response to `GetConfig`, and
+     * systems are expected to put that etag in the request to `UpdateConfig` to
+     * ensure that their change will be applied to the same version of the config.
+     * If an `etag` is not provided in the call to `UpdateConfig`, then the
+     * existing config, if any, will be overwritten.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. `etag` is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a config from overwriting each
+     * other. It is required that systems make use of the `etag` in the
+     * read-modify-write cycle to perform config updates in order to avoid race
+     * conditions: An `etag` is returned in the response to `GetConfig`, and
+     * systems are expected to put that etag in the request to `UpdateConfig` to
+     * ensure that their change will be applied to the same version of the config.
+     * If an `etag` is not provided in the call to `UpdateConfig`, then the
+     * existing config, if any, will be overwritten.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. `etag` is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a config from overwriting each
+     * other. It is required that systems make use of the `etag` in the
+     * read-modify-write cycle to perform config updates in order to avoid race
+     * conditions: An `etag` is returned in the response to `GetConfig`, and
+     * systems are expected to put that etag in the request to `UpdateConfig` to
+     * ensure that their change will be applied to the same version of the config.
+     * If an `etag` is not provided in the call to `UpdateConfig`, then the
+     * existing config, if any, will be overwritten.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The etag to set. + * @return This builder for chaining. + */ + public Builder setEtag(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + etag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. `etag` is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a config from overwriting each
+     * other. It is required that systems make use of the `etag` in the
+     * read-modify-write cycle to perform config updates in order to avoid race
+     * conditions: An `etag` is returned in the response to `GetConfig`, and
+     * systems are expected to put that etag in the request to `UpdateConfig` to
+     * ensure that their change will be applied to the same version of the config.
+     * If an `etag` is not provided in the call to `UpdateConfig`, then the
+     * existing config, if any, will be overwritten.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEtag() { + etag_ = getDefaultInstance().getEtag(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. `etag` is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a config from overwriting each
+     * other. It is required that systems make use of the `etag` in the
+     * read-modify-write cycle to perform config updates in order to avoid race
+     * conditions: An `etag` is returned in the response to `GetConfig`, and
+     * systems are expected to put that etag in the request to `UpdateConfig` to
+     * ensure that their change will be applied to the same version of the config.
+     * If an `etag` is not provided in the call to `UpdateConfig`, then the
+     * existing config, if any, will be overwritten.
+     * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for etag to set. + * @return This builder for chaining. + */ + public Builder setEtagBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + etag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.Config) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.datacatalog.lineage.configmanagement.v1.Config(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Config parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementProto.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementProto.java new file mode 100644 index 000000000000..91815c053c63 --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigManagementProto.java @@ -0,0 +1,235 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +@com.google.protobuf.Generated +public final class ConfigManagementProto extends com.google.protobuf.GeneratedFile { + private ConfigManagementProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ConfigManagementProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\nKgoogle/cloud/datacatalog/lineage/confi" + + "gmanagement/v1/configmanagement.proto\0224g" + + "oogle.cloud.datacatalog.lineage.configma" + + "nagement.v1\032\034google/api/annotations.prot" + + "o\032\027google/api/client.proto\032\037google/api/f" + + "ield_behavior.proto\032\031google/api/resource" + + ".proto\"K\n\020GetConfigRequest\0227\n\004name\030\001 \001(\t" + + "B)\340A\002\372A#\n!datalineage.googleapis.com/Con" + + "fig\"h\n\023UpdateConfigRequest\022Q\n\006config\030\001 \001" + + "(\0132<.google.cloud.datacatalog.lineage.co" + + "nfigmanagement.v1.ConfigB\003\340A\002\"\263\010\n\006Config" + + "\022\021\n\004name\030\001 \001(\tB\003\340A\010\022^\n\tingestion\030\002 \001(\0132F" + + ".google.cloud.datacatalog.lineage.config" + + "management.v1.Config.IngestionB\003\340A\001\022\021\n\004e" + + "tag\030\003 \001(\tB\003\340A\001\032\317\005\n\tIngestion\022h\n\005rules\030\001 " + + "\003(\0132T.google.cloud.datacatalog.lineage.c" + + "onfigmanagement.v1.Config.Ingestion.Inge" + + "stionRuleB\003\340A\001\032\327\004\n\rIngestionRule\022\213\001\n\024int" + + "egration_selector\030\001 \001(\0132h.google.cloud.d" + + "atacatalog.lineage.configmanagement.v1.C" + + "onfig.Ingestion.IngestionRule.Integratio" + + "nSelectorB\003\340A\002\022\207\001\n\022lineage_enablement\030\003 " + + "\001(\0132f.google.cloud.datacatalog.lineage.c" + + "onfigmanagement.v1.Config.Ingestion.Inge" + + "stionRule.LineageEnablementB\003\340A\002\032\361\001\n\023Int" + + "egrationSelector\022\216\001\n\013integration\030\001 \001(\0162t" + + ".google.cloud.datacatalog.lineage.config" + + "management.v1.Config.Ingestion.Ingestion" + + "Rule.IntegrationSelector.IntegrationB\003\340A" + + "\002\"I\n\013Integration\022\033\n\027INTEGRATION_UNSPECIF" + + "IED\020\000\022\014\n\010DATAPROC\020\002\022\017\n\013LOOKER_CORE\020\003\032:\n\021" + + "LineageEnablement\022\031\n\007enabled\030\001 \001(\010B\003\340A\001H" + + "\000\210\001\001B\n\n\010_enabled:\320\001\352A\314\001\n!datalineage.goo" + + "gleapis.com/Config\022.projects/{project}/l" + + "ocations/{location}/config\022,folders/{fol" + + "der}/locations/{location}/config\0228organi" + + "zations/{organization}/locations/{locati" + + "on}/config*\007configs2\006config2\364\005\n\027ConfigMa" + + "nagementService\022\250\002\n\tGetConfig\022F.google.c" + + "loud.datacatalog.lineage.configmanagemen" + + "t.v1.GetConfigRequest\032<.google.cloud.dat" + + "acatalog.lineage.configmanagement.v1.Con" + + "fig\"\224\001\332A\004name\202\323\344\223\002\206\001\022(/v1/{name=projects" + + "/*/locations/*/config}Z)\022\'/v1/{name=fold" + + "ers/*/locations/*/config}Z/\022-/v1/{name=o" + + "rganizations/*/locations/*/config}\022\335\002\n\014U" + + "pdateConfig\022I.google.cloud.datacatalog.l" + + "ineage.configmanagement.v1.UpdateConfigR" + + "equest\032<.google.cloud.datacatalog.lineag" + + "e.configmanagement.v1.Config\"\303\001\332A\006config" + + "\202\323\344\223\002\263\0012//v1/{config.name=projects/*/loc" + + "ations/*/config}:\006configZ82./v1/{config." + + "name=folders/*/locations/*/config}:\006conf" + + "igZ>24/v1/{config.name=organizations/*/l" + + "ocations/*/config}:\006config\032N\312A\032datalinea" + + "ge.googleapis.com\322A.https://www.googleap" + + "is.com/auth/cloud-platformB\343\002\n8com.googl" + + "e.cloud.datacatalog.lineage.configmanage" + + "ment.v1B\025ConfigManagementProtoP\001Zdcloud." + + "google.com/go/datacatalog/lineage/config" + + "management/apiv1/configmanagementpb;conf" + + "igmanagementpb\252\0024Google.Cloud.DataCatalo" + + "g.Lineage.ConfigManagement.V1\312\0024Google\\C" + + "loud\\DataCatalog\\Lineage\\ConfigManagemen" + + "t\\V1\352\0029Google::Cloud::DataCatalog::Linea" + + "ge::ConfigManagement::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor, + new java.lang.String[] { + "Config", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor, + new java.lang.String[] { + "Name", "Ingestion", "Etag", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor = + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_descriptor + .getNestedType(0); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor, + new java.lang.String[] { + "Rules", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor = + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_descriptor + .getNestedType(0); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor, + new java.lang.String[] { + "IntegrationSelector", "LineageEnablement", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor = + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor + .getNestedType(0); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_IntegrationSelector_descriptor, + new java.lang.String[] { + "Integration", + }); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor = + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_descriptor + .getNestedType(1); + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_Config_Ingestion_IngestionRule_LineageEnablement_descriptor, + new java.lang.String[] { + "Enabled", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.ClientProto.defaultHost); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(com.google.api.ClientProto.methodSignature); + registry.add(com.google.api.ClientProto.oauthScopes); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigName.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigName.java new file mode 100644 index 000000000000..ffd82e176d70 --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigName.java @@ -0,0 +1,361 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.pathtemplate.ValidationException; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class ConfigName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION = + PathTemplate.createWithoutUrlEncoding("projects/{project}/locations/{location}/config"); + private static final PathTemplate FOLDER_LOCATION = + PathTemplate.createWithoutUrlEncoding("folders/{folder}/locations/{location}/config"); + private static final PathTemplate ORGANIZATION_LOCATION = + PathTemplate.createWithoutUrlEncoding( + "organizations/{organization}/locations/{location}/config"); + private volatile Map fieldValuesMap; + private PathTemplate pathTemplate; + private String fixedValue; + private final String project; + private final String location; + private final String folder; + private final String organization; + + @Deprecated + protected ConfigName() { + project = null; + location = null; + folder = null; + organization = null; + } + + private ConfigName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + folder = null; + organization = null; + pathTemplate = PROJECT_LOCATION; + } + + private ConfigName(FolderLocationBuilder builder) { + folder = Preconditions.checkNotNull(builder.getFolder()); + location = Preconditions.checkNotNull(builder.getLocation()); + project = null; + organization = null; + pathTemplate = FOLDER_LOCATION; + } + + private ConfigName(OrganizationLocationBuilder builder) { + organization = Preconditions.checkNotNull(builder.getOrganization()); + location = Preconditions.checkNotNull(builder.getLocation()); + project = null; + folder = null; + pathTemplate = ORGANIZATION_LOCATION; + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getFolder() { + return folder; + } + + public String getOrganization() { + return organization; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public static Builder newProjectLocationBuilder() { + return new Builder(); + } + + public static FolderLocationBuilder newFolderLocationBuilder() { + return new FolderLocationBuilder(); + } + + public static OrganizationLocationBuilder newOrganizationLocationBuilder() { + return new OrganizationLocationBuilder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static ConfigName of(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build(); + } + + public static ConfigName ofProjectLocationName(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build(); + } + + public static ConfigName ofFolderLocationName(String folder, String location) { + return newFolderLocationBuilder().setFolder(folder).setLocation(location).build(); + } + + public static ConfigName ofOrganizationLocationName(String organization, String location) { + return newOrganizationLocationBuilder() + .setOrganization(organization) + .setLocation(location) + .build(); + } + + public static String format(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build().toString(); + } + + public static String formatProjectLocationName(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build().toString(); + } + + public static String formatFolderLocationName(String folder, String location) { + return newFolderLocationBuilder().setFolder(folder).setLocation(location).build().toString(); + } + + public static String formatOrganizationLocationName(String organization, String location) { + return newOrganizationLocationBuilder() + .setOrganization(organization) + .setLocation(location) + .build() + .toString(); + } + + public static ConfigName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + if (PROJECT_LOCATION.matches(formattedString)) { + Map matchMap = PROJECT_LOCATION.match(formattedString); + return ofProjectLocationName(matchMap.get("project"), matchMap.get("location")); + } else if (FOLDER_LOCATION.matches(formattedString)) { + Map matchMap = FOLDER_LOCATION.match(formattedString); + return ofFolderLocationName(matchMap.get("folder"), matchMap.get("location")); + } else if (ORGANIZATION_LOCATION.matches(formattedString)) { + Map matchMap = ORGANIZATION_LOCATION.match(formattedString); + return ofOrganizationLocationName(matchMap.get("organization"), matchMap.get("location")); + } + throw new ValidationException("ConfigName.parse: formattedString not in valid format"); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (ConfigName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION.matches(formattedString) + || FOLDER_LOCATION.matches(formattedString) + || ORGANIZATION_LOCATION.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (folder != null) { + fieldMapBuilder.put("folder", folder); + } + if (organization != null) { + fieldMapBuilder.put("organization", organization); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return fixedValue != null ? fixedValue : pathTemplate.instantiate(getFieldValuesMap()); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + ConfigName that = ((ConfigName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.folder, that.folder) + && Objects.equals(this.organization, that.organization); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(fixedValue); + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(folder); + h *= 1000003; + h ^= Objects.hashCode(organization); + return h; + } + + /** Builder for projects/{project}/locations/{location}/config. */ + public static class Builder { + private String project; + private String location; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + private Builder(ConfigName configName) { + Preconditions.checkArgument( + Objects.equals(configName.pathTemplate, PROJECT_LOCATION), + "toBuilder is only supported when ConfigName has the pattern of" + + " projects/{project}/locations/{location}/config"); + this.project = configName.project; + this.location = configName.location; + } + + public ConfigName build() { + return new ConfigName(this); + } + } + + /** Builder for folders/{folder}/locations/{location}/config. */ + public static class FolderLocationBuilder { + private String folder; + private String location; + + protected FolderLocationBuilder() {} + + public String getFolder() { + return folder; + } + + public String getLocation() { + return location; + } + + public FolderLocationBuilder setFolder(String folder) { + this.folder = folder; + return this; + } + + public FolderLocationBuilder setLocation(String location) { + this.location = location; + return this; + } + + public ConfigName build() { + return new ConfigName(this); + } + } + + /** Builder for organizations/{organization}/locations/{location}/config. */ + public static class OrganizationLocationBuilder { + private String organization; + private String location; + + protected OrganizationLocationBuilder() {} + + public String getOrganization() { + return organization; + } + + public String getLocation() { + return location; + } + + public OrganizationLocationBuilder setOrganization(String organization) { + this.organization = organization; + return this; + } + + public OrganizationLocationBuilder setLocation(String location) { + this.location = location; + return this; + } + + public ConfigName build() { + return new ConfigName(this); + } + } +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigOrBuilder.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigOrBuilder.java new file mode 100644 index 000000000000..9fb2083a8786 --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/ConfigOrBuilder.java @@ -0,0 +1,150 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +@com.google.protobuf.Generated +public interface ConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.Config) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The resource name of the config.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of the config.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the ingestion field is set. + */ + boolean hasIngestion(); + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The ingestion. + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion getIngestion(); + + /** + * + * + *
+   * Optional. Ingestion rule for Data Lineage ingestion.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion ingestion = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.IngestionOrBuilder + getIngestionOrBuilder(); + + /** + * + * + *
+   * Optional. `etag` is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a config from overwriting each
+   * other. It is required that systems make use of the `etag` in the
+   * read-modify-write cycle to perform config updates in order to avoid race
+   * conditions: An `etag` is returned in the response to `GetConfig`, and
+   * systems are expected to put that etag in the request to `UpdateConfig` to
+   * ensure that their change will be applied to the same version of the config.
+   * If an `etag` is not provided in the call to `UpdateConfig`, then the
+   * existing config, if any, will be overwritten.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The etag. + */ + java.lang.String getEtag(); + + /** + * + * + *
+   * Optional. `etag` is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a config from overwriting each
+   * other. It is required that systems make use of the `etag` in the
+   * read-modify-write cycle to perform config updates in order to avoid race
+   * conditions: An `etag` is returned in the response to `GetConfig`, and
+   * systems are expected to put that etag in the request to `UpdateConfig` to
+   * ensure that their change will be applied to the same version of the config.
+   * If an `etag` is not provided in the call to `UpdateConfig`, then the
+   * existing config, if any, will be overwritten.
+   * 
+ * + * string etag = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for etag. + */ + com.google.protobuf.ByteString getEtagBytes(); +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequest.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequest.java new file mode 100644 index 000000000000..010e8104d6bd --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequest.java @@ -0,0 +1,664 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +/** + * + * + *
+ * Request message for GetConfig RPC.
+ * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest} + */ +@com.google.protobuf.Generated +public final class GetConfigRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) + GetConfigRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetConfigRequest"); + } + + // Use GetConfigRequest.newBuilder() to construct. + private GetConfigRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetConfigRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.Builder + .class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. REQUIRED: The resource name of the config to be fetched.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. REQUIRED: The resource name of the config to be fetched.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Request message for GetConfig RPC.
+   * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_GetConfigRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. REQUIRED: The resource name of the config to be fetched.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. REQUIRED: The resource name of the config to be fetched.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. REQUIRED: The resource name of the config to be fetched.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The resource name of the config to be fetched.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The resource name of the config to be fetched.
+     * Format:
+     * `organizations/{organization_id}/locations/global/config`
+     * `folders/{folder_id}/locations/global/config`
+     * `projects/{project_id}/locations/global/config`
+     * `projects/{project_number}/locations/global/config`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetConfigRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequestOrBuilder.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequestOrBuilder.java new file mode 100644 index 000000000000..0882358631e3 --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/GetConfigRequestOrBuilder.java @@ -0,0 +1,68 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +@com.google.protobuf.Generated +public interface GetConfigRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. REQUIRED: The resource name of the config to be fetched.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. REQUIRED: The resource name of the config to be fetched.
+   * Format:
+   * `organizations/{organization_id}/locations/global/config`
+   * `folders/{folder_id}/locations/global/config`
+   * `projects/{project_id}/locations/global/config`
+   * `projects/{project_number}/locations/global/config`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequest.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequest.java new file mode 100644 index 000000000000..a2dcbe7299af --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequest.java @@ -0,0 +1,765 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +/** + * + * + *
+ * Request message for UpdateConfig RPC.
+ * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest} + */ +@com.google.protobuf.Generated +public final class UpdateConfigRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + UpdateConfigRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdateConfigRequest"); + } + + // Use UpdateConfigRequest.newBuilder() to construct. + private UpdateConfigRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateConfigRequest() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.Builder + .class); + } + + private int bitField0_; + public static final int CONFIG_FIELD_NUMBER = 1; + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config config_; + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the config field is set. + */ + @java.lang.Override + public boolean hasConfig() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The config. + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config getConfig() { + return config_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance() + : config_; + } + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder + getConfigOrBuilder() { + return config_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance() + : config_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getConfig()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getConfig()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest)) { + return super.equals(obj); + } + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest other = + (com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) obj; + + if (hasConfig() != other.hasConfig()) return false; + if (hasConfig()) { + if (!getConfig().equals(other.getConfig())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasConfig()) { + hash = (37 * hash) + CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getConfig().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Request message for UpdateConfig RPC.
+   * 
+ * + * Protobuf type {@code google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.class, + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetConfigFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + config_ = null; + if (configBuilder_ != null) { + configBuilder_.dispose(); + configBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementProto + .internal_static_google_cloud_datacatalog_lineage_configmanagement_v1_UpdateConfigRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + getDefaultInstanceForType() { + return com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest build() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + buildPartial() { + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest result = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.config_ = configBuilder_ == null ? config_ : configBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) { + return mergeFrom( + (com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest other) { + if (other + == com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + .getDefaultInstance()) return this; + if (other.hasConfig()) { + mergeConfig(other.getConfig()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(internalGetConfigFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.cloud.datacatalog.lineage.configmanagement.v1.Config config_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder> + configBuilder_; + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the config field is set. + */ + public boolean hasConfig() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The config. + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config getConfig() { + if (configBuilder_ == null) { + return config_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance() + : config_; + } else { + return configBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config value) { + if (configBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + } else { + configBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder builderForValue) { + if (configBuilder_ == null) { + config_ = builderForValue.build(); + } else { + configBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeConfig( + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config value) { + if (configBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && config_ != null + && config_ + != com.google.cloud.datacatalog.lineage.configmanagement.v1.Config + .getDefaultInstance()) { + getConfigBuilder().mergeFrom(value); + } else { + config_ = value; + } + } else { + configBuilder_.mergeFrom(value); + } + if (config_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearConfig() { + bitField0_ = (bitField0_ & ~0x00000001); + config_ = null; + if (configBuilder_ != null) { + configBuilder_.dispose(); + configBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder + getConfigBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetConfigFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder + getConfigOrBuilder() { + if (configBuilder_ != null) { + return configBuilder_.getMessageOrBuilder(); + } else { + return config_ == null + ? com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.getDefaultInstance() + : config_; + } + } + + /** + * + * + *
+     * Required. REQUIRED: The config to be applied to the resource and all its
+     * descendants.
+     * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder> + internalGetConfigFieldBuilder() { + if (configBuilder_ == null) { + configBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config, + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Builder, + com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder>( + getConfig(), getParentForChildren(), isClean()); + config_ = null; + } + return configBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + private static final com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest(); + } + + public static com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateConfigRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequestOrBuilder.java b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequestOrBuilder.java new file mode 100644 index 000000000000..4b0fe11fc40f --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/java/com/google/cloud/datacatalog/lineage/configmanagement/v1/UpdateConfigRequestOrBuilder.java @@ -0,0 +1,74 @@ +/* + * Copyright 2026 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.datacatalog.lineage.configmanagement.v1; + +@com.google.protobuf.Generated +public interface UpdateConfigRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the config field is set. + */ + boolean hasConfig(); + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The config. + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.Config getConfig(); + + /** + * + * + *
+   * Required. REQUIRED: The config to be applied to the resource and all its
+   * descendants.
+   * 
+ * + * + * .google.cloud.datacatalog.lineage.configmanagement.v1.Config config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigOrBuilder getConfigOrBuilder(); +} diff --git a/java-datalineage/proto-google-cloud-datalineage-v1/src/main/proto/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/proto/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto new file mode 100644 index 000000000000..8a6c66879988 --- /dev/null +++ b/java-datalineage/proto-google-cloud-datalineage-v1/src/main/proto/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagement.proto @@ -0,0 +1,179 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.datacatalog.lineage.configmanagement.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.DataCatalog.Lineage.ConfigManagement.V1"; +option go_package = "cloud.google.com/go/datacatalog/lineage/configmanagement/apiv1/configmanagementpb;configmanagementpb"; +option java_multiple_files = true; +option java_outer_classname = "ConfigManagementProto"; +option java_package = "com.google.cloud.datacatalog.lineage.configmanagement.v1"; +option php_namespace = "Google\\Cloud\\DataCatalog\\Lineage\\ConfigManagement\\V1"; +option ruby_package = "Google::Cloud::DataCatalog::Lineage::ConfigManagement::V1"; + +// Lineage Config Management service. Config Management service is used to +// manage the configuration for Data Lineage. These Configs define different +// configuration options for Lineage customers to control behaviour of lineage +// systems. +service ConfigManagementService { + option (google.api.default_host) = "datalineage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Get the Config for a given resource. + rpc GetConfig(GetConfigRequest) returns (Config) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/config}" + additional_bindings { get: "/v1/{name=folders/*/locations/*/config}" } + additional_bindings { + get: "/v1/{name=organizations/*/locations/*/config}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Update the Config for a given resource. + rpc UpdateConfig(UpdateConfigRequest) returns (Config) { + option (google.api.http) = { + patch: "/v1/{config.name=projects/*/locations/*/config}" + body: "config" + additional_bindings { + patch: "/v1/{config.name=folders/*/locations/*/config}" + body: "config" + } + additional_bindings { + patch: "/v1/{config.name=organizations/*/locations/*/config}" + body: "config" + } + }; + option (google.api.method_signature) = "config"; + } +} + +// Request message for GetConfig RPC. +message GetConfigRequest { + // Required. REQUIRED: The resource name of the config to be fetched. + // Format: + // `organizations/{organization_id}/locations/global/config` + // `folders/{folder_id}/locations/global/config` + // `projects/{project_id}/locations/global/config` + // `projects/{project_number}/locations/global/config` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datalineage.googleapis.com/Config" + } + ]; +} + +// Request message for UpdateConfig RPC. +message UpdateConfigRequest { + // Required. REQUIRED: The config to be applied to the resource and all its + // descendants. + Config config = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Configuration for Data Lineage. Defines different configuration options for +// Lineage customers to control behaviour of lineage systems. +message Config { + option (google.api.resource) = { + type: "datalineage.googleapis.com/Config" + pattern: "projects/{project}/locations/{location}/config" + pattern: "folders/{folder}/locations/{location}/config" + pattern: "organizations/{organization}/locations/{location}/config" + plural: "configs" + singular: "config" + }; + + // Defines how Lineage should be ingested for a given resource. + message Ingestion { + // Ingestion rule for Data Lineage ingestion. + message IngestionRule { + // Integration selector of the rule. The rule is only applied to the + // Integration selected by the selector. + message IntegrationSelector { + // Integration to which the rule applies. + // This enum is expected to grow over time. + enum Integration { + // Integration is Unspecified + INTEGRATION_UNSPECIFIED = 0; + + // Dataproc + DATAPROC = 2; + + // Looker Core + LOOKER_CORE = 3; + } + + // Required. Integration to which the rule applies. + // This field can be used to specify the integration against which the + // ingestion rule should be applied. + Integration integration = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Lineage enablement configuration. Defines configurations for the + // ingestion of lineage for the resource and its children. + message LineageEnablement { + // Optional. If true, ingestion of lineage should be enabled. If false, + // it should be disabled. If unspecified, the system default value is + // used. + optional bool enabled = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Integration selector of the rule. The rule is only applied to + // the Integration selected by the selector. + IntegrationSelector integration_selector = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. Lineage enablement configuration. Defines configurations for + // the ingestion of lineage for the resource and its children. If + // unspecified, the ingestion will be enabled only if it was configured in + // the resource's parent. + LineageEnablement lineage_enablement = 3 + [(google.api.field_behavior) = REQUIRED]; + } + + // Optional. List of rules for Data Lineage ingestion. + repeated IngestionRule rules = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. The resource name of the config. + // Format: + // `organizations/{organization_id}/locations/global/config` + // `folders/{folder_id}/locations/global/config` + // `projects/{project_id}/locations/global/config` + // `projects/{project_number}/locations/global/config` + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Optional. Ingestion rule for Data Lineage ingestion. + Ingestion ingestion = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. `etag` is used for optimistic concurrency control as a way + // to help prevent simultaneous updates of a config from overwriting each + // other. It is required that systems make use of the `etag` in the + // read-modify-write cycle to perform config updates in order to avoid race + // conditions: An `etag` is returned in the response to `GetConfig`, and + // systems are expected to put that etag in the request to `UpdateConfig` to + // ensure that their change will be applied to the same version of the config. + // If an `etag` is not provided in the call to `UpdateConfig`, then the + // existing config, if any, will be overwritten. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetCredentialsProvider.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetCredentialsProvider.java new file mode 100644 index 000000000000..f2f8eb927e76 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetCredentialsProvider.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_Create_SetCredentialsProvider_sync] +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceSettings; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.myCredentials; + +public class SyncCreateSetCredentialsProvider { + + public static void main(String[] args) throws Exception { + syncCreateSetCredentialsProvider(); + } + + public static void syncCreateSetCredentialsProvider() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + ConfigManagementServiceSettings configManagementServiceSettings = + ConfigManagementServiceSettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + .build(); + ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create(configManagementServiceSettings); + } +} +// [END datalineage_v1_generated_ConfigManagementService_Create_SetCredentialsProvider_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetEndpoint.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetEndpoint.java new file mode 100644 index 000000000000..bc14abdcc544 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateSetEndpoint.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_Create_SetEndpoint_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceSettings; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.myEndpoint; + +public class SyncCreateSetEndpoint { + + public static void main(String[] args) throws Exception { + syncCreateSetEndpoint(); + } + + public static void syncCreateSetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + ConfigManagementServiceSettings configManagementServiceSettings = + ConfigManagementServiceSettings.newBuilder().setEndpoint(myEndpoint).build(); + ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create(configManagementServiceSettings); + } +} +// [END datalineage_v1_generated_ConfigManagementService_Create_SetEndpoint_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateUseHttpJsonTransport.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateUseHttpJsonTransport.java new file mode 100644 index 000000000000..45a5371924f1 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/create/SyncCreateUseHttpJsonTransport.java @@ -0,0 +1,41 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_Create_UseHttpJsonTransport_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceSettings; + +public class SyncCreateUseHttpJsonTransport { + + public static void main(String[] args) throws Exception { + syncCreateUseHttpJsonTransport(); + } + + public static void syncCreateUseHttpJsonTransport() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + ConfigManagementServiceSettings configManagementServiceSettings = + ConfigManagementServiceSettings.newHttpJsonBuilder().build(); + ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create(configManagementServiceSettings); + } +} +// [END datalineage_v1_generated_ConfigManagementService_Create_UseHttpJsonTransport_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/AsyncGetConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/AsyncGetConfig.java new file mode 100644 index 000000000000..425dc27bdfbe --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/AsyncGetConfig.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_GetConfig_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; + +public class AsyncGetConfig { + + public static void main(String[] args) throws Exception { + asyncGetConfig(); + } + + public static void asyncGetConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + GetConfigRequest request = + GetConfigRequest.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .build(); + ApiFuture future = + configManagementServiceClient.getConfigCallable().futureCall(request); + // Do something. + Config response = future.get(); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_GetConfig_async] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfig.java new file mode 100644 index 000000000000..88742637ba82 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfig.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_GetConfig_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest; + +public class SyncGetConfig { + + public static void main(String[] args) throws Exception { + syncGetConfig(); + } + + public static void syncGetConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + GetConfigRequest request = + GetConfigRequest.newBuilder() + .setName(ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString()) + .build(); + Config response = configManagementServiceClient.getConfig(request); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_GetConfig_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigConfigname.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigConfigname.java new file mode 100644 index 000000000000..ffe230c16cb7 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigConfigname.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_GetConfig_Configname_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName; + +public class SyncGetConfigConfigname { + + public static void main(String[] args) throws Exception { + syncGetConfigConfigname(); + } + + public static void syncGetConfigConfigname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + ConfigName name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]"); + Config response = configManagementServiceClient.getConfig(name); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_GetConfig_Configname_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigString.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigString.java new file mode 100644 index 000000000000..91f277c228a3 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/getconfig/SyncGetConfigString.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_GetConfig_String_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName; + +public class SyncGetConfigString { + + public static void main(String[] args) throws Exception { + syncGetConfigString(); + } + + public static void syncGetConfigString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + String name = ConfigName.ofProjectLocationName("[PROJECT]", "[LOCATION]").toString(); + Config response = configManagementServiceClient.getConfig(name); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_GetConfig_String_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/AsyncUpdateConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/AsyncUpdateConfig.java new file mode 100644 index 000000000000..62278299e6cb --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/AsyncUpdateConfig.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_UpdateConfig_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; + +public class AsyncUpdateConfig { + + public static void main(String[] args) throws Exception { + asyncUpdateConfig(); + } + + public static void asyncUpdateConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + UpdateConfigRequest request = + UpdateConfigRequest.newBuilder().setConfig(Config.newBuilder().build()).build(); + ApiFuture future = + configManagementServiceClient.updateConfigCallable().futureCall(request); + // Do something. + Config response = future.get(); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_UpdateConfig_async] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfig.java new file mode 100644 index 000000000000..ba3f650f944c --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfig.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_UpdateConfig_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest; + +public class SyncUpdateConfig { + + public static void main(String[] args) throws Exception { + syncUpdateConfig(); + } + + public static void syncUpdateConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + UpdateConfigRequest request = + UpdateConfigRequest.newBuilder().setConfig(Config.newBuilder().build()).build(); + Config response = configManagementServiceClient.updateConfig(request); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_UpdateConfig_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfigConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfigConfig.java new file mode 100644 index 000000000000..d09e0d10acf4 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservice/updateconfig/SyncUpdateConfigConfig.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementService_UpdateConfig_Config_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config; +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient; + +public class SyncUpdateConfigConfig { + + public static void main(String[] args) throws Exception { + syncUpdateConfigConfig(); + } + + public static void syncUpdateConfigConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (ConfigManagementServiceClient configManagementServiceClient = + ConfigManagementServiceClient.create()) { + Config config = Config.newBuilder().build(); + Config response = configManagementServiceClient.updateConfig(config); + } + } +} +// [END datalineage_v1_generated_ConfigManagementService_UpdateConfig_Config_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservicesettings/getconfig/SyncGetConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservicesettings/getconfig/SyncGetConfig.java new file mode 100644 index 000000000000..dd0f24d91a63 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/configmanagementservicesettings/getconfig/SyncGetConfig.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.samples; + +// [START datalineage_v1_generated_ConfigManagementServiceSettings_GetConfig_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceSettings; +import java.time.Duration; + +public class SyncGetConfig { + + public static void main(String[] args) throws Exception { + syncGetConfig(); + } + + public static void syncGetConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + ConfigManagementServiceSettings.Builder configManagementServiceSettingsBuilder = + ConfigManagementServiceSettings.newBuilder(); + configManagementServiceSettingsBuilder + .getConfigSettings() + .setRetrySettings( + configManagementServiceSettingsBuilder + .getConfigSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + ConfigManagementServiceSettings configManagementServiceSettings = + configManagementServiceSettingsBuilder.build(); + } +} +// [END datalineage_v1_generated_ConfigManagementServiceSettings_GetConfig_sync] diff --git a/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/configmanagementservicestubsettings/getconfig/SyncGetConfig.java b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/configmanagementservicestubsettings/getconfig/SyncGetConfig.java new file mode 100644 index 000000000000..6428a8c0c6d5 --- /dev/null +++ b/java-datalineage/samples/snippets/generated/com/google/cloud/datacatalog/lineage/configmanagement/v1/stub/configmanagementservicestubsettings/getconfig/SyncGetConfig.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 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.datacatalog.lineage.configmanagement.v1.stub.samples; + +// [START datalineage_v1_generated_ConfigManagementServiceStubSettings_GetConfig_sync] +import com.google.cloud.datacatalog.lineage.configmanagement.v1.stub.ConfigManagementServiceStubSettings; +import java.time.Duration; + +public class SyncGetConfig { + + public static void main(String[] args) throws Exception { + syncGetConfig(); + } + + public static void syncGetConfig() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + ConfigManagementServiceStubSettings.Builder configManagementServiceSettingsBuilder = + ConfigManagementServiceStubSettings.newBuilder(); + configManagementServiceSettingsBuilder + .getConfigSettings() + .setRetrySettings( + configManagementServiceSettingsBuilder + .getConfigSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + ConfigManagementServiceStubSettings configManagementServiceSettings = + configManagementServiceSettingsBuilder.build(); + } +} +// [END datalineage_v1_generated_ConfigManagementServiceStubSettings_GetConfig_sync]